SOFA API  ca665544
Open source framework for multi-physics simuation
sofa::simulation::BaseMechanicalVisitor Class Reference

#include <BaseMechanicalVisitor.h>

Inheritance diagram for sofa::simulation::BaseMechanicalVisitor:

Detailed Description

Base class for easily creating new actions for mechanical simulation.

During the first traversal (top-down), method processNodeTopDown(simulation::Node*) is applied to each simulation::Node. Each component attached to this node is processed using the appropriate method, prefixed by fwd. During the second traversal (bottom-up), method processNodeBottomUp(simulation::Node*) is applied to each simulation::Node. Each component attached to this node is processed using the appropriate method, prefixed by bwd. The default behavior of the fwd* and bwd* is to do nothing. Derived actions typically overload these methods to implement the desired processing.

Protected Attributes

simulation::Noderoot
 root node from which the visitor was executed More...
 
SRealrootData { nullptr }
 data for root node More...
 
- Protected Attributes inherited from sofa::simulation::Visitor
const sofa::core::ExecParamsparams
 

Public Member Functions

 BaseMechanicalVisitor (const sofa::core::ExecParams *params)
 
virtual bool readNodeData () const =delete
 
virtual bool writeNodeData () const =delete
 
virtual void setNodeData (simulation::Node *, SReal *, const SReal *)=delete
 
virtual void addNodeData (simulation::Node *, SReal *, const SReal *)=delete
 
const chargetClassName () const override
 
const chargetCategoryName () const override
 
virtual bool stopAtMechanicalMapping (simulation::Node *, sofa::core::BaseMapping *map)
 
Forward processing

Methods called during the forward (top-down) traversal of the data structure. Method processNodeTopDown(simulation::Node*) calls the fwd* methods in the order given here. When there is a mapping, it is processed first, then method fwdMappedMechanicalState is applied to the BaseMechanicalState. When there is no mapping, the BaseMechanicalState is processed first using method fwdMechanicalState. Then, the other fwd* methods are applied in the given order.

Result processNodeTopDown (simulation::Node *node) override
 This method calls the fwd* methods during the forward traversal. You typically do not overload it. More...
 
virtual Result processNodeTopDown (simulation::Node *node, LocalStorage *stack) override=delete
 
virtual Result fwdOdeSolver (simulation::Node *, sofa::core::behavior::OdeSolver *)
 Process the OdeSolver. More...
 
virtual Result fwdOdeSolver (VisitorContext *ctx, sofa::core::behavior::OdeSolver *solver)
 Process the OdeSolver. More...
 
virtual Result fwdConstraintSolver (simulation::Node *, sofa::core::behavior::ConstraintSolver *)
 Process the ConstraintSolver. More...
 
virtual Result fwdConstraintSolver (VisitorContext *ctx, sofa::core::behavior::ConstraintSolver *solver)
 Process the ConstraintSolver. More...
 
virtual Result fwdMechanicalMapping (simulation::Node *, sofa::core::BaseMapping *)
 Process the BaseMechanicalMapping. More...
 
virtual Result fwdMechanicalMapping (VisitorContext *ctx, sofa::core::BaseMapping *map)
 Process the BaseMechanicalMapping. More...
 
virtual Result fwdMappedMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *)
 Process the BaseMechanicalState if it is mapped from the parent level. More...
 
virtual Result fwdMappedMechanicalState (VisitorContext *ctx, sofa::core::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState if it is mapped from the parent level. More...
 
virtual Result fwdMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *)
 Process the BaseMechanicalState if it is not mapped from the parent level. More...
 
virtual Result fwdMechanicalState (VisitorContext *ctx, sofa::core::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState if it is not mapped from the parent level. More...
 
virtual Result fwdMass (simulation::Node *, sofa::core::behavior::BaseMass *)
 Process the BaseMass. More...
 
virtual Result fwdMass (VisitorContext *ctx, sofa::core::behavior::BaseMass *mass)
 Process the BaseMass. More...
 
virtual Result fwdForceField (simulation::Node *, sofa::core::behavior::BaseForceField *)
 Process all the BaseForceField. More...
 
virtual Result fwdForceField (VisitorContext *ctx, sofa::core::behavior::BaseForceField *ff)
 Process all the BaseForceField. More...
 
virtual Result fwdInteractionForceField (simulation::Node *node, sofa::core::behavior::BaseInteractionForceField *ff)
 Process all the InteractionForceField. More...
 
virtual Result fwdInteractionForceField (VisitorContext *ctx, sofa::core::behavior::BaseInteractionForceField *ff)
 Process all the InteractionForceField. More...
 
virtual Result fwdProjectiveConstraintSet (simulation::Node *, sofa::core::behavior::BaseProjectiveConstraintSet *)
 Process all the BaseProjectiveConstraintSet. More...
 
virtual Result fwdConstraintSet (simulation::Node *, sofa::core::behavior::BaseConstraintSet *)
 Process all the BaseConstraintSet. More...
 
virtual Result fwdProjectiveConstraintSet (VisitorContext *ctx, sofa::core::behavior::BaseProjectiveConstraintSet *c)
 Process all the BaseProjectiveConstraintSet. More...
 
virtual Result fwdConstraintSet (VisitorContext *ctx, sofa::core::behavior::BaseConstraintSet *c)
 Process all the BaseConstraintSet. More...
 
virtual Result fwdInteractionProjectiveConstraintSet (simulation::Node *, sofa::core::behavior::BaseInteractionProjectiveConstraintSet *)
 Process all the InteractionConstraint. More...
 
virtual Result fwdInteractionConstraint (simulation::Node *, sofa::core::behavior::BaseInteractionConstraint *)
 Process all the InteractionConstraint. More...
 
virtual Result fwdInteractionProjectiveConstraintSet (VisitorContext *ctx, sofa::core::behavior::BaseInteractionProjectiveConstraintSet *c)
 Process all the InteractionConstraint. More...
 
virtual Result fwdInteractionConstraint (VisitorContext *ctx, sofa::core::behavior::BaseInteractionConstraint *c)
 Process all the InteractionConstraint. More...
 
Backward processing

Methods called during the backward (bottom-up) traversal of the data structure. Method processNodeBottomUp(simulation::Node*) calls the bwd* methods. When there is a mapping, method bwdMappedMechanicalState is applied to the BaseMechanicalState. When there is no mapping, the BaseMechanicalState is processed using method bwdMechanicalState. Finally, the mapping (if any) is processed using method bwdMechanicalMapping.

void processNodeBottomUp (simulation::Node *node) override
 This method calls the bwd* methods during the backward traversal. You typically do not overload it. More...
 
virtual void processNodeBottomUp (simulation::Node *node, LocalStorage *stack) override=delete
 
virtual void bwdMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *)
 Process the BaseMechanicalState when it is not mapped from parent level. More...
 
virtual void bwdMechanicalState (VisitorContext *ctx, sofa::core::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState when it is not mapped from parent level. More...
 
virtual void bwdMappedMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *)
 Process the BaseMechanicalState when it is mapped from parent level. More...
 
virtual void bwdMappedMechanicalState (VisitorContext *ctx, sofa::core::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState when it is mapped from parent level. More...
 
virtual void bwdMechanicalMapping (simulation::Node *, sofa::core::BaseMapping *)
 Process the BaseMechanicalMapping. More...
 
virtual void bwdMechanicalMapping (VisitorContext *ctx, sofa::core::BaseMapping *map)
 Process the BaseMechanicalMapping. More...
 
virtual void bwdOdeSolver (simulation::Node *, sofa::core::behavior::OdeSolver *)
 Process the OdeSolver. More...
 
virtual void bwdOdeSolver (VisitorContext *ctx, sofa::core::behavior::OdeSolver *solver)
 Process the OdeSolver. More...
 
virtual void bwdConstraintSolver (simulation::Node *, sofa::core::behavior::ConstraintSolver *)
 Process the ConstraintSolver. More...
 
virtual void bwdConstraintSolver (VisitorContext *ctx, sofa::core::behavior::ConstraintSolver *solver)
 Process the ConstraintSolver. More...
 
virtual void bwdProjectiveConstraintSet (simulation::Node *, sofa::core::behavior::BaseProjectiveConstraintSet *)
 Process all the BaseProjectiveConstraintSet. More...
 
virtual void bwdConstraintSet (simulation::Node *, sofa::core::behavior::BaseConstraintSet *)
 Process all the BaseConstraintSet. More...
 
virtual void bwdProjectiveConstraintSet (VisitorContext *ctx, sofa::core::behavior::BaseProjectiveConstraintSet *c)
 Process all the BaseProjectiveConstraintSet. More...
 
virtual void bwdConstraintSet (VisitorContext *ctx, sofa::core::behavior::BaseConstraintSet *c)
 Process all the BaseConstraintSet. More...
 
- Public Member Functions inherited from sofa::simulation::Visitor
 Visitor (const sofa::core::ExecParams *params)
 
virtual ~Visitor ()
 
const sofa::core::ExecParamsexecParams () const
 
virtual bool childOrderReversed (simulation::Node *)
 Return true to reverse the order of traversal of child nodes. More...
 
virtual bool treeTraversal (TreeTraversalRepetition &repeat)
 
virtual std::string getInfos () const
 
bool testTags (sofa::core::objectmodel::BaseObject *obj)
 
virtual void execute (sofa::core::objectmodel::BaseContext *node, bool precomputedOrder=false)
 Alias for context->executeVisitor(this) More...
 
virtual ctime_t begin (simulation::Node *node, sofa::core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
virtual void end (simulation::Node *node, sofa::core::objectmodel::BaseObject *obj, ctime_t t0)
 
virtual ctime_t begin (simulation::Visitor::VisitorContext *node, sofa::core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
virtual void end (simulation::Visitor::VisitorContext *node, sofa::core::objectmodel::BaseObject *obj, ctime_t t0)
 
virtual bool isThreadSafe () const
 Specify whether this visitor can be parallelized. More...
 
VisitorsetTags (const TagSet &t)
 
VisitoraddTag (Tag t)
 
VisitorremoveTag (Tag t)
 
template<class VisitorType , class VContext , class Container , typename PointedType >
void for_each (VisitorType *visitor, VContext *ctx, const Container &list, void(VisitorType::*task)(VContext *, PointedType *), const std::string &typeInfo)
 
template<class VisitorType , class VContext , class Container , typename PointedType >
Visitor::Result for_each (VisitorType *visitor, VContext *ctx, const Container &list, Visitor::Result(VisitorType::*task)(VContext *, PointedType *), const std::string &typeInfo)
 

Protected Member Functions

virtual Result processNodeTopDown (simulation::Node *node, VisitorContext *ctx)
 
virtual void processNodeBottomUp (simulation::Node *node, VisitorContext *ctx)
 
- Protected Member Functions inherited from sofa::simulation::Visitor
void debug_write_state_before (sofa::core::objectmodel::BaseObject *obj)
 
void debug_write_state_after (sofa::core::objectmodel::BaseObject *obj)
 
template<class VisitorType , class VContext , class ObjectType >
void runVisitorTask (VisitorType *visitor, VContext *ctx, void(VisitorType::*task)(VContext *, ObjectType *), ObjectType *ptr, const std::string &typeInfo=std::string("type"))
 
template<class VisitorType , class VContext , class ObjectType >
Result runVisitorTask (VisitorType *visitor, VContext *ctx, Result(VisitorType::*task)(VContext *, ObjectType *), ObjectType *ptr, const std::string &typeInfo=std::string("type"))
 
template<class Visit , class VContext , class Container , typename PointedType = typename Container::pointed_type>
void for_each (Visit *visitor, VContext *ctx, const Container &list, void(Visit::*task)(VContext *, PointedType *), const std::string &typeInfo=std::string("type"))
 
template<class Visit , class VContext , class Container , typename PointedType = typename Container::pointed_type>
Visitor::Result for_each (Visit *visitor, VContext *ctx, const Container &list, Visitor::Result(Visit::*task)(VContext *, PointedType *), const std::string &typeInfo=std::string("type"))
 

Additional Inherited Members

- Public Attributes inherited from sofa::simulation::Visitor
TagSet subsetsToManage
 list of the subsets More...
 
bool canAccessSleepingNode
 Can the visitor access sleeping nodes? More...
 

Attribute details

◆ root

simulation::Node* sofa::simulation::BaseMechanicalVisitor::root
protected

root node from which the visitor was executed

◆ rootData

SReal* sofa::simulation::BaseMechanicalVisitor::rootData { nullptr }
protected

data for root node

Constructor details

◆ BaseMechanicalVisitor()

sofa::simulation::BaseMechanicalVisitor::BaseMechanicalVisitor ( const sofa::core::ExecParams params)

Function details

◆ addNodeData()

virtual void sofa::simulation::BaseMechanicalVisitor::addNodeData ( simulation::Node ,
SReal ,
const SReal  
)
virtualdelete

◆ bwdConstraintSet() [1/2]

void sofa::simulation::BaseMechanicalVisitor::bwdConstraintSet ( simulation::Node ,
sofa::core::behavior::BaseConstraintSet  
)
virtual

Process all the BaseConstraintSet.

◆ bwdConstraintSet() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdConstraintSet ( VisitorContext ctx,
sofa::core::behavior::BaseConstraintSet c 
)
virtual

Process all the BaseConstraintSet.

◆ bwdConstraintSolver() [1/2]

void sofa::simulation::BaseMechanicalVisitor::bwdConstraintSolver ( simulation::Node ,
sofa::core::behavior::ConstraintSolver  
)
virtual

Process the ConstraintSolver.

◆ bwdConstraintSolver() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdConstraintSolver ( VisitorContext ctx,
sofa::core::behavior::ConstraintSolver solver 
)
virtual

Process the ConstraintSolver.

◆ bwdMappedMechanicalState() [1/2]

void sofa::simulation::BaseMechanicalVisitor::bwdMappedMechanicalState ( simulation::Node ,
sofa::core::behavior::BaseMechanicalState  
)
virtual

Process the BaseMechanicalState when it is mapped from parent level.

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalIdentityBlocksInJacobianVisitor.

◆ bwdMappedMechanicalState() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdMappedMechanicalState ( VisitorContext ctx,
sofa::core::behavior::BaseMechanicalState mm 
)
virtual

Process the BaseMechanicalState when it is mapped from parent level.

◆ bwdMechanicalMapping() [1/2]

◆ bwdMechanicalMapping() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdMechanicalMapping ( VisitorContext ctx,
sofa::core::BaseMapping map 
)
virtual

Process the BaseMechanicalMapping.

◆ bwdMechanicalState() [1/2]

◆ bwdMechanicalState() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdMechanicalState ( VisitorContext ctx,
sofa::core::behavior::BaseMechanicalState mm 
)
virtual

Process the BaseMechanicalState when it is not mapped from parent level.

◆ bwdOdeSolver() [1/2]

void sofa::simulation::BaseMechanicalVisitor::bwdOdeSolver ( simulation::Node ,
sofa::core::behavior::OdeSolver  
)
virtual

Process the OdeSolver.

◆ bwdOdeSolver() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdOdeSolver ( VisitorContext ctx,
sofa::core::behavior::OdeSolver solver 
)
virtual

Process the OdeSolver.

◆ bwdProjectiveConstraintSet() [1/2]

void sofa::simulation::BaseMechanicalVisitor::bwdProjectiveConstraintSet ( simulation::Node ,
sofa::core::behavior::BaseProjectiveConstraintSet  
)
virtual

Process all the BaseProjectiveConstraintSet.

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor.

◆ bwdProjectiveConstraintSet() [2/2]

void sofa::simulation::BaseMechanicalVisitor::bwdProjectiveConstraintSet ( VisitorContext ctx,
sofa::core::behavior::BaseProjectiveConstraintSet c 
)
virtual

Process all the BaseProjectiveConstraintSet.

◆ fwdConstraintSet() [1/2]

◆ fwdConstraintSet() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdConstraintSet ( VisitorContext ctx,
sofa::core::behavior::BaseConstraintSet c 
)
virtual

Process all the BaseConstraintSet.

◆ fwdConstraintSolver() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdConstraintSolver ( simulation::Node ,
sofa::core::behavior::ConstraintSolver  
)
virtual

Process the ConstraintSolver.

◆ fwdConstraintSolver() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdConstraintSolver ( VisitorContext ctx,
sofa::core::behavior::ConstraintSolver solver 
)
virtual

Process the ConstraintSolver.

◆ fwdForceField() [1/2]

◆ fwdForceField() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdForceField ( VisitorContext ctx,
sofa::core::behavior::BaseForceField ff 
)
virtual

Process all the BaseForceField.

◆ fwdInteractionConstraint() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdInteractionConstraint ( simulation::Node ,
sofa::core::behavior::BaseInteractionConstraint  
)
virtual

Process all the InteractionConstraint.

◆ fwdInteractionConstraint() [2/2]

Visitor::Result sofa::simulation::BaseMechanicalVisitor::fwdInteractionConstraint ( VisitorContext ctx,
sofa::core::behavior::BaseInteractionConstraint c 
)
virtual

Process all the InteractionConstraint.

◆ fwdInteractionForceField() [1/2]

◆ fwdInteractionForceField() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdInteractionForceField ( VisitorContext ctx,
sofa::core::behavior::BaseInteractionForceField ff 
)
virtual

Process all the InteractionForceField.

◆ fwdInteractionProjectiveConstraintSet() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdInteractionProjectiveConstraintSet ( simulation::Node ,
sofa::core::behavior::BaseInteractionProjectiveConstraintSet  
)
virtual

Process all the InteractionConstraint.

◆ fwdInteractionProjectiveConstraintSet() [2/2]

Visitor::Result sofa::simulation::BaseMechanicalVisitor::fwdInteractionProjectiveConstraintSet ( VisitorContext ctx,
sofa::core::behavior::BaseInteractionProjectiveConstraintSet c 
)
virtual

Process all the InteractionConstraint.

◆ fwdMappedMechanicalState() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMappedMechanicalState ( simulation::Node ,
sofa::core::behavior::BaseMechanicalState  
)
virtual

◆ fwdMappedMechanicalState() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMappedMechanicalState ( VisitorContext ctx,
sofa::core::behavior::BaseMechanicalState mm 
)
virtual

Process the BaseMechanicalState if it is mapped from the parent level.

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor, and sofa::simulation::mechanicalvisitor::MechanicalVMultiOpVisitor.

◆ fwdMass() [1/2]

◆ fwdMass() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMass ( VisitorContext ctx,
sofa::core::behavior::BaseMass mass 
)
virtual

◆ fwdMechanicalMapping() [1/2]

◆ fwdMechanicalMapping() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMechanicalMapping ( VisitorContext ctx,
sofa::core::BaseMapping map 
)
virtual

Process the BaseMechanicalMapping.

◆ fwdMechanicalState() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMechanicalState ( simulation::Node ,
sofa::core::behavior::BaseMechanicalState  
)
virtual

Process the BaseMechanicalState if it is not mapped from the parent level.

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVReallocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVInitVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVSizeVisitor, sofa::simulation::mechanicalvisitor::MechanicalVFreeVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVAvailVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVAllocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalSetPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetConstraintVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateDxAndResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalPickParticlesWithTagsVisitor, sofa::simulation::mechanicalvisitor::MechanicalPickParticlesVisitor, sofa::simulation::mechanicalvisitor::MechanicalEndIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeDfVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeContactForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalBeginIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMBKdxVisitor, sofa::simulation::mechanicalvisitor::MechanicalAccFromFVisitor, sofa::simulation::mechanicalvisitor::MechanicalIntegrateConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetMatrixDimensionVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetConstraintJacobianVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorToBaseVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorPeqBaseVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorFromBaseVectorVisitor, sofa::component::linearsystem::DispatchFromGlobalVectorToLocalVectorVisitor, sofa::component::linearsystem::AssembleGlobalVectorFromLocalVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyProjectiveConstraint_ToMatrixVisitor, and sofa::simulation::mechanicalvisitor::MechanicalAddMBK_ToMatrixVisitor.

◆ fwdMechanicalState() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdMechanicalState ( VisitorContext ctx,
sofa::core::behavior::BaseMechanicalState mm 
)
virtual

◆ fwdOdeSolver() [1/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdOdeSolver ( simulation::Node ,
sofa::core::behavior::OdeSolver  
)
virtual

◆ fwdOdeSolver() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdOdeSolver ( VisitorContext ctx,
sofa::core::behavior::OdeSolver solver 
)
virtual

Process the OdeSolver.

◆ fwdProjectiveConstraintSet() [1/2]

◆ fwdProjectiveConstraintSet() [2/2]

auto sofa::simulation::BaseMechanicalVisitor::fwdProjectiveConstraintSet ( VisitorContext ctx,
sofa::core::behavior::BaseProjectiveConstraintSet c 
)
virtual

Process all the BaseProjectiveConstraintSet.

◆ getCategoryName()

const char * sofa::simulation::BaseMechanicalVisitor::getCategoryName ( ) const
overridevirtual

Return a category name for this action. Only used for debugging / profiling purposes

Reimplemented from sofa::simulation::Visitor.

◆ getClassName()

const char * sofa::simulation::BaseMechanicalVisitor::getClassName ( ) const
overridevirtual

Return a class name for this visitor Only used for debugging / profiling purposes

Reimplemented from sofa::simulation::Visitor.

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVSizeVisitor, sofa::simulation::mechanicalvisitor::MechanicalVReallocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor, sofa::simulation::mechanicalvisitor::MechanicalVNormVisitor, sofa::simulation::mechanicalvisitor::MechanicalVMultiOpVisitor, sofa::simulation::mechanicalvisitor::MechanicalVInitVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVFreeVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVDotVisitor, sofa::simulation::mechanicalvisitor::MechanicalVAvailVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVAllocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalSetPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetConstraintVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateDxAndResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectPositionVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectJacobianMatrixVisitor, sofa::simulation::mechanicalvisitor::MechanicalPickParticlesWithTagsVisitor, sofa::simulation::mechanicalvisitor::MechanicalPickParticlesVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorToBaseVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorPeqBaseVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalMultiVectorFromBaseVectorVisitor, sofa::simulation::mechanicalvisitor::MechanicalIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalIntegrateConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalIdentityBlocksInJacobianVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetNonDiagonalMassesCountVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetMatrixDimensionVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetConstraintJacobianVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetConstraintInfoVisitor, sofa::simulation::mechanicalvisitor::MechanicalEndIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeGeometricStiffness, sofa::simulation::mechanicalvisitor::MechanicalComputeForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeEnergyVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeDfVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeContactForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalBuildConstraintMatrix, sofa::simulation::mechanicalvisitor::MechanicalBeginIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyProjectiveConstraint_ToMatrixVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddSeparateGravityVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMBKdxVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMBK_ToMatrixVisitor, sofa::simulation::mechanicalvisitor::MechanicalAccumulateMatrixDeriv, sofa::simulation::mechanicalvisitor::MechanicalAccumulateJacobian, sofa::simulation::mechanicalvisitor::MechanicalAccFromFVisitor, and sofa::simulation::mechanicalvisitor::MechanicalGetMomentumVisitor.

◆ processNodeBottomUp() [1/3]

void sofa::simulation::BaseMechanicalVisitor::processNodeBottomUp ( simulation::Node node)
overridevirtual

This method calls the bwd* methods during the backward traversal. You typically do not overload it.

Reimplemented from sofa::simulation::Visitor.

◆ processNodeBottomUp() [2/3]

virtual void sofa::simulation::BaseMechanicalVisitor::processNodeBottomUp ( simulation::Node node,
LocalStorage *  stack 
)
overridevirtualdelete

Parallel version of processNodeBottomUp. This method calls the bwd* methods during the backward traversal. You typically do not overload it.

Reimplemented from sofa::simulation::Visitor.

◆ processNodeBottomUp() [3/3]

void sofa::simulation::BaseMechanicalVisitor::processNodeBottomUp ( simulation::Node node,
VisitorContext ctx 
)
protectedvirtual

◆ processNodeTopDown() [1/3]

Visitor::Result sofa::simulation::BaseMechanicalVisitor::processNodeTopDown ( simulation::Node node)
overridevirtual

This method calls the fwd* methods during the forward traversal. You typically do not overload it.

Reimplemented from sofa::simulation::Visitor.

◆ processNodeTopDown() [2/3]

virtual Result sofa::simulation::BaseMechanicalVisitor::processNodeTopDown ( simulation::Node node,
LocalStorage *  stack 
)
overridevirtualdelete

Parallel version of processNodeTopDown. This method calls the fwd* methods during the forward traversal. You typically do not overload it.

Reimplemented from sofa::simulation::Visitor.

◆ processNodeTopDown() [3/3]

Visitor::Result sofa::simulation::BaseMechanicalVisitor::processNodeTopDown ( simulation::Node node,
VisitorContext ctx 
)
protectedvirtual

◆ readNodeData()

virtual bool sofa::simulation::BaseMechanicalVisitor::readNodeData ( ) const
virtualdelete

◆ setNodeData()

virtual void sofa::simulation::BaseMechanicalVisitor::setNodeData ( simulation::Node ,
SReal ,
const SReal  
)
virtualdelete

◆ stopAtMechanicalMapping()

bool sofa::simulation::BaseMechanicalVisitor::stopAtMechanicalMapping ( simulation::Node ,
sofa::core::BaseMapping map 
)
virtual

Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalAddMBK_ToMatrixVisitor, sofa::component::constraint::lagrangian::solver::MechanicalGetConstraintResolutionVisitor, sofa::component::constraint::lagrangian::solver::ConstraintStoreLambdaVisitor, sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalVReallocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVInitVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalResetConstraintVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalEndIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalBuildConstraintMatrix, sofa::simulation::mechanicalvisitor::MechanicalBeginIntegrationVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalAccumulateMatrixDeriv, sofa::simulation::mechanicalvisitor::MechanicalIdentityBlocksInJacobianVisitor, sofa::simulation::mechanicalvisitor::MechanicalGetConstraintInfoVisitor, sofa::simulation::mechanicalvisitor::MechanicalAccumulateJacobian, and sofa::component::constraint::lagrangian::solver::MechanicalGetConstraintViolationVisitor.

◆ writeNodeData()

virtual bool sofa::simulation::BaseMechanicalVisitor::writeNodeData ( ) const
virtualdelete