iMSTK
Interactive Medical Simulation Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
imstk::AbstractDynamicalModel Class Referenceabstract

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

#include <imstkAbstractDynamicalModel.h>

Inheritance diagram for imstk::AbstractDynamicalModel:
Inheritance graph
[legend]

Public Types

enum  StateUpdateType {
  Displacement, Velocity, DeltaDisplacement, DeltaVelocity,
  None
}
 Type of the update of the state of the body.
 

Public Member Functions

virtual void resetToInitialState ()=0
 Reset the current state to the initial state.
 
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 Member Functions

 AbstractDynamicalModel (DynamicalModelType type=DynamicalModelType::None)
 
virtual void initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink)
 Setup connectivity of the compute graph.
 

Protected Attributes

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
 

Detailed Description

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

Definition at line 45 of file imstkAbstractDynamicalModel.h.


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