All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
SurgSim::Physics::Computation Class Referenceabstract

Encapsulates a calculation over a selection of objects, needs to be subclassed to be used. More...

#include <SurgSim/Physics/Computation.h>

Inheritance diagram for SurgSim::Physics::Computation:
Inheritance graph
[legend]

Public Member Functions

 Computation (bool doCopyState)
 Constructor. More...
 
virtual ~Computation ()
 Destructor. More...
 
std::shared_ptr
< PhysicsManagerState
update (double dt, const std::shared_ptr< PhysicsManagerState > &state)
 Public Interface execute this objects computations, dt is the time from the last update call in seconds. More...
 
void setDoCopyState (bool val)
 Sets up whether the computation will copy the state of PhysicsManagerState before executing. More...
 
bool isCopyingState ()
 Query if this object is copying the PhysicsManagerState. More...
 

Protected Member Functions

virtual std::shared_ptr
< PhysicsManagerState
doUpdate (const double &dt, const std::shared_ptr< PhysicsManagerState > &state)=0
 Override this function to implement the computations specific behavior. More...
 

Private Member Functions

std::shared_ptr
< PhysicsManagerState
preparePhysicsState (const std::shared_ptr< PhysicsManagerState > &state)
 Copy the PhysicsManagerState object when isCopyingState() is true. More...
 

Private Attributes

bool m_copyState
 

Detailed Description

Encapsulates a calculation over a selection of objects, needs to be subclassed to be used.

Constructor & Destructor Documentation

SurgSim::Physics::Computation::Computation ( bool  doCopyState)
explicit

Constructor.

Parameters
doCopyStateSpecify if the output state in Computation::Update() is a copy or not of the input state
SurgSim::Physics::Computation::~Computation ( )
virtual

Destructor.

Member Function Documentation

virtual std::shared_ptr<PhysicsManagerState> SurgSim::Physics::Computation::doUpdate ( const double &  dt,
const std::shared_ptr< PhysicsManagerState > &  state 
)
protectedpure virtual
bool SurgSim::Physics::Computation::isCopyingState ( )

Query if this object is copying the PhysicsManagerState.

Returns
true if copying the state, false if not.
std::shared_ptr< PhysicsManagerState > SurgSim::Physics::Computation::preparePhysicsState ( const std::shared_ptr< PhysicsManagerState > &  state)
private

Copy the PhysicsManagerState object when isCopyingState() is true.

void SurgSim::Physics::Computation::setDoCopyState ( bool  val)

Sets up whether the computation will copy the state of PhysicsManagerState before executing.

Parameters
valWhether to create a copy of the PhysicsState before running the update fuction.
std::shared_ptr< PhysicsManagerState > SurgSim::Physics::Computation::update ( double  dt,
const std::shared_ptr< PhysicsManagerState > &  state 
)

Public Interface execute this objects computations, dt is the time from the last update call in seconds.

Parameters
dtThe time passed from the last update in seconds.
stateThe physics state.
Returns
The changed state of the, depending on the setting of doCopyState this is either the same instance or a copied instance of the physics state.

Member Data Documentation

bool SurgSim::Physics::Computation::m_copyState
private

The documentation for this class was generated from the following files: