sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor Class Reference

Propagate positions and velocities to all the levels of the hierarchy. More...

#include <MechanicalVisitor.h>

Inheritance diagram for sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor:

Inheritance graph
[legend]
Collaboration diagram for sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor:

Collaboration graph
[legend]

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

Detailed Description

Propagate positions and velocities to all the levels of the hierarchy.

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.


Constructor & Destructor Documentation

sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::MechanicalPropagatePositionAndVelocityVisitor ( double  time = 0,
VecId  x = VecId::position(),
VecId  v = VecId::velocity() 
)

Definition at line 291 of file MechanicalVisitor.cpp.


Member Function Documentation

Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdConstraint ( simulation::Node *  ,
core::componentmodel::behavior::BaseConstraint *   
) [virtual]

Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdMechanicalMapping ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalMapping *   
) [virtual]

Visitor::Result sofa::simulation::MechanicalPropagatePositionAndVelocityVisitor::fwdMechanicalState ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalState *   
) [virtual]

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().


Field Documentation

Definition at line 454 of file MechanicalVisitor.h.

Referenced by processNodeTopDown().

Definition at line 456 of file MechanicalVisitor.h.

Referenced by fwdMechanicalState().

Definition at line 455 of file MechanicalVisitor.h.

Referenced by fwdMechanicalState().


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:24:27 2008 for Sofa by  doxygen 1.5.7.1