SOFA API  cba138a4
Open source framework for multi-physics simuation
sofa::component::mass Namespace Reference

Classes

class  AddMToMatrixFunctor
 
class  AddMToMatrixFunctor< defaulttype::RigidDeriv< 2, Real >, defaulttype::RigidMass< 2, Real > >
 
class  AddMToMatrixFunctor< defaulttype::RigidDeriv< 3, Real >, defaulttype::RigidMass< 3, Real > >
 
class  AddMToMatrixFunctor< defaulttype::Vec< N, Real >, defaulttype::Mat< N, N, Real > >
 
class  DiagonalMass
 
class  DiagonalMassInternalData
 
class  MeshMatrixMass
 
class  MeshMatrixMassInternalData
 
class  UniformMass
 

Functions

Mat3x3d MatrixFromEulerXYZ (double thetaX, double thetaY, double thetaZ)
 

Variables

int MeshMatrixMassClass
 
int DiagonalMassClass
 
template class SOFA_BASE_MECHANICS_API DiagonalMass< Vec3Types, double >
 
template class SOFA_BASE_MECHANICS_API DiagonalMass< Vec2Types, double >
 
template class SOFA_BASE_MECHANICS_API DiagonalMass< Vec1Types, double >
 
template class SOFA_BASE_MECHANICS_API DiagonalMass< Rigid3Types, Rigid3Mass >
 
template class SOFA_BASE_MECHANICS_API DiagonalMass< Rigid2Types, Rigid2Mass >
 
int UniformMassClass
 
template class SOFA_BASE_MECHANICS_API UniformMass< Vec3Types, double >
 
template class SOFA_BASE_MECHANICS_API UniformMass< Vec2Types, double >
 
template class SOFA_BASE_MECHANICS_API UniformMass< Vec1Types, double >
 
template class SOFA_BASE_MECHANICS_API UniformMass< Vec6Types, double >
 
template class SOFA_BASE_MECHANICS_API UniformMass< Rigid3Types, Rigid3Mass >
 
template class SOFA_BASE_MECHANICS_API UniformMass< Rigid2Types, Rigid2Mass >
 

Function Documentation

Mat3x3d sofa::component::mass::MatrixFromEulerXYZ ( double  thetaX,
double  thetaY,
double  thetaZ 
)

Variable Documentation

template class SOFA_BASE_MECHANICS_API sofa::component::mass::DiagonalMass< Rigid2Types, Rigid2Mass >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::DiagonalMass< Rigid3Types, Rigid3Mass >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::DiagonalMass< Vec1Types, double >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::DiagonalMass< Vec2Types, double >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::DiagonalMass< Vec3Types, double >
int sofa::component::mass::DiagonalMassClass
Initial value:
= core::RegisterObject("Define a specific mass for each particle")
.add< DiagonalMass<Vec3Types,double> >()
.add< DiagonalMass<Vec2Types,double> >()
.add< DiagonalMass<Vec1Types,double> >()
.add< DiagonalMass<Rigid3Types,Rigid3Mass> >()
.add< DiagonalMass<Rigid2Types,Rigid2Mass> >()
int sofa::component::mass::MeshMatrixMassClass
Initial value:
= core::RegisterObject("Define a specific mass for each particle")
.add< MeshMatrixMass<Vec3Types,Vec3Types::Real> >()
.add< MeshMatrixMass<Vec2Types,Vec2Types::Real> >()
.add< MeshMatrixMass<Vec1Types,Vec1Types::Real> >()
template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Rigid2Types, Rigid2Mass >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Rigid3Types, Rigid3Mass >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Vec1Types, double >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Vec2Types, double >
template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Vec3Types, double >

TEMPLATE INITIALIZATION ///////////////////////////////////////////////// Force template specialization for the most common sofa type. This goes with the extern template declaration in the .h. Declaring extern template avoid the code generation of the template for each compilation unit. see: http://www.stroustrup.com/C++11FAQ.html#extern-templates

template class SOFA_BASE_MECHANICS_API sofa::component::mass::UniformMass< Vec6Types, double >
int sofa::component::mass::UniformMassClass
Initial value:
= core::RegisterObject("Define the same mass for all the particles")
.add< UniformMass<Vec3Types,double> >()
.add< UniformMass<Vec2Types,double> >()
.add< UniformMass<Vec1Types,double> >()
.add< UniformMass<Vec6Types,double> >()
.add< UniformMass<Rigid3Types,Rigid3Mass> >()
.add< UniformMass<Rigid2Types,Rigid2Mass> >()

REGISTERING TO FACTORY ///////////////////////////////////////// Registering the component see: https://www.sofa-framework.org/community/doc/programming-with-sofa/components-api/the-objectfactory/ 1-SOFA_DECL_CLASS(componentName) : Set the class name of the component 2-RegisterObject("description") + .add<> : Register the component 3-.add<>(true) : Set default template