#include <MechanicalVisitor.h>


Public Member Functions | |
| MechanicalPropagateFreePositionVisitor (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 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 479 of file MechanicalVisitor.h.
| sofa::simulation::MechanicalPropagateFreePositionVisitor::MechanicalPropagateFreePositionVisitor | ( | double | time = 0, |
|
| VecId | x = VecId::position(), |
|||
| VecId | v = VecId::velocity() | |||
| ) | [inline] |
Definition at line 488 of file MechanicalVisitor.h.
| Visitor::Result sofa::simulation::MechanicalPropagateFreePositionVisitor::fwdConstraint | ( | simulation::Node * | , | |
| core::componentmodel::behavior::BaseConstraint * | ||||
| ) | [virtual] |
Process all the BaseConstraint.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 350 of file MechanicalVisitor.cpp.
References sofa::core::componentmodel::behavior::BaseConstraint::projectFreePosition(), sofa::core::componentmodel::behavior::BaseConstraint::projectFreeVelocity(), and sofa::simulation::Visitor::RESULT_CONTINUE.
| Visitor::Result sofa::simulation::MechanicalPropagateFreePositionVisitor::fwdMechanicalMapping | ( | simulation::Node * | , | |
| core::componentmodel::behavior::BaseMechanicalMapping * | ||||
| ) | [virtual] |
Process the BaseMechanicalMapping.
Reimplemented from sofa::simulation::MechanicalVisitor.
Definition at line 345 of file MechanicalVisitor.cpp.
References sofa::core::componentmodel::behavior::BaseMechanicalMapping::propagateXfree(), and sofa::simulation::Visitor::RESULT_CONTINUE.
| Visitor::Result sofa::simulation::MechanicalPropagateFreePositionVisitor::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 339 of file MechanicalVisitor.cpp.
References sofa::simulation::Visitor::RESULT_CONTINUE, sofa::core::componentmodel::behavior::BaseMechanicalState::setVfree(), sofa::core::componentmodel::behavior::BaseMechanicalState::setXfree(), v, and x.
| virtual bool sofa::simulation::MechanicalPropagateFreePositionVisitor::isThreadSafe | ( | ) | const [inline, virtual] |
Specify whether this action can be parallelized.
Reimplemented from sofa::simulation::Visitor.
Definition at line 497 of file MechanicalVisitor.h.
| Visitor::Result sofa::simulation::MechanicalPropagateFreePositionVisitor::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 333 of file MechanicalVisitor.cpp.
References sofa::core::objectmodel::Context::setTime(), t, and sofa::simulation::Node::updateSimulationContext().
1.5.7.1