| 843 | |
| 844 | template<typename T> |
| 845 | void 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 | |
| 873 | template<typename T, typename S> |
| 874 | void Scb::Scene::processSimUpdates(S*const * scObjects, PxU32 nbObjects) |
nothing calls this directly
no test coverage detected