#include <MechanicalVisitor.h>


Public Member Functions | |
| MechanicalPropagatePositionAndVelocityVisitor (double time=0, VecId x=VecId::position(), VecId v=VecId::velocity()) | |
| virtual Result | processNodeTopDown (simulation::Node *node) |
| This method calls the fwd* methods during the forward traversal. You typically do not overload it. | |
| virtual void | processNodeBottomUp (simulation::Node *node) |
| This method calls the bwd* methods during the backward traversal. You typically do not overload it. | |
| virtual Result | fwdMechanicalState (simulation::Node *, core::componentmodel::behavior::BaseMechanicalState *mm) |
| Process the BaseMechanicalState if it is not mapped from the parent level. | |
| virtual Result | fwdMechanicalMapping (simulation::Node *, core::componentmodel::behavior::BaseMechanicalMapping *map) |
| Process the BaseMechanicalMapping. | |
| virtual Result | fwdConstraint (simulation::Node *, core::componentmodel::behavior::BaseConstraint *c) |
| Process all the BaseConstraint. | |
| virtual bool | isThreadSafe () const |
| Specify whether this action can be parallelized. | |
Data Fields | |
| double | t |
| VecId | x |
| VecId | v |
At each level, the mappings form the parent to the child is applied. After the execution of this action, all the (mapped) degrees of freedom are consistent with the independent degrees of freedom. This action is typically applied after time integration of the independent degrees of freedom.
Definition at line 451 of file MechanicalVisitor.h.
| sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::MechanicalPropagatePositionAndVelocityVisitor | ( | double | time = 0, |
|
| VecId | x = VecId::position(), |
|||
| VecId | v = VecId::velocity() | |||
| ) |
Definition at line 291 of file MechanicalVisitor.cpp.
| Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdConstraint | ( | simulation::Node * | , | |
| core::componentmodel::behavior::BaseConstraint * | ||||
| ) | [virtual] |
Process all the BaseConstraint.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 326 of file MechanicalVisitor.cpp.
References sofa::core::componentmodel::behavior::BaseConstraint::projectPosition(), sofa::core::componentmodel::behavior::BaseConstraint::projectVelocity(), and sofa::simulation::Visitor::RESULT_CONTINUE.
| Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdMechanicalMapping | ( | simulation::Node * | , | |
| core::componentmodel::behavior::BaseMechanicalMapping * | ||||
| ) | [virtual] |
Process the BaseMechanicalMapping.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 320 of file MechanicalVisitor.cpp.
References sofa::core::componentmodel::behavior::BaseMechanicalMapping::propagateV(), sofa::core::componentmodel::behavior::BaseMechanicalMapping::propagateX(), and sofa::simulation::Visitor::RESULT_CONTINUE.
| Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdMechanicalState | ( | simulation::Node * | , | |
| core::componentmodel::behavior::BaseMechanicalState * | ||||
| ) | [virtual] |
Process the BaseMechanicalState if it is not mapped from the parent level.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 314 of file MechanicalVisitor.cpp.
References sofa::simulation::Visitor::RESULT_CONTINUE, sofa::core::componentmodel::behavior::BaseMechanicalState::setV(), sofa::core::componentmodel::behavior::BaseMechanicalState::setX(), v, and x.
| virtual bool sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::isThreadSafe | ( | ) | const [inline, virtual] |
Specify whether this action can be parallelized.
Reimplemented from sofa::simulation::Visitor.
Definition at line 467 of file MechanicalVisitor.h.
| void sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::processNodeBottomUp | ( | simulation::Node * | node | ) | [virtual] |
This method calls the bwd* methods during the backward traversal. You typically do not overload it.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 305 of file MechanicalVisitor.cpp.
| Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::processNodeTopDown | ( | simulation::Node * | node | ) | [virtual] |
This method calls the fwd* methods during the forward traversal. You typically do not overload it.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 297 of file MechanicalVisitor.cpp.
References sofa::core::objectmodel::Context::setTime(), t, and sofa::simulation::Node::updateSimulationContext().
1.5.7.1