Testing class used to publicly expose PhysicsManager's protected member functions.
More...
|
bool | executeAdditions (const std::shared_ptr< SurgSim::Framework::Component > &component) override |
| Adds a component. More...
|
|
bool | executeRemovals (const std::shared_ptr< SurgSim::Framework::Component > &component) override |
| Handle representations, override for each thread. More...
|
|
bool | doInitialize () override |
| Initialize the Physics Manager Derived class(es) should override this method to have a customized list of computations. More...
|
|
bool | doStartUp () override |
|
virtual bool | doUpdate (double dt) |
| Implementation of actual work function for this thread, this has a default implementation to handle destruction better, as it could be called while the thread is under destruction, if left unimplemented this would trigger a call to a pure virtual function. More...
|
|
| PhysicsManager () |
| Constructor.
|
|
int | getType () const override |
| Overrides ComponentManager::getType()
|
|
void | getFinalState (SurgSim::Physics::PhysicsManagerState *s) const |
| Get the last PhysicsManagerState from the previous PhysicsManager update. More...
|
|
void | addComputation (std::shared_ptr< SurgSim::Physics::Computation > computation) |
| Add a computation to the list of computations to perform each update. More...
|
|
void | setComputations (std::vector< std::shared_ptr< Physics::Computation >> computations) |
| Set a group of computations, the computations will be run in the order in the vector. More...
|
|
| ComponentManager (const std::string &name="Unknown Component Manager") |
|
bool | enqueueAddComponent (const std::shared_ptr< Component > &component) |
| Queues a component to be added later. More...
|
|
bool | enqueueRemoveComponent (const std::shared_ptr< Component > &component) |
| Queues a component to be removed. More...
|
|
std::shared_ptr< Runtime > | getRuntime () const |
|
void | setRuntime (std::shared_ptr< Runtime > val) |
|
| BasicThread (const std::string &name="Unknown Thread") |
|
virtual | ~BasicThread () noexcept(false) |
| C++11 introduced noexcept.
|
|
void | start (std::shared_ptr< Barrier > startupBarrier=nullptr, bool isSynchronous=false) |
| Live cycle functions, public implementation. More...
|
|
void | stop () |
| Stopping the execution, blocks until the running thread has actually stopped,. More...
|
|
void | setIdle (bool isIdle) |
| Set/Unset the thread in an idle state (doUpdate() called or not in the update() method) More...
|
|
bool | isIdle () |
| Query if this thread is in idle state or not. More...
|
|
bool | isInitialized () |
| Query if this object is initialized. More...
|
|
bool | isRunning () const |
| Query if this object is running. More...
|
|
void | operator() () |
| This is what boost::thread executes on thread creation.
|
|
boost::thread & | getThread () |
|
std::string | getName () const |
|
void | setRate (double val) |
| Set the update rate of the thread. More...
|
|
bool | setSynchronous (bool val) |
| Sets the thread to synchronized execution in concert with the startup barrier, the startup barrier has to exist for this call to succeed. More...
|
|
bool | isSynchronous () |
| Query if this object is synchronized. More...
|
|
double | getCpuTime () const |
|
size_t | getUpdateCount () const |
|
void | resetCpuTimeAndUpdateCount () |
| Reset the cpu time and the update count to 0.
|
|
bool | ignoresExceptions () const |
|
void | setIgnoreExceptions (bool val) |
|
|
void | doBeforeStop () override |
| Prepares the thread for its execution to be stopped. More...
|
|
template<class T > |
std::shared_ptr< T > | tryAddComponent (std::shared_ptr< SurgSim::Framework::Component > component, std::vector< std::shared_ptr< T >> *container) |
| Template version of the addComponent method. More...
|
|
template<class T > |
bool | tryRemoveComponent (std::shared_ptr< SurgSim::Framework::Component > component, std::vector< std::shared_ptr< T >> *container) |
| Template version of the removeComponent method. More...
|
|
void | processComponents () |
| Processes all the components that are scheduled for addition or removal, this needs to be called inside the doUpdate() function. More...
|
|
void | processBehaviors (const double dt) |
| Processes behaviors This needs to be called inside doUpdate() function in each 'sub' manager. More...
|
|
void | copyScheduledComponents (std::vector< std::shared_ptr< Component >> *inflightAdditions, std::vector< std::shared_ptr< Component >> *inflightRemovals, std::vector< std::shared_ptr< SceneElement >> *inflightElements) |
| Helper, blocks access to the additions and removal queue and copies the components from there to the intermediate inflight queues, after this call, the incoming queues will be empty. More...
|
|
std::shared_ptr< SurgSim::Framework::Logger > | getLogger () const |
| Returns this manager's logger.
|
|
template<class T > |
void | retireComponents (const std::vector< std::shared_ptr< T >> &container) |
|
bool | initialize () |
| Trigger the initialization of this object, this will be called before all other threads doStartup() are called. More...
|
|
bool | startUp () |
| Trigger the startup of this object, this will be called after all other threads doInit() was called the thread will only enter the run loop triggering upated() if all threads doInit() and doStartup() returned true. More...
|
|
bool | waitForBarrier (bool success) |
|
std::vector< std::shared_ptr< Representation > > | m_representations |
|
std::vector< std::shared_ptr< Collision::Representation > > | m_collisionRepresentations |
|
std::vector< std::shared_ptr< Collision::ContactFilter > > | m_contactFilters |
|
std::vector< std::shared_ptr< Particles::Representation > > | m_particleRepresentations |
|
std::vector< std::shared_ptr< ConstraintComponent > > | m_constraintComponents |
|
std::vector< std::shared_ptr< SurgSim::Physics::Computation > > | m_computations |
| A list of computations, to perform the physics update.
|
|
SurgSim::Framework::LockedContainer< SurgSim::Physics::PhysicsManagerState > | m_finalState |
| A thread-safe copy of the last PhysicsManagerState in the previous update.
|
|
boost::mutex | m_componentMutex |
| Blocks protects addition and removal queues.
|
|
std::vector< std::shared_ptr< SurgSim::Framework::Behavior > > | m_behaviors |
| Collection of behaviors.
|
|
std::vector< std::shared_ptr< Component > > | m_componentAdditions |
|
std::vector< std::shared_ptr< Component > > | m_componentRemovals |
|
std::vector< std::shared_ptr< SceneElement > > | m_elementCache |
|
Timer | m_timer |
| Timer to measure the actual time taken to doUpdate.
|
|
std::shared_ptr< SurgSim::Framework::Logger > | m_logger |
| Logger for this thread.
|
|
Testing class used to publicly expose PhysicsManager's protected member functions.