Accumulate the forces (internal and interactions). This action is typically called after a MechanicalResetForceVisitor.
|
| MechanicalComputeForceVisitor (const sofa::core::MechanicalParams *mparams, sofa::core::MultiVecDerivId res, bool accumulate=true) |
|
Result | fwdMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *mm) override |
| Process the BaseMechanicalState if it is not mapped from the parent level. More...
|
|
Result | fwdMappedMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *mm) override |
| Process the BaseMechanicalState if it is mapped from the parent level. More...
|
|
Result | fwdForceField (simulation::Node *, sofa::core::behavior::BaseForceField *ff) override |
| Process all the BaseForceField. More...
|
|
void | bwdMechanicalMapping (simulation::Node *, sofa::core::BaseMapping *map) override |
| Process the BaseMechanicalMapping. More...
|
|
void | bwdMechanicalState (simulation::Node *, sofa::core::behavior::BaseMechanicalState *mm) override |
| Process the BaseMechanicalState when it is not mapped from parent level. More...
|
|
const char * | getClassName () const override |
|
std::string | getInfos () const override |
|
bool | isThreadSafe () const override |
| Specify whether this action can be parallelized. More...
|
|
| MechanicalVisitor (const sofa::core::MechanicalParams *m_mparams) |
|
| 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 * | getCategoryName () const override |
|
virtual bool | stopAtMechanicalMapping (simulation::Node *, sofa::core::BaseMapping *map) |
|
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 (VisitorContext *ctx, sofa::core::behavior::BaseMechanicalState *mm) |
| Process the BaseMechanicalState if it is 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 (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...
|
|
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 (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 (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...
|
|
| 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) |
|
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) |
|
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) |
|
|
const sofa::core::MechanicalParams * | mparams |
|
simulation::Node * | root |
| root node from which the visitor was executed More...
|
|
SReal * | rootData { nullptr } |
| data for root node More...
|
|
const sofa::core::ExecParams * | params |
|
virtual Result | processNodeTopDown (simulation::Node *node, VisitorContext *ctx) |
|
virtual void | processNodeBottomUp (simulation::Node *node, VisitorContext *ctx) |
|
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")) |
|