Computer Assisted Medical Intervention Tool Kit  version 5.2
Simulator Class Referenceabstract

A simulator engine is used to compute the displacements of all atoms of the model. More...

#include <Simulator.h>

+ Inheritance diagram for Simulator:
+ Collaboration diagram for Simulator:

Public Member Functions

virtual void createPml (const char *inputFile, const char *pmlFile)=0
 Create a pml file from a simulator specific imput file. More...
 
virtual void end ()=0
 end simultor More...
 
virtual void getForce (int index, double force[3])=0
 get current force for one atom More...
 
virtual void getPosition (int index, double position[3])=0
 get current position for one atom More...
 
virtual void init ()=0
 initialize the simulator More...
 
 Simulator (MonitoringManager *monitoringManager)
 default constructor build a simulation from context provided by monitoringManager More...
 
 Simulator (MonitoringManager *monitoringManager, const char *file)
 constructor with simulator file build a simulation from context provided by monitoringManager and physical model provided by a simulator specific input file More...
 
void updatePositions ()
 update all current positions and store last positions More...
 
virtual ~Simulator ()=default
 destructor More...
 

Protected Attributes

MonitoringManagermonitoringManager
 monitoring manager More...
 

Detailed Description

A simulator engine is used to compute the displacements of all atoms of the model.

Constructor & Destructor Documentation

◆ Simulator() [1/2]

Simulator::Simulator ( MonitoringManager monitoringManager)

default constructor build a simulation from context provided by monitoringManager

Parameters
monitoringManagermanager provinding context of simulation

References monitoringManager.

◆ Simulator() [2/2]

Simulator::Simulator ( MonitoringManager monitoringManager,
const char *  file 
)

constructor with simulator file build a simulation from context provided by monitoringManager and physical model provided by a simulator specific input file

Parameters
monitoringManagermanager provinding context of simulation
filepath to simulator specific file

References monitoringManager.

◆ ~Simulator()

virtual Simulator::~Simulator ( )
virtualdefault

destructor

Member Function Documentation

◆ createPml()

virtual void Simulator::createPml ( const char *  inputFile,
const char *  pmlFile 
)
pure virtual

Create a pml file from a simulator specific imput file.

Implemented in NonInteractiveSimulator, InteractiveSimulator, SofaSimulator, ArtisynthSimulator, and AnsysSimulator.

◆ end()

virtual void Simulator::end ( )
pure virtual

◆ getForce()

virtual void Simulator::getForce ( int  index,
double  force[3] 
)
pure virtual

get current force for one atom

Implemented in SofaSimulator, ArtisynthSimulator, and AnsysSimulator.

Referenced by MonitorForce::calculate().

+ Here is the caller graph for this function:

◆ getPosition()

virtual void Simulator::getPosition ( int  index,
double  position[3] 
)
pure virtual

get current position for one atom

Implemented in NonInteractiveSimulator, InteractiveSimulator, SofaSimulator, ArtisynthSimulator, and AnsysSimulator.

Referenced by updatePositions().

+ Here is the caller graph for this function:

◆ init()

virtual void Simulator::init ( )
pure virtual

◆ updatePositions()

void Simulator::updatePositions ( )

update all current positions and store last positions

References PhysicalModel::getAtom(), PhysicalModel::getAtoms(), Structure::getIndex(), MonitoringManager::getPml(), getPosition(), StructuralComponent::getStructure(), monitoringManager, Atom::setPosition(), and MonitoringManager::storeOldPositions().

Referenced by InteractiveMonitoringManager::doMove(), NonInteractiveMonitoringManager::doMove(), InteractiveMonitoringManager::init(), and NonInteractiveMonitoringManager::init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ monitoringManager

MonitoringManager* Simulator::monitoringManager
protected

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