sofa::core::componentmodel::behavior Namespace Reference
[sofa-framework package]

Abstract API of components related to the behavior of simulated objects. More...


Data Structures

class  BaseConstraint
 The classes applyConstraint, getConstraintValue && getConstraintId need to be commented More...
class  BaseConstraintCorrection
 All methods in this class need to be commented More...
class  BaseController
 BaseController Class. More...
class  BaseForceField
 Component computing forces within simulated bodies. More...
class  BaseMass
 Component responsible for mass-related computations (gravity, acceleration). More...
class  BaseMechanicalMapping
 An interface to convert a mechanical model to another mechanical model. More...
class  BaseMechanicalState
 Component storing all state vectors of a simulated body (position, velocity, etc). More...
class  Constraint
 Component computing constraints within a simulated body. More...
class  ForceField
 Component computing forces within a simulated body. More...
class  InteractionConstraint
 InteractionConstraint is a constraint linking several bodies (MechanicalState) together. More...
class  InteractionForceField
 InteractionForceField is a force field linking several bodies (MechanicalState) together. More...
class  LinearSolver
 Abstract interface for linear system solvers. More...
class  MappedModel
 Component storing position and velocity vectors as computed by a Mapping. More...
class  Mass
 Component responsible for mass-related computations (gravity, acceleration). More...
class  MasterSolver
 Component responsible for main simulation algorithms, managing how and when collisions and integrations computations happen. More...
class  MechanicalMapping
 Specialized interface to convert a mechanical model of type In to another mechanical model of type Out. More...
class  MechanicalState
 Component storing all state vectors of a simulated body (position, velocity, etc), using the datatype specified in the templace. More...
class  MixedInteractionConstraint
 Component computing constraints between a pair of simulated body. More...
class  MixedInteractionForceField
 Component computing forces between a pair of simulated body. More...
class  MechanicalMatrix
 Helper class allowing to construct mechanical expressions. More...
class  MultiMatrix
 Helper class providing a high-level view of underlying linear system matrices. More...
class  MultiVector
 Helper class providing a high-level view of underlying state vectors. More...
class  OdeSolver
 Component responsible for timestep integration, i.e. More...
class  PairInteractionConstraint
 Component computing constraints between a pair of simulated body. More...
class  PairInteractionForceField
 Component computing forces between a pair of simulated body. More...
class  State
 Component storing position and velocity vectors. More...

Functions

std::ostream & operator<< (std::ostream &o, const BaseMechanicalState::VecId &v)
template<class Coord , class Deriv , class Vec , class M , class SV >
Deriv inertiaForce (const SV &, const Vec &, const M &, const Coord &, const Deriv &)
 Return the inertia force applied to a body referenced in a moving coordinate system.
template<>
defaulttype::LaparoscopicRigid3Types::Deriv inertiaForce< defaulttype::LaparoscopicRigid3Types::Coord, defaulttype::LaparoscopicRigid3Types::Deriv, defaulttype::Vector3, defaulttype::Rigid3Mass, objectmodel::BaseContext::SpatialVector > (const objectmodel::BaseContext::SpatialVector &vframe, const defaulttype::Vector3 &aframe, const defaulttype::Rigid3Mass &mass, const defaulttype::LaparoscopicRigid3Types::Coord &x, const defaulttype::LaparoscopicRigid3Types::Deriv &v)
 Specialization of the inertia force for defaulttype::RigidTypes.


Detailed Description

Abstract API of components related to the behavior of simulated objects.

Simulated bodies in SOFA are split into components storing the current state (MechanicalState), handling mass properties (Mass), computing forces (ForceField) and constraints (Constraint), and managing the integration algorithm (MasterSolver, OdeSolver).

Depending on the solvers used, two modes of computations are used :


Function Documentation

template<class Coord , class Deriv , class Vec , class M , class SV >
Deriv sofa::core::componentmodel::behavior::inertiaForce ( const SV &  ,
const Vec &  ,
const M &  ,
const Coord &  ,
const Deriv &   
) [inline]

Return the inertia force applied to a body referenced in a moving coordinate system.

Parameters:
sv spatial velocity (omega, vorigin) of the coordinate system
a acceleration of the origin of the coordinate system
m mass of the body
x position of the body in the moving coordinate system
v velocity of the body in the moving coordinate system This default implementation returns no inertia.

Definition at line 169 of file Mass.h.

Referenced by sofa::component::mass::UniformMass< DataTypes, MassType >::addForce(), sofa::component::mass::MatrixMass< DataTypes, MassType >::addForce(), and sofa::component::mass::DiagonalMass< DataTypes, MassType >::addForce().

template<>
defaulttype::LaparoscopicRigid3Types::Deriv sofa::core::componentmodel::behavior::inertiaForce< defaulttype::LaparoscopicRigid3Types::Coord, defaulttype::LaparoscopicRigid3Types::Deriv, defaulttype::Vector3, defaulttype::Rigid3Mass, objectmodel::BaseContext::SpatialVector > ( const objectmodel::BaseContext::SpatialVector &  vframe,
const defaulttype::Vector3 &  aframe,
const defaulttype::Rigid3Mass &  mass,
const defaulttype::LaparoscopicRigid3Types::Coord &  x,
const defaulttype::LaparoscopicRigid3Types::Deriv &  v 
) [inline]

Specialization of the inertia force for defaulttype::RigidTypes.

Todo:
replace zero by Jomega.cross(omega)

std::ostream& sofa::core::componentmodel::behavior::operator<< ( std::ostream &  o,
const BaseMechanicalState::VecId &  v 
) [inline]


Generated on Sun Nov 23 04:22:09 2008 for Sofa by  doxygen 1.5.7.1