#include <LMLForce.h>


Public Types | |
| typedef DataTypes::VecCoord | VecCoord |
| template types | |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::VecCoord::iterator | VecCoordIterator |
| typedef DataTypes::VecDeriv::iterator | VecDerivIterator |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
Public Member Functions | |
| LMLForce (MechanicalState< DataTypes > *mm=NULL) | |
| constructors | |
| LMLForce (Loads *loadsList, const map< unsigned int, unsigned int > &atomIndexToDOFIndex, MechanicalState< DataTypes > *mm) | |
| ~LMLForce () | |
| std::vector< unsigned int > | getTargets () |
| return targets list | |
| void | addTarget (unsigned int i) |
| add a new target (dof index) | |
| virtual void | addForce (VecDeriv &f, const VecCoord &x, const VecDeriv &v) |
| -- ForceField Inherits | |
| virtual void | addDForce (VecDeriv &, const VecDeriv &) |
| Compute the force derivative given a small displacement from the position and velocity used in the previous call to addForce(). | |
| virtual double | getPotentialEnergy (const VecCoord &) |
| Get the potential energy associated to this ForceField. | |
| void | draw () |
| -- VisualModel interface | |
| void | initTextures () |
| Initialize the textures, or other graphical resources. | |
| void | update () |
| used to update the model if necessary. | |
Protected Attributes | |
| MechanicalState< DataTypes > * | mmodel |
| std::vector< unsigned int > | targets |
| list of forces targets | |
| VecDeriv | forces |
| list of force directions | |
| Loads * | loads |
| LML loads. | |
| map< unsigned int, unsigned int > | atomToDOFIndexes |
| link between PML object indexes and sofa dofs indexs | |
Definition at line 68 of file LMLForce.h.
| typedef DataTypes::Coord sofa::filemanager::pml::LMLForce< DataTypes >::Coord |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 76 of file LMLForce.h.
| typedef DataTypes::Deriv sofa::filemanager::pml::LMLForce< DataTypes >::Deriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 77 of file LMLForce.h.
| typedef DataTypes::VecCoord sofa::filemanager::pml::LMLForce< DataTypes >::VecCoord |
template types
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 72 of file LMLForce.h.
| typedef DataTypes::VecCoord::iterator sofa::filemanager::pml::LMLForce< DataTypes >::VecCoordIterator |
Definition at line 74 of file LMLForce.h.
| typedef DataTypes::VecDeriv sofa::filemanager::pml::LMLForce< DataTypes >::VecDeriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 73 of file LMLForce.h.
| typedef DataTypes::VecDeriv::iterator sofa::filemanager::pml::LMLForce< DataTypes >::VecDerivIterator |
Definition at line 75 of file LMLForce.h.
| sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce | ( | MechanicalState< DataTypes > * | mm = NULL |
) | [inline] |
| sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce | ( | Loads * | loadsList, | |
| const map< unsigned int, unsigned int > & | atomIndexToDOFIndex, | |||
| MechanicalState< DataTypes > * | mm | |||
| ) | [inline] |
Definition at line 45 of file LMLForce.inl.
References sofa::filemanager::pml::LMLForce< DataTypes >::forces, sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::filemanager::pml::LMLForce< DataTypes >::loads, sofa::filemanager::pml::LMLForce< DataTypes >::mmodel, sofa::core::objectmodel::Base::setName(), and sofa::filemanager::pml::LMLForce< DataTypes >::targets.
| sofa::filemanager::pml::LMLForce< DataTypes >::~LMLForce | ( | ) | [inline] |
Definition at line 85 of file LMLForce.h.
| virtual void sofa::filemanager::pml::LMLForce< DataTypes >::addDForce | ( | VecDeriv & | df, | |
| const VecDeriv & | dx | |||
| ) | [inline, virtual] |
Compute the force derivative given a small displacement from the position and velocity used in the previous call to addForce().
The derivative should be directly derived from the computations done by addForce. Any forces neglected in addDForce will be integrated explicitly (i.e. using its value at the beginning of the timestep).
If the ForceField can be represented as a matrix, this method computes $ df += K dx $
This method must be implemented by the component, and is usually called by the generic ForceField::addDForce() method.
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 95 of file LMLForce.h.
| void sofa::filemanager::pml::LMLForce< DataTypes >::addForce | ( | VecDeriv & | f, | |
| const VecCoord & | x, | |||
| const VecDeriv & | v | |||
| ) | [inline, virtual] |
-- ForceField Inherits
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 95 of file LMLForce.inl.
References sofa::filemanager::pml::LMLForce< DataTypes >::atomToDOFIndexes, sofa::filemanager::pml::LMLForce< DataTypes >::forces, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getTime(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::filemanager::pml::LMLForce< DataTypes >::loads, sofa::filemanager::pml::LMLForce< DataTypes >::mmodel, and sofa::filemanager::pml::LMLForce< DataTypes >::targets.
| void sofa::filemanager::pml::LMLForce< DataTypes >::addTarget | ( | unsigned int | i | ) | [inline] |
add a new target (dof index)
Definition at line 91 of file LMLForce.h.
References sofa::filemanager::pml::LMLForce< DataTypes >::forces, and sofa::filemanager::pml::LMLForce< DataTypes >::targets.
| void sofa::filemanager::pml::LMLForce< DataTypes >::draw | ( | ) | [inline, virtual] |
-- VisualModel interface
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 145 of file LMLForce.inl.
References sofa::filemanager::pml::LMLForce< DataTypes >::forces, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::filemanager::pml::LMLForce< DataTypes >::mmodel, and sofa::filemanager::pml::LMLForce< DataTypes >::targets.
| virtual double sofa::filemanager::pml::LMLForce< DataTypes >::getPotentialEnergy | ( | const VecCoord & | x | ) | [inline, virtual] |
Get the potential energy associated to this ForceField.
Used to extimate the total energy of the system by some post-stabilization techniques.
This method must be implemented by the component, and is usually called by the generic ForceField::getPotentialEnergy() method.
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 96 of file LMLForce.h.
| std::vector<unsigned int> sofa::filemanager::pml::LMLForce< DataTypes >::getTargets | ( | ) | [inline] |
return targets list
Definition at line 88 of file LMLForce.h.
References sofa::filemanager::pml::LMLForce< DataTypes >::targets.
Referenced by sofa::filemanager::pml::LMLReader::BuildStructure(), and sofa::filemanager::pml::LMLReader::updateStructure().
| void sofa::filemanager::pml::LMLForce< DataTypes >::initTextures | ( | ) | [inline, virtual] |
Initialize the textures, or other graphical resources.
Reimplemented from sofa::core::VisualModel.
Definition at line 100 of file LMLForce.h.
| void sofa::filemanager::pml::LMLForce< DataTypes >::update | ( | ) | [inline, virtual] |
used to update the model if necessary.
Reimplemented from sofa::core::VisualModel.
Definition at line 101 of file LMLForce.h.
map<unsigned int, unsigned int> sofa::filemanager::pml::LMLForce< DataTypes >::atomToDOFIndexes [protected] |
link between PML object indexes and sofa dofs indexs
Definition at line 113 of file LMLForce.h.
Referenced by sofa::filemanager::pml::LMLForce< DataTypes >::addForce().
VecDeriv sofa::filemanager::pml::LMLForce< DataTypes >::forces [protected] |
list of force directions
Definition at line 109 of file LMLForce.h.
Referenced by sofa::filemanager::pml::LMLForce< DataTypes >::addForce(), sofa::filemanager::pml::LMLForce< DataTypes >::addTarget(), sofa::filemanager::pml::LMLForce< DataTypes >::draw(), and sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce().
Loads* sofa::filemanager::pml::LMLForce< DataTypes >::loads [protected] |
LML loads.
Definition at line 111 of file LMLForce.h.
Referenced by sofa::filemanager::pml::LMLForce< DataTypes >::addForce(), and sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce().
MechanicalState<DataTypes>* sofa::filemanager::pml::LMLForce< DataTypes >::mmodel [protected] |
Definition at line 105 of file LMLForce.h.
Referenced by sofa::filemanager::pml::LMLForce< DataTypes >::addForce(), sofa::filemanager::pml::LMLForce< DataTypes >::draw(), and sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce().
std::vector<unsigned int> sofa::filemanager::pml::LMLForce< DataTypes >::targets [protected] |
list of forces targets
Definition at line 107 of file LMLForce.h.
Referenced by sofa::filemanager::pml::LMLForce< DataTypes >::addForce(), sofa::filemanager::pml::LMLForce< DataTypes >::addTarget(), sofa::filemanager::pml::LMLForce< DataTypes >::draw(), sofa::filemanager::pml::LMLForce< DataTypes >::getTargets(), and sofa::filemanager::pml::LMLForce< DataTypes >::LMLForce().
1.5.7.1