#include <DiagonalMass.h>


Data Structures | |
| class | Loader |
Public Types | |
| enum | TopologyType { TOPOLOGY_UNKNOWN = 0, TOPOLOGY_EDGESET = 1, TOPOLOGY_TRIANGLESET = 2, TOPOLOGY_TETRAHEDRONSET = 3, TOPOLOGY_QUADSET = 4, TOPOLOGY_HEXAHEDRONSET = 5 } |
| typedef core::componentmodel::behavior::Mass < DataTypes > | Inherited |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef DataTypes::Real | Real |
| typedef sofa::component::topology::PointData < MassType > | VecMass |
| typedef helper::vector< MassType > | MassVector |
Public Member Functions | |
| DiagonalMass () | |
| ~DiagonalMass () | |
| bool | load (const char *filename) |
| void | clear () |
| virtual void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| virtual void | parse (core::objectmodel::BaseObjectDescription *arg) |
| Parse the given description to assign values to this object's fields and potentially other parameters. | |
| TopologyType | getMassTopologyType () const |
| Real | getMassDensity () const |
| virtual void | handleTopologyChange () |
| Handle topological Changes. | |
| void | setMassDensity (Real m) |
| void | addMass (const MassType &mass) |
| void | resize (int vsize) |
| void | addMDx (VecDeriv &f, const VecDeriv &dx, double factor=1.0) |
| f += factor M dx | |
| void | accFromF (VecDeriv &a, const VecDeriv &f) |
| dx = M^-1 f | |
| void | addForce (VecDeriv &f, const VecCoord &x, const VecDeriv &v) |
| Given the current position and velocity states, update the current force vector by computing and adding the forces associated with this ForceField. | |
| double | getKineticEnergy (const VecDeriv &v) |
| vMv/2 using dof->getV() | |
| double | getPotentialEnergy (const VecCoord &x) |
| Mgx potential in a uniform gravity field, null at origin. | |
| void | addGravityToV (double dt) |
| perform v += dt*g operation. Used if mass wants to added G separately from the other forces to v. | |
| void | addMToMatrix (defaulttype::BaseMatrix *mat, double mFact, unsigned int &offset) |
| Add Mass contribution to global Matrix assembling. | |
| double | getElementMass (unsigned int index) |
| return the mass relative to the DOF index | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| bool | addBBox (double *minBBox, double *maxBBox) |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getElementMass (unsigned int index) |
| return the mass relative to the DOF index | |
| template<> | |
| double | getElementMass (unsigned int index) |
| return the mass relative to the DOF index | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| template<> | |
| void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| template<> | |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| template<> | |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getElementMass (unsigned int index) |
| return the mass relative to the DOF index | |
| template<> | |
| double | getElementMass (unsigned int index) |
| return the mass relative to the DOF index | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| template<> | |
| void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| template<> | |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| template<> | |
| void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| template<> | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
Data Fields | |
| Data< VecMass > | f_mass |
| Data< Real > | m_massDensity |
| the mass density used to compute the mass from a mesh topology and geometry | |
| Data< bool > | showCenterOfGravity |
| to display the center of gravity of the system | |
| Data< float > | showAxisSize |
| sofa::core::componentmodel::topology::BaseMeshTopology * | _topology |
| sofa::component::topology::EdgeSetGeometryAlgorithms < DataTypes > * | edgeGeo |
| sofa::component::topology::TriangleSetGeometryAlgorithms < DataTypes > * | triangleGeo |
| sofa::component::topology::QuadSetGeometryAlgorithms < DataTypes > * | quadGeo |
| sofa::component::topology::TetrahedronSetGeometryAlgorithms < DataTypes > * | tetraGeo |
| sofa::component::topology::HexahedronSetGeometryAlgorithms < DataTypes > * | hexaGeo |
Protected Attributes | |
| TopologyType | topologyType |
| The type of topology to build the mass from the topology. | |
Definition at line 57 of file DiagonalMass.h.
| typedef DataTypes::Coord sofa::component::mass::DiagonalMass< DataTypes, MassType >::Coord |
Reimplemented from sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 63 of file DiagonalMass.h.
| typedef DataTypes::Deriv sofa::component::mass::DiagonalMass< DataTypes, MassType >::Deriv |
Reimplemented from sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 64 of file DiagonalMass.h.
| typedef core::componentmodel::behavior::Mass<DataTypes> sofa::component::mass::DiagonalMass< DataTypes, MassType >::Inherited |
Definition at line 60 of file DiagonalMass.h.
| typedef helper::vector<MassType> sofa::component::mass::DiagonalMass< DataTypes, MassType >::MassVector |
Definition at line 68 of file DiagonalMass.h.
| typedef DataTypes::Real sofa::component::mass::DiagonalMass< DataTypes, MassType >::Real |
Definition at line 65 of file DiagonalMass.h.
| typedef DataTypes::VecCoord sofa::component::mass::DiagonalMass< DataTypes, MassType >::VecCoord |
Reimplemented from sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 61 of file DiagonalMass.h.
| typedef DataTypes::VecDeriv sofa::component::mass::DiagonalMass< DataTypes, MassType >::VecDeriv |
Reimplemented from sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 62 of file DiagonalMass.h.
| typedef sofa::component::topology::PointData<MassType> sofa::component::mass::DiagonalMass< DataTypes, MassType >::VecMass |
Definition at line 67 of file DiagonalMass.h.
| enum sofa::component::mass::DiagonalMass::TopologyType |
| TOPOLOGY_UNKNOWN | |
| TOPOLOGY_EDGESET | |
| TOPOLOGY_TRIANGLESET | |
| TOPOLOGY_TETRAHEDRONSET | |
| TOPOLOGY_QUADSET | |
| TOPOLOGY_HEXAHEDRONSET |
Definition at line 71 of file DiagonalMass.h.
| sofa::component::mass::DiagonalMass< DataTypes, MassType >::DiagonalMass | ( | ) | [inline] |
Definition at line 233 of file DiagonalMass.inl.
| sofa::component::mass::DiagonalMass< DataTypes, MassType >::~DiagonalMass | ( | ) | [inline] |
Definition at line 247 of file DiagonalMass.inl.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::accFromF | ( | VecDeriv & | a, | |
| const VecDeriv & | f | |||
| ) | [inline, virtual] |
dx = M^-1 f
This method must be implemented by the component.
Implements sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 298 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| bool sofa::component::mass::DiagonalMass< DataTypes, MassType >::addBBox | ( | double * | minBBox, | |
| double * | maxBBox | |||
| ) | [inline] |
Definition at line 607 of file DiagonalMass.inl.
References ftl::Type::get(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::addForce | ( | VecDeriv & | f, | |
| const VecCoord & | x, | |||
| const VecDeriv & | v | |||
| ) | [inline, virtual] |
Given the current position and velocity states, update the current force vector by computing and adding the forces associated with this ForceField.
If the ForceField can be represented as a matrix, this method computes $ f += B v + K x $
This method must be implemented by the component, and is usually called by the generic ForceField::addForce() method.
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 545 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getPositionInWorld(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::objectmodel::BaseContext::getVelocityBasedLinearAccelerationInWorld(), sofa::core::objectmodel::BaseContext::getVelocityInWorld(), sofa::core::componentmodel::behavior::inertiaForce(), and sofa::core::componentmodel::behavior::BaseMass::m_separateGravity.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::addGravityToV | ( | double | dt | ) | [inline, virtual] |
perform v += dt*g operation. Used if mass wants to added G separately from the other forces to v.
Implements sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 527 of file DiagonalMass.inl.
References sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getV(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMass | ( | const MassType & | mass | ) | [inline] |
Definition at line 260 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMDx | ( | VecDeriv & | f, | |
| const VecDeriv & | dx, | |||
| double | factor = 1.0 | |||
| ) | [inline, virtual] |
f += factor M dx
This method must be implemented by the component.
Implements sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 277 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMToMatrix | ( | defaulttype::BaseMatrix * | mat, | |
| double | mFact, | |||
| unsigned int & | offset | |||
| ) | [inline, virtual] |
Add Mass contribution to global Matrix assembling.
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 339 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::clear | ( | ) | [inline] |
Definition at line 252 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::load(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
| void sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
| void sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
| void sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
| void sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
| void sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 314 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| void sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 245 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, sofa::component::mass::DiagonalMass< DataTypes, MassType >::showAxisSize, and sofa::component::mass::DiagonalMass< DataTypes, MassType >::showCenterOfGravity.
| void sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 171 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| void sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 102 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, sofa::component::mass::DiagonalMass< DataTypes, MassType >::showAxisSize, and sofa::component::mass::DiagonalMass< DataTypes, MassType >::showCenterOfGravity.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 573 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, sofa::component::mass::DiagonalMass< DataTypes, MassType >::showAxisSize, and sofa::component::mass::DiagonalMass< DataTypes, MassType >::showCenterOfGravity.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw().
| double sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::getElementMass | ( | unsigned int | index | ) | [inline, virtual] |
return the mass relative to the DOF index
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 236 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| double sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::getElementMass | ( | unsigned int | index | ) | [inline, virtual] |
return the mass relative to the DOF index
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 229 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| double sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::getElementMass | ( | unsigned int | index | ) | [inline, virtual] |
return the mass relative to the DOF index
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 85 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| double sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::getElementMass | ( | unsigned int | index | ) | [inline, virtual] |
return the mass relative to the DOF index
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 79 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| double sofa::component::mass::DiagonalMass< DataTypes, MassType >::getElementMass | ( | unsigned int | index | ) | [inline, virtual] |
return the mass relative to the DOF index
Implements sofa::core::componentmodel::behavior::BaseMass.
Definition at line 350 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| double sofa::component::mass::DiagonalMass< DataTypes, MassType >::getKineticEnergy | ( | const VecDeriv & | v | ) | [inline, virtual] |
vMv/2 using dof->getV()
Implements sofa::core::componentmodel::behavior::Mass< DataTypes >.
Definition at line 309 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| Real sofa::component::mass::DiagonalMass< DataTypes, MassType >::getMassDensity | ( | ) | const [inline] |
Definition at line 122 of file DiagonalMass.h.
References sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::m_massDensity.
Referenced by sofa::component::mass::MassEdgeCreationFunction(), sofa::component::mass::MassEdgeDestroyFunction(), sofa::component::mass::MassTetrahedronCreationFunction(), sofa::component::mass::MassTetrahedronDestroyFunction(), sofa::component::mass::MassTriangleCreationFunction(), and sofa::component::mass::MassTriangleDestroyFunction().
| TopologyType sofa::component::mass::DiagonalMass< DataTypes, MassType >::getMassTopologyType | ( | ) | const [inline] |
Definition at line 119 of file DiagonalMass.h.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::topologyType.
Referenced by sofa::component::mass::MassEdgeCreationFunction(), sofa::component::mass::MassEdgeDestroyFunction(), sofa::component::mass::MassTetrahedronCreationFunction(), sofa::component::mass::MassTetrahedronDestroyFunction(), sofa::component::mass::MassTriangleCreationFunction(), and sofa::component::mass::MassTriangleDestroyFunction().
| double sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::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 >.
| double sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::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 >.
| double sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::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 >.
| double sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::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 >.
| double sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::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 209 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, and sofa::core::objectmodel::BaseObject::getContext().
| double sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::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 192 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, and sofa::core::objectmodel::BaseObject::getContext().
| double sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::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 61 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, and sofa::core::objectmodel::BaseObject::getContext().
| double sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::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 44 of file DiagonalMass.cpp.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, and sofa::core::objectmodel::BaseObject::getContext().
| double sofa::component::mass::DiagonalMass< DataTypes, MassType >::getPotentialEnergy | ( | const VecCoord & | x | ) | [inline, virtual] |
Mgx potential in a uniform gravity field, null at origin.
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 322 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, and sofa::core::objectmodel::BaseObject::getContext().
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::handleTopologyChange | ( | ) | [inline, virtual] |
Handle topological Changes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 357 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::_topology, sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::componentmodel::topology::BaseMeshTopology::firstChange(), sofa::component::topology::PointData< T, Alloc >::handleTopologyEvents(), and sofa::core::componentmodel::topology::BaseMeshTopology::lastChange().
| void sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 308 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 303 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 166 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 161 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 468 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::_topology, sofa::component::mass::DiagonalMass< DataTypes, MassType >::edgeGeo, sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::hexaGeo, sofa::core::componentmodel::behavior::ForceField< DataTypes >::init(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::quadGeo, sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::topology::PointData< T, Alloc >::setCreateEdgeFunction(), sofa::component::topology::PointData< T, Alloc >::setCreateFunction(), sofa::component::topology::PointData< T, Alloc >::setCreateParameter(), sofa::component::topology::PointData< T, Alloc >::setCreateTetrahedronFunction(), sofa::component::topology::PointData< T, Alloc >::setCreateTriangleFunction(), sofa::component::topology::PointData< T, Alloc >::setDestroyEdgeFunction(), sofa::component::topology::PointData< T, Alloc >::setDestroyParameter(), sofa::component::topology::PointData< T, Alloc >::setDestroyTetrahedronFunction(), sofa::component::topology::PointData< T, Alloc >::setDestroyTriangleFunction(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::tetraGeo, and sofa::component::mass::DiagonalMass< DataTypes, MassType >::triangleGeo.
| bool sofa::component::mass::DiagonalMass< DataTypes, MassType >::load | ( | const char * | filename | ) | [inline] |
Definition at line 637 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::clear(), and sofa::helper::io::MassSpringLoader::load().
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::parse().
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::parse | ( | core::objectmodel::BaseObjectDescription * | arg | ) | [inline, virtual] |
Parse the given description to assign values to this object's fields and potentially other parameters.
Reimplemented from sofa::core::objectmodel::Base.
Definition at line 681 of file DiagonalMass.inl.
References sofa::core::objectmodel::BaseObjectDescription::getAttribute(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::load(), sofa::core::objectmodel::Base::parse(), and sofa::core::objectmodel::BaseObjectDescription::removeAttribute().
| void sofa::component::mass::DiagonalMass< Rigid2fTypes, Rigid2fMass >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 298 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< Rigid3fTypes, Rigid3fMass >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 293 of file DiagonalMass.cpp.
References sofa::core::componentmodel::behavior::ForceField< DataTypes >::init().
| void sofa::component::mass::DiagonalMass< Rigid2dTypes, Rigid2dMass >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 156 of file DiagonalMass.cpp.
References sofa::core::objectmodel::BaseObject::reinit().
| void sofa::component::mass::DiagonalMass< Rigid3dTypes, Rigid3dMass >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 151 of file DiagonalMass.cpp.
References sofa::core::objectmodel::BaseObject::reinit().
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 370 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::_topology, sofa::component::mass::DiagonalMass< DataTypes, MassType >::clear(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::edgeGeo, sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass, sofa::core::componentmodel::topology::BaseMeshTopology::getEdge(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbEdges(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbTetras(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbTriangles(), sofa::core::componentmodel::behavior::BaseMechanicalState::getSize(), sofa::core::componentmodel::topology::BaseMeshTopology::getTetra(), sofa::core::componentmodel::topology::BaseMeshTopology::getTriangle(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::m_massDensity, sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, sofa::component::mass::DiagonalMass< DataTypes, MassType >::tetraGeo, sofa::component::mass::DiagonalMass< DataTypes, MassType >::TOPOLOGY_EDGESET, sofa::component::mass::DiagonalMass< DataTypes, MassType >::TOPOLOGY_TETRAHEDRONSET, sofa::component::mass::DiagonalMass< DataTypes, MassType >::TOPOLOGY_TRIANGLESET, sofa::component::mass::DiagonalMass< DataTypes, MassType >::topologyType, and sofa::component::mass::DiagonalMass< DataTypes, MassType >::triangleGeo.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init().
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::resize | ( | int | vsize | ) | [inline] |
Definition at line 268 of file DiagonalMass.inl.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass.
| void sofa::component::mass::DiagonalMass< DataTypes, MassType >::setMassDensity | ( | Real | m | ) | [inline] |
Definition at line 130 of file DiagonalMass.h.
References sofa::component::mass::DiagonalMass< DataTypes, MassType >::m_massDensity, and sofa::core::objectmodel::Data< T >::setValue().
| sofa::core::componentmodel::topology::BaseMeshTopology* sofa::component::mass::DiagonalMass< DataTypes, MassType >::_topology |
Definition at line 97 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::handleTopologyChange(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::init(), sofa::component::mass::MassEdgeCreationFunction(), sofa::component::mass::MassEdgeDestroyFunction(), sofa::component::mass::MassTetrahedronCreationFunction(), sofa::component::mass::MassTetrahedronDestroyFunction(), sofa::component::mass::MassTriangleCreationFunction(), sofa::component::mass::MassTriangleDestroyFunction(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
| sofa::component::topology::EdgeSetGeometryAlgorithms<DataTypes>* sofa::component::mass::DiagonalMass< DataTypes, MassType >::edgeGeo |
Definition at line 99 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init(), sofa::component::mass::MassEdgeCreationFunction(), sofa::component::mass::MassEdgeDestroyFunction(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
| Data< VecMass > sofa::component::mass::DiagonalMass< DataTypes, MassType >::f_mass |
Definition at line 80 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::accFromF(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::addForce(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMass(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMDx(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::addMToMatrix(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::clear(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::getElementMass(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::getKineticEnergy(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::getPotentialEnergy(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::handleTopologyChange(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::init(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::resize().
| sofa::component::topology::HexahedronSetGeometryAlgorithms<DataTypes>* sofa::component::mass::DiagonalMass< DataTypes, MassType >::hexaGeo |
Definition at line 103 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init().
| Data< Real > sofa::component::mass::DiagonalMass< DataTypes, MassType >::m_massDensity |
the mass density used to compute the mass from a mesh topology and geometry
Definition at line 82 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::getMassDensity(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::setMassDensity().
| sofa::component::topology::QuadSetGeometryAlgorithms<DataTypes>* sofa::component::mass::DiagonalMass< DataTypes, MassType >::quadGeo |
Definition at line 101 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init().
| Data< float > sofa::component::mass::DiagonalMass< DataTypes, MassType >::showAxisSize |
Definition at line 86 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw().
| Data< bool > sofa::component::mass::DiagonalMass< DataTypes, MassType >::showCenterOfGravity |
to display the center of gravity of the system
Definition at line 85 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::draw().
| sofa::component::topology::TetrahedronSetGeometryAlgorithms<DataTypes>* sofa::component::mass::DiagonalMass< DataTypes, MassType >::tetraGeo |
Definition at line 102 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init(), sofa::component::mass::MassTetrahedronCreationFunction(), sofa::component::mass::MassTetrahedronDestroyFunction(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
TopologyType sofa::component::mass::DiagonalMass< DataTypes, MassType >::topologyType [protected] |
The type of topology to build the mass from the topology.
Definition at line 91 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::getMassTopologyType(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
| sofa::component::topology::TriangleSetGeometryAlgorithms<DataTypes>* sofa::component::mass::DiagonalMass< DataTypes, MassType >::triangleGeo |
Definition at line 100 of file DiagonalMass.h.
Referenced by sofa::component::mass::DiagonalMass< DataTypes, MassType >::init(), sofa::component::mass::MassTriangleCreationFunction(), sofa::component::mass::MassTriangleDestroyFunction(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit().
1.5.7.1