SOFA plugin: MultiThreading  master
Open source framework for multi-physics simuation
sofa::simulation::CollisionAnimationLoop_mt Class Referenceabstract

#include <CollisionAnimationLoop_mt.h>

Component responsible for main simulation algorithms, managing how and when collisions and integrations computations happen. More...

Inheritance diagram for sofa::simulation::CollisionAnimationLoop_mt:

Detailed Description

Component responsible for main simulation algorithms, managing how and when collisions and integrations computations happen.

This class can optionally replace the default computation scheme of computing collisions then doing an integration step.

Note that it is in a preliminary stage, hence its functionalities and API will certainly change soon.

Public Member Functions

virtual void step (const core::ExecParams *params, double dt)=0
 

Static Public Member Functions

template<class T >
static T::SPtr create (T *, BaseContext *context, BaseObjectDescription *arg)
 Construction method called by ObjectFactory. More...
 

Protected Member Functions

 CollisionAnimationLoop_mt (simulation::Node *gnode)
 
virtual ~CollisionAnimationLoop_mt ()
 

Visitors

These methods provides an abstract view of the mechanical system to animate. They are implemented by executing Visitors in the subtree of the scene-graph below this solver.

typedef simulation::Node::Sequence< core::behavior::OdeSolverSolvers
 
typedef core::collision::Pipeline Pipeline
 
simulation::Nodegnode
 
virtual void collisionReset (const core::ExecParams *params=core::execparams::defaultInstance())
 Activate collision pipeline. More...
 
virtual void collisionCompute (const core::ExecParams *params=core::execparams::defaultInstance())
 
virtual void collisionResponse (const core::ExecParams *params=core::execparams::defaultInstance())
 
virtual void integrate (const core::ExecParams *params, double dt)
 Activate OdeSolvers. More...
 
const SolversgetSolverSequence ()
 

Attribute details

◆ gnode

simulation::Node* sofa::simulation::CollisionAnimationLoop_mt::gnode
protected

Constructor details

◆ CollisionAnimationLoop_mt()

sofa::simulation::CollisionAnimationLoop_mt::CollisionAnimationLoop_mt ( simulation::Node gnode)
protected

◆ ~CollisionAnimationLoop_mt()

sofa::simulation::CollisionAnimationLoop_mt::~CollisionAnimationLoop_mt ( )
protectedvirtual

Function details

◆ collisionCompute()

void sofa::simulation::CollisionAnimationLoop_mt::collisionCompute ( const core::ExecParams params = core::execparams::defaultInstance())
protectedvirtual

◆ collisionReset()

void sofa::simulation::CollisionAnimationLoop_mt::collisionReset ( const core::ExecParams params = core::execparams::defaultInstance())
protectedvirtual

Activate collision pipeline.

◆ collisionResponse()

void sofa::simulation::CollisionAnimationLoop_mt::collisionResponse ( const core::ExecParams params = core::execparams::defaultInstance())
protectedvirtual

◆ create()

template<class T >
static T::SPtr sofa::simulation::CollisionAnimationLoop_mt::create ( T *  ,
BaseContext *  context,
BaseObjectDescription *  arg 
)
inlinestatic

Construction method called by ObjectFactory.

◆ getSolverSequence()

const CollisionAnimationLoop_mt::Solvers & sofa::simulation::CollisionAnimationLoop_mt::getSolverSequence ( )
protected

◆ integrate()

void sofa::simulation::CollisionAnimationLoop_mt::integrate ( const core::ExecParams params,
double  dt 
)
protectedvirtual

Activate OdeSolvers.

◆ step()

virtual void sofa::simulation::CollisionAnimationLoop_mt::step ( const core::ExecParams params,
double  dt 
)
pure virtual