iMSTK
Interactive Medical Simulation Toolkit
Public Member Functions | Protected Attributes | List of all members
imstk::DynamicalModel< StateType > Class Template Reference

Base class for mathematical model of the physics governing the dynamic object. More...

#include <imstkDynamicalModel.h>

Inheritance diagram for imstk::DynamicalModel< StateType >:
Inheritance graph
[legend]
Collaboration diagram for imstk::DynamicalModel< StateType >:
Collaboration graph
[legend]

Public Member Functions

 DynamicalModel (DynamicalModelType type=DynamicalModelType::None)
 
std::shared_ptr< StateType > getInitialState () const
 Return the initial state of the problem.
 
std::shared_ptr< StateType > getCurrentState () const
 Return the current state of the problem.
 
std::shared_ptr< StateType > getPreviousState () const
 Return the previous state of the problem.
 
void resetToInitialState () override
 Reset the current state to the initial state.
 
- Public Member Functions inherited from imstk::AbstractDynamicalModel
std::shared_ptr< TaskGraphgetTaskGraph () const
 
const DynamicalModelTypegetType () const
 Get the type of the object.
 
virtual void updatePhysicsGeometry ()
 Update the geometry of the model.
 
virtual void setTimeStep (const double timeStep)=0
 Set the time step size.
 
void setModelGeometry (std::shared_ptr< Geometry > geometry)
 Sets the model geometry.
 
bool isGeometryValid (const std::shared_ptr< Geometry > geometry)
 Checks if the given geometry is a valid geometry type for the model.
 
std::shared_ptr< GeometrygetModelGeometry () const
 Gets the model geometry.
 
virtual double getTimeStep () const =0
 Returns the time step size.
 
virtual bool initialize ()=0
 Initialize the dynamical model.
 
void initGraphEdges ()
 Initializes the edges of the graph.
 
std::size_t getNumDegreeOfFreedom () const
 Get/Set the number of degrees of freedom.
 
void setNumDegreeOfFreedom (const size_t nDof)
 
virtual void setTimeStepSizeType (const TimeSteppingType type)
 Get/Set the type of approach used to update the time step size after every frame.
 
TimeSteppingType getTimeStepSizeType () const
 

Protected Attributes

std::shared_ptr< StateType > m_initialState
 Initial state.
 
std::shared_ptr< StateType > m_currentState
 Current state.
 
std::shared_ptr< StateType > m_previousState
 Previous state.
 
- Protected Attributes inherited from imstk::AbstractDynamicalModel
DynamicalModelType m_type
 Mathematical model type.
 
std::size_t m_numDof
 Total number of degree of freedom.
 
std::shared_ptr< Geometrym_geometry = nullptr
 Physics geometry of the model.
 
std::set< std::string > m_validGeometryTypes
 Valid geometry types of this model.
 
TimeSteppingType m_timeStepSizeType = TimeSteppingType::Fixed
 
std::shared_ptr< TaskGraphm_taskGraph = nullptr
 

Additional Inherited Members

- Public Types inherited from imstk::AbstractDynamicalModel
enum  StateUpdateType {
  Displacement, Velocity, DeltaDisplacement, DeltaVelocity,
  None
}
 Type of the update of the state of the body.
 
- Protected Member Functions inherited from imstk::AbstractDynamicalModel
 AbstractDynamicalModel (DynamicalModelType type=DynamicalModelType::None)
 
virtual void initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink)
 Setup connectivity of the compute graph.
 

Detailed Description

template<class StateType>
class imstk::DynamicalModel< StateType >

Base class for mathematical model of the physics governing the dynamic object.

Definition at line 20 of file imstkDynamicalModel.h.


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