MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / processUserUpdates

Method processUserUpdates

physx/source/physx/src/buffering/ScbScene.cpp:845–871  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

843
844template<typename T>
845void Scb::Scene::processUserUpdates(ObjectTracker &tracker)
846{
847#if PX_SUPPORT_PVD
848 bool isPvdValid = mScenePvdClient.checkPvdDebugFlag();
849#endif
850 Base*const * buffered = tracker.getBuffered();
851 for(PxU32 i=0; i < tracker.getBufferedCount(); i++)
852 {
853 T& v = *static_cast<T*>(buffered[i]);
854 if (v.getControlState() == ControlState::eINSERT_PENDING)
855 {
856 ScSceneFns<T>::insert(mScene, v, NULL, NULL);
857#if PX_SUPPORT_PVD
858 if(isPvdValid)
859 PvdFns<T>::createInstance(*this, mScenePvdClient, &v);
860#endif
861 }
862 else if(v.getControlFlags() & ControlFlag::eIS_UPDATED)
863 {
864 v.syncState();
865#if PX_SUPPORT_PVD
866 if(isPvdValid)
867 PvdFns<T>::updateInstance(*this, mScenePvdClient, &v);
868#endif
869 }
870 }
871}
872
873template<typename T, typename S>
874void Scb::Scene::processSimUpdates(S*const * scObjects, PxU32 nbObjects)

Callers

nothing calls this directly

Calls 4

checkPvdDebugFlagMethod · 0.80
getBufferedMethod · 0.80
getBufferedCountMethod · 0.80
syncStateMethod · 0.45

Tested by

no test coverage detected