#include <BaseMechanicalVisitor.h>
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::Node * | root |
root node from which the visitor was executed More... | |
SReal * | rootData { nullptr } |
data for root node More... | |
Protected Attributes inherited from sofa::simulation::Visitor | |
const sofa::core::ExecParams * | params |
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 char * | getClassName () const override |
const char * | getCategoryName () 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::ExecParams * | execParams () 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... | |
Visitor & | setTags (const TagSet &t) |
Visitor & | addTag (Tag t) |
Visitor & | removeTag (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... | |
|
protected |
root node from which the visitor was executed
|
protected |
data for root node
sofa::simulation::BaseMechanicalVisitor::BaseMechanicalVisitor | ( | const sofa::core::ExecParams * | params | ) |
|
virtualdelete |
|
virtual |
Process all the BaseConstraintSet.
|
virtual |
Process all the BaseConstraintSet.
|
virtual |
Process the ConstraintSolver.
|
virtual |
Process the ConstraintSolver.
|
virtual |
Process the BaseMechanicalState when it is mapped from parent level.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalIdentityBlocksInJacobianVisitor.
|
virtual |
Process the BaseMechanicalState when it is mapped from parent level.
|
virtual |
Process the BaseMechanicalMapping.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalAccumulateJacobian, sofa::component::constraint::lagrangian::solver::ConstraintStoreLambdaVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeDfVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeContactForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMBKdxVisitor, and sofa::simulation::mechanicalvisitor::MechanicalAccumulateMatrixDeriv.
|
virtual |
Process the BaseMechanicalMapping.
|
virtual |
Process the BaseMechanicalState when it is not mapped from parent level.
Reimplemented in 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::MechanicalComputeForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeDfVisitor, and sofa::simulation::mechanicalvisitor::MechanicalAddMBKdxVisitor.
|
virtual |
Process the BaseMechanicalState when it is not mapped from parent level.
|
virtual |
Process the OdeSolver.
|
virtual |
Process the OdeSolver.
|
virtual |
Process all the BaseProjectiveConstraintSet.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor.
|
virtual |
Process all the BaseProjectiveConstraintSet.
|
virtual |
Process all the BaseConstraintSet.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalGetConstraintInfoVisitor, sofa::component::constraint::lagrangian::solver::MechanicalGetConstraintResolutionVisitor, sofa::component::constraint::lagrangian::solver::ConstraintStoreLambdaVisitor, sofa::component::constraint::lagrangian::solver::MechanicalGetConstraintViolationVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetConstraintVisitor, and sofa::simulation::mechanicalvisitor::MechanicalBuildConstraintMatrix.
|
virtual |
Process all the BaseConstraintSet.
|
virtual |
Process the ConstraintSolver.
|
virtual |
Process the ConstraintSolver.
|
virtual |
Process all the BaseForceField.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalComputeForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeDfVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMBKdxVisitor, sofa::component::linearsystem::ComponentGroupsVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeEnergyVisitor, and sofa::simulation::mechanicalvisitor::MechanicalAddMBK_ToMatrixVisitor.
|
virtual |
Process all the BaseForceField.
|
virtual |
Process all the InteractionConstraint.
|
virtual |
Process all the InteractionConstraint.
|
virtual |
Process all the InteractionForceField.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVReallocVisitor< vtype >, sofa::simulation::mechanicalvisitor::MechanicalVFreeVisitor< vtype >, and sofa::simulation::mechanicalvisitor::MechanicalIntegrationVisitor.
|
virtual |
Process all the InteractionForceField.
|
virtual |
Process all the InteractionConstraint.
|
virtual |
Process all the InteractionConstraint.
|
virtual |
Process the BaseMechanicalState if it is 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::MechanicalResetForceVisitor, sofa::simulation::mechanicalvisitor::MechanicalResetConstraintVisitor, sofa::simulation::mechanicalvisitor::MechanicalPropagateOnlyPositionAndResetForceVisitor, 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::MechanicalAddMBKdxVisitor, sofa::simulation::mechanicalvisitor::MechanicalApplyConstraintsVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMDxVisitor, and sofa::simulation::mechanicalvisitor::MechanicalGetMatrixDimensionVisitor.
|
virtual |
Process the BaseMechanicalState if it is mapped from the parent level.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor, and sofa::simulation::mechanicalvisitor::MechanicalVMultiOpVisitor.
|
virtual |
Process the BaseMass.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalComputeEnergyVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddSeparateGravityVisitor, sofa::simulation::mechanicalvisitor::MechanicalAddMDxVisitor, sofa::simulation::mechanicalvisitor::MechanicalAccFromFVisitor, sofa::component::linearsystem::ComponentGroupsVisitor, and sofa::simulation::mechanicalvisitor::MechanicalGetMomentumVisitor.
|
virtual |
Process the BaseMass.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalGetNonDiagonalMassesCountVisitor.
|
virtual |
Process the BaseMechanicalMapping.
Reimplemented in 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::MechanicalIdentityBlocksInJacobianVisitor, sofa::simulation::mechanicalvisitor::MechanicalComputeGeometricStiffness, sofa::simulation::mechanicalvisitor::MechanicalAddMDxVisitor, and sofa::simulation::mechanicalvisitor::MechanicalGetMatrixDimensionVisitor.
|
virtual |
Process the BaseMechanicalMapping.
|
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.
|
virtual |
Process the BaseMechanicalState if it is not mapped from the parent level.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor, sofa::simulation::mechanicalvisitor::MechanicalVNormVisitor, sofa::simulation::mechanicalvisitor::MechanicalVMultiOpVisitor, and sofa::simulation::mechanicalvisitor::MechanicalVDotVisitor.
|
virtual |
Process the OdeSolver.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalIntegrationVisitor.
|
virtual |
Process the OdeSolver.
|
virtual |
Process all the BaseProjectiveConstraintSet.
Reimplemented in sofa::simulation::mechanicalvisitor::MechanicalProjectVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectPositionVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectPositionAndVelocityVisitor, sofa::simulation::mechanicalvisitor::MechanicalProjectJacobianMatrixVisitor, and sofa::simulation::mechanicalvisitor::MechanicalApplyProjectiveConstraint_ToMatrixVisitor.
|
virtual |
Process all the BaseProjectiveConstraintSet.
|
overridevirtual |
Return a category name for this action. Only used for debugging / profiling purposes
Reimplemented from sofa::simulation::Visitor.
|
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.
|
overridevirtual |
This method calls the bwd* methods during the backward traversal. You typically do not overload it.
Reimplemented from sofa::simulation::Visitor.
|
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.
|
protectedvirtual |
|
overridevirtual |
This method calls the fwd* methods during the forward traversal. You typically do not overload it.
Reimplemented from sofa::simulation::Visitor.
|
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.
|
protectedvirtual |
|
virtualdelete |
|
virtualdelete |
|
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.
|
virtualdelete |