SOFA API  fdacdac3
Open source framework for multi-physics simuation
sofa::defaulttype Namespace Reference

Classes

struct  DataTypeInfo
 
struct  DataTypeInfo< sofa::core::objectmodel::Tag >
 
struct  DataTypeInfo< sofa::core::objectmodel::TagSet >
 
class  AbstractTypeInfo
 
class  RigidDeriv
 
class  RigidCoord
 
class  RigidMass
 
class  StdRigidTypes
 
class  StdVectorTypes
 
struct  CleanupCheck
 
class  MapMapSparseMatrix
 
class  MapMapSparseMatrixToEigenSparse
 
class  MapMapSparseMatrixToEigenSparseVec
 
class  MapMapSparseMatrixToEigenSparse< sofa::type::Vec< N, Real > >
 
class  MapMapSparseMatrixToEigenSparse< sofa::defaulttype::RigidDeriv< N, Real > >
 
class  EigenSparseToMapMapSparseMatrix
 
struct  EigenSparseToMapMapSparseMatrixVec
 
class  EigenSparseToMapMapSparseMatrix< sofa::type::Vec< N, Real > >
 
class  EigenSparseToMapMapSparseMatrix< sofa::defaulttype::RigidDeriv< N, Real > >
 
class  RigidCoord< 3, real >
 
class  RigidCoord< 2, real >
 
class  RigidDeriv< 3, real >
 
class  RigidDeriv< 2, real >
 
class  RigidMass< 3, real >
 
class  RigidMass< 2, real >
 
class  StdRigidTypes< 3, real >
 
class  StdRigidTypes< 2, real >
 
class  SolidTypes
 
class  TemplateAliases
 Class used to store and resolve template aliases. More...
 
class  RegisterTemplateAlias
 Helper class used to register a template alias in the TemplateAliases class. More...
 
struct  DefaultDataTypeInfo
 
class  DataTypeName
 
class  HasGetTypeName
 add a compatibility layer to supper the new existing GetTypeName. More...
 
class  DataTypeInfoDynamicWrapper
 wrap a DataTypeInfo type_traits in an AbstractTypeInfo More...
 
struct  BoolTypeInfo
 
struct  FixedArrayTypeInfo
 
struct  IncompleteTypeInfo
 
struct  IntegerTypeInfo
 
struct  ScalarTypeInfo
 
struct  SetTypeInfo
 
struct  TextTypeInfo
 
struct  VectorTypeInfo
 
class  NameOnlyTypeInfo
 
class  NoTypeInfo
 
struct  DataTypeInfo< bool >
 
struct  BoundingBoxTypeInfo
 
struct  DataTypeInfo< type::BoundingBox >
 
struct  DataTypeInfo< sofa::type::fixed_array< T, N > >
 
struct  DataTypeInfo< char >
 
struct  DataTypeInfo< unsigned char >
 
struct  DataTypeInfo< short >
 
struct  DataTypeInfo< unsigned short >
 
struct  DataTypeInfo< int >
 
struct  DataTypeInfo< unsigned int >
 
struct  DataTypeInfo< long >
 
struct  DataTypeInfo< unsigned long >
 
struct  DataTypeInfo< long long >
 
struct  DataTypeInfo< unsigned long long >
 
struct  DataTypeInfo< sofa::type::Mat< L, C, real > >
 
struct  DataTypeInfo< sofa::type::Quat< T > >
 
class  DataTypeInfo< sofa::type::RGBAColor >
 
struct  DataTypeInfo< sofa::defaulttype::StdRigidTypes< N, real > >
 
struct  DataTypeInfo< sofa::defaulttype::RigidCoord< N, real > >
 
struct  DataTypeInfo< sofa::defaulttype::RigidDeriv< N, real > >
 
struct  DataTypeInfo< sofa::defaulttype::RigidMass< N, real > >
 
struct  DataTypeInfo< float >
 
struct  DataTypeInfo< double >
 
struct  SelectableItemDataTypeInfo
 
struct  DataTypeInfo< T, std::enable_if_t< std::is_base_of_v< helper::BaseSelectableItem, T > > >
 
struct  DataTypeInfo< std::set< T, Compare, Alloc > >
 
struct  DataTypeInfo< std::string >
 
struct  DataTypeInfo< sofa::topology::Edge >
 
struct  DataTypeInfo< sofa::topology::Triangle >
 
struct  DataTypeInfo< sofa::topology::Quad >
 
struct  DataTypeInfo< sofa::topology::Tetrahedron >
 
struct  DataTypeInfo< sofa::topology::Pyramid >
 
struct  DataTypeInfo< sofa::topology::Pentahedron >
 
struct  DataTypeInfo< sofa::topology::Hexahedron >
 
struct  DataTypeInfo< sofa::type::Vec< N, real > >
 
struct  DataTypeInfo< sofa::type::VecNoInit< N, real > >
 
struct  DataTypeInfo< sofa::type::vector< T, Alloc > >
 
struct  DataTypeInfo< sofa::type::vector< bool, Alloc > >
 
struct  DataTypeInfo< sofa::type::vector< std::string, Alloc > >
 
class  TypeInfoId
 Generates unique id for types. More...
 
class  TypeInfoRegistry
 An unique singleton to register all the type info defined in Sofa. More...
 
class  TypeInfoRegistryTools
 A dedicated class to hold helper functions for TypeInfoRegistryTools. More...
 

Typedefs

template<class T >
using VirtualTypeInfo = DataTypeInfoDynamicWrapper< DataTypeInfo< T > >
 We make an alias to wrap around the old name to the new one. More...
 
typedef StdRigidTypes< 2, double > Rigid2dTypes
 
typedef RigidMass< 2, double > Rigid2dMass
 
typedef StdRigidTypes< 2, floatRigid2fTypes
 
typedef RigidMass< 2, floatRigid2fMass
 
typedef StdRigidTypes< 2, SReal > Rigid2Types
 
typedef RigidMass< 2, SReal > Rigid2Mass
 un-defined precision type More...
 
typedef RigidMass< 3, double > Rigid3dMass
 
typedef RigidMass< 3, floatRigid3fMass
 
typedef StdRigidTypes< 3, SReal > Rigid3Types
 un-defined precision type More...
 
typedef RigidMass< 3, SReal > Rigid3Mass
 un-defined precision type More...
 
typedef StdVectorTypes< sofa::type::Vec3d, sofa::type::Vec3d, double > Vec3dTypes
 3D DOFs, double precision More...
 
typedef StdVectorTypes< sofa::type::Vec2d, sofa::type::Vec2d, double > Vec2dTypes
 2D DOFs, double precision More...
 
typedef StdVectorTypes< sofa::type::Vec1d, sofa::type::Vec1d, double > Vec1dTypes
 1D DOFs, double precision More...
 
typedef StdVectorTypes< sofa::type::Vec6d, sofa::type::Vec6d, double > Vec6dTypes
 6D DOFs, double precision More...
 
typedef StdVectorTypes< sofa::type::Vec3f, sofa::type::Vec3f, floatVec3fTypes
 3f DOFs, single precision More...
 
typedef StdVectorTypes< sofa::type::Vec2f, sofa::type::Vec2f, floatVec2fTypes
 2f DOFs, single precision More...
 
typedef StdVectorTypes< sofa::type::Vec1f, sofa::type::Vec1f, floatVec1fTypes
 1f DOFs, single precision More...
 
typedef StdVectorTypes< sofa::type::Vec6f, sofa::type::Vec6f, floatVec6fTypes
 6f DOFs, single precision More...
 
using MatrixExportFunction = std::function< bool(const std::string &, sofa::linearalgebra::BaseMatrix *, int precision)>
 
typedef StdRigidTypes< 3, double > Rigid3dTypes
 
typedef StdRigidTypes< 3, floatRigid3fTypes
 
typedef StdRigidTypes< 3, SReal > RigidTypes
 alias (beurk) More...
 
typedef std::map< std::string, TemplateAliasTemplateAliasesMap
 
typedef TemplateAliasesMap::const_iterator TemplateAliasesMapIterator
 
typedef std::pair< std::string, boolTemplateAlias
 
typedef StdVectorTypes< type::Vec6, type::Vec6, type::Vec6::value_typeVec6Types
 6D DOFs, double precision (default) More...
 
typedef StdVectorTypes< type::Vec3, type::Vec3, type::Vec3::value_typeVec3Types
 3D DOFs, double precision (default) More...
 
typedef StdVectorTypes< type::Vec2, type::Vec2, type::Vec2::value_typeVec2Types
 2D DOFs, double precision (default) More...
 
typedef StdVectorTypes< type::Vec1, type::Vec1, type::Vec1::value_typeVec1Types
 1D DOFs, double precision (default) More...
 

Enumerations

enum class  TypeInfoType { MISSING , NAMEONLY , COMPLETE }
 Encodes the different kind of type infos stored in the TypeInfoRegistry. More...
 

Functions

template<class Vec >
void resetDataTypeVec (Vec &vec)
 Function resetting all the element of a container with its default constructor value type. More...
 
template<sofa::Size N, typename ValueType >
void resetVecTypeVec (vector< Vec< N, ValueType > > &vec)
 In case of a vector<Vec>, zero can be set directly with memset on all the memory space for a faster reset. More...
 
template<>
void resetDataTypeVec< vector< Vec< 6, float > > > (vector< Vec< 6, float > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 6, double > > > (vector< Vec< 6, double > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 3, float > > > (vector< Vec< 3, float > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 3, double > > > (vector< Vec< 3, double > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 2, float > > > (vector< Vec< 2, float > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 2, double > > > (vector< Vec< 2, double > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 1, float > > > (vector< Vec< 1, float > > &vec)
 
template<>
void resetDataTypeVec< vector< Vec< 1, double > > > (vector< Vec< 1, double > > &vec)
 
SOFA_DEFAULTTYPE_API void init ()
 Initialize the SofaDefaultType library, as well as it dependency: SofaHelper. More...
 
SOFA_DEFAULTTYPE_API bool isInitialized ()
 Return true if and only if the SofaDefaultType library has been initialized. More...
 
SOFA_DEFAULTTYPE_API void cleanup ()
 Clean up the resources used by the SofaDefaultType library, as well as its dependency: SofaHelper. More...
 
SOFA_DEFAULTTYPE_API bool isCleanedUp ()
 Return true if and only if the SofaDefaultType library has been cleaned up. More...
 
template<class MatrixRow , class VecDeriv >
VecDeriv::Real SparseMatrixVecDerivMult (const MatrixRow &row, const VecDeriv &vec)
 
template<typename LhsDeriv , typename RhsDeriv , typename Real >
void addMultTransposeEigen (MapMapSparseMatrix< LhsDeriv > &lhs, const Eigen::SparseMatrix< Real, Eigen::RowMajor > &jacobian, const MapMapSparseMatrix< RhsDeriv > &rhs)
 Computes lhs += jacobian^T * rhs. More...
 
bool writeMatrixTxt (const std::string &filename, sofa::linearalgebra::BaseMatrix *matrix, int precision)
 
bool writeMatrixCsv (const std::string &filename, sofa::linearalgebra::BaseMatrix *matrix, int precision)
 
template<typename real , typename real2 >
constexpr RigidDeriv< 3, real > operator* (RigidDeriv< 3, real > r, real2 a)
 
template<typename real , typename real2 >
constexpr RigidDeriv< 3, real > operator/ (RigidDeriv< 3, real > r, real2 a)
 
template<sofa::Size N, typename T >
constexpr RigidDeriv< N, T >::PosgetLinear (RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr const RigidDeriv< N, T >::PosgetLinear (const RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr RigidDeriv< N, T >::Rot & getAngular (RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr const RigidDeriv< N, T >::Rot & getAngular (const RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr RigidDeriv< N, T >::PosgetVCenter (RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr const RigidDeriv< N, T >::PosgetVCenter (const RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr RigidDeriv< N, T >::Rot & getVOrientation (RigidDeriv< N, T > &v)
 
template<sofa::Size N, typename T >
constexpr const RigidDeriv< N, T >::Rot & getVOrientation (const RigidDeriv< N, T > &v)
 
template<typename T , typename R >
constexpr type::Vec< 3, T > velocityAtRotatedPoint (const RigidDeriv< 3, R > &v, const type::Vec< 3, T > &p)
 Velocity at point p, where p is the offset from the origin of the frame, given in the same coordinate system as the velocity of the origin. More...
 
template<typename T , typename R >
constexpr RigidDeriv< 3, R > velocityAtRotatedPoint (const RigidDeriv< 3, R > &v, const RigidCoord< 3, T > &p)
 
template<typename real , typename real2 >
constexpr RigidDeriv< 2, real > operator* (RigidDeriv< 2, real > r, real2 a)
 
template<typename real , typename real2 >
constexpr RigidDeriv< 2, real > operator/ (RigidDeriv< 2, real > r, real2 a)
 
template<typename R , typename T >
constexpr type::Vec< 2, R > velocityAtRotatedPoint (const RigidDeriv< 2, T > &v, const type::Vec< 2, R > &p)
 Velocity at point p, where p is the offset from the origin of the frame, given in the same coordinate system as the velocity of the origin. More...
 
template<typename R , typename T >
constexpr RigidDeriv< 2, T > velocityAtRotatedPoint (const RigidDeriv< 2, T > &v, const RigidCoord< 2, R > &p)
 
template<typename real >
constexpr RigidDeriv< 3, real > operator* (const RigidDeriv< 3, real > &d, const RigidMass< 3, real > &m)
 
template<typename real >
constexpr RigidDeriv< 3, real > operator* (const RigidMass< 3, real > &m, const RigidDeriv< 3, real > &d)
 
template<typename real >
constexpr RigidDeriv< 3, real > operator/ (const RigidDeriv< 3, real > &d, const RigidMass< 3, real > &m)
 
template<typename real >
constexpr RigidDeriv< 2, real > operator* (const RigidDeriv< 2, real > &d, const RigidMass< 2, real > &m)
 
template<typename real >
constexpr RigidDeriv< 2, real > operator/ (const RigidDeriv< 2, real > &d, const RigidMass< 2, real > &m)
 
template<typename T >
const Vec< 3, T > getVCenter (const Vec< 6, T > &v)
 
template<typename T >
const Vec< 3, T > getVOrientation (const Vec< 6, T > &v)
 
TemplateAliasesMapgetTemplateAliasesMap ()
 
template<class T >
constexpr bool isDouble ()
 
template<>
constexpr bool isDouble< double > ()
 
constexpr bool isSRealDouble ()
 
constexpr bool isSRealFloat ()
 
Helpers

Helper Functions to more easily create tests and check the results.

Variables

std::unordered_map< std::string, MatrixExportFunctionmatrixExporterMap
 
sofa::helper::OptionsGroup matrixExporterOptionsGroup {"txt", "csv"}
 
template class SOFA_DEFAULTTYPE_API SolidTypes< double >
 
template class SOFA_DEFAULTTYPE_API SolidTypes< float >
 

Typedef Documentation

◆ MatrixExportFunction

using sofa::defaulttype::MatrixExportFunction = typedef std::function<bool(const std::string&, sofa::linearalgebra::BaseMatrix*, int precision)>

◆ Rigid2dMass

◆ Rigid2dTypes

◆ Rigid2fMass

◆ Rigid2fTypes

◆ Rigid2Mass

un-defined precision type

◆ Rigid2Types

◆ Rigid3dMass

◆ Rigid3dTypes

◆ Rigid3fMass

◆ Rigid3fTypes

◆ Rigid3Mass

un-defined precision type

◆ Rigid3Types

un-defined precision type

◆ RigidTypes

alias (beurk)

◆ TemplateAlias

typedef std::pair<std::string, bool> sofa::defaulttype::TemplateAlias

◆ TemplateAliasesMap

typedef std::map<std::string, TemplateAlias> sofa::defaulttype::TemplateAliasesMap

◆ TemplateAliasesMapIterator

typedef TemplateAliasesMap::const_iterator sofa::defaulttype::TemplateAliasesMapIterator

◆ Vec1dTypes

1D DOFs, double precision

◆ Vec1fTypes

◆ Vec1Types

◆ Vec2dTypes

2D DOFs, double precision

◆ Vec2fTypes

◆ Vec2Types

◆ Vec3dTypes

3D DOFs, double precision

◆ Vec3fTypes

◆ Vec3Types

◆ Vec6dTypes

6D DOFs, double precision

◆ Vec6fTypes

◆ Vec6Types

◆ VirtualTypeInfo

We make an alias to wrap around the old name to the new one.

Enumeration Type Documentation

◆ TypeInfoType

Encodes the different kind of type infos stored in the TypeInfoRegistry.

In the TyepeInfoRegistry we can store different type of type info depending on how much the developer want to provide precise information (or not) on its data type.

MISSING indicates that there was absolutely no valid information to trust in an AbstractTypeInfo object.

NAMEONLY indicates that only the getName() and getTypeName() function are returning valid information.

COMPLETE indicates that all the function like size/getSize/etc... are implemented.

Enumerator
MISSING 
NAMEONLY 
COMPLETE 

Function Documentation

◆ addMultTransposeEigen()

template<typename LhsDeriv , typename RhsDeriv , typename Real >
void sofa::defaulttype::addMultTransposeEigen ( MapMapSparseMatrix< LhsDeriv > &  lhs,
const Eigen::SparseMatrix< Real, Eigen::RowMajor > &  jacobian,
const MapMapSparseMatrix< RhsDeriv > &  rhs 
)

Computes lhs += jacobian^T * rhs.

◆ cleanup()

SOFA_DEFAULTTYPE_API void sofa::defaulttype::cleanup ( )

Clean up the resources used by the SofaDefaultType library, as well as its dependency: SofaHelper.

◆ getAngular() [1/2]

template<sofa::Size N, typename T >
constexpr const RigidDeriv<N,T>::Rot& sofa::defaulttype::getAngular ( const RigidDeriv< N, T > &  v)
constexpr

◆ getAngular() [2/2]

template<sofa::Size N, typename T >
constexpr RigidDeriv<N,T>::Rot& sofa::defaulttype::getAngular ( RigidDeriv< N, T > &  v)
constexpr

◆ getLinear() [1/2]

template<sofa::Size N, typename T >
constexpr const RigidDeriv<N,T>::Pos& sofa::defaulttype::getLinear ( const RigidDeriv< N, T > &  v)
constexpr

◆ getLinear() [2/2]

template<sofa::Size N, typename T >
constexpr RigidDeriv<N,T>::Pos& sofa::defaulttype::getLinear ( RigidDeriv< N, T > &  v)
constexpr

◆ getTemplateAliasesMap()

TemplateAliasesMap& sofa::defaulttype::getTemplateAliasesMap ( )

◆ getVCenter() [1/3]

template<sofa::Size N, typename T >
constexpr const RigidDeriv<N,T>::Pos& sofa::defaulttype::getVCenter ( const RigidDeriv< N, T > &  v)
constexpr

◆ getVCenter() [2/3]

template<typename T >
const Vec<3, T> sofa::defaulttype::getVCenter ( const Vec< 6, T > &  v)

◆ getVCenter() [3/3]

template<sofa::Size N, typename T >
constexpr RigidDeriv<N,T>::Pos& sofa::defaulttype::getVCenter ( RigidDeriv< N, T > &  v)
constexpr

◆ getVOrientation() [1/3]

template<sofa::Size N, typename T >
constexpr const RigidDeriv<N,T>::Rot& sofa::defaulttype::getVOrientation ( const RigidDeriv< N, T > &  v)
constexpr

◆ getVOrientation() [2/3]

template<typename T >
const Vec<3, T> sofa::defaulttype::getVOrientation ( const Vec< 6, T > &  v)

◆ getVOrientation() [3/3]

template<sofa::Size N, typename T >
constexpr RigidDeriv<N,T>::Rot& sofa::defaulttype::getVOrientation ( RigidDeriv< N, T > &  v)
constexpr

◆ init()

SOFA_DEFAULTTYPE_API void sofa::defaulttype::init ( )

Initialize the SofaDefaultType library, as well as it dependency: SofaHelper.

◆ isCleanedUp()

SOFA_DEFAULTTYPE_API bool sofa::defaulttype::isCleanedUp ( )

Return true if and only if the SofaDefaultType library has been cleaned up.

◆ isDouble()

template<class T >
constexpr bool sofa::defaulttype::isDouble ( )
constexpr

◆ isDouble< double >()

template<>
constexpr bool sofa::defaulttype::isDouble< double > ( )
constexpr

◆ isInitialized()

SOFA_DEFAULTTYPE_API bool sofa::defaulttype::isInitialized ( )

Return true if and only if the SofaDefaultType library has been initialized.

◆ isSRealDouble()

constexpr bool sofa::defaulttype::isSRealDouble ( )
constexpr

◆ isSRealFloat()

constexpr bool sofa::defaulttype::isSRealFloat ( )
constexpr

◆ operator*() [1/5]

template<typename real >
constexpr RigidDeriv<2,real> sofa::defaulttype::operator* ( const RigidDeriv< 2, real > &  d,
const RigidMass< 2, real > &  m 
)
constexpr

◆ operator*() [2/5]

template<typename real >
constexpr RigidDeriv<3,real> sofa::defaulttype::operator* ( const RigidDeriv< 3, real > &  d,
const RigidMass< 3, real > &  m 
)
constexpr

◆ operator*() [3/5]

template<typename real >
constexpr RigidDeriv<3,real> sofa::defaulttype::operator* ( const RigidMass< 3, real > &  m,
const RigidDeriv< 3, real > &  d 
)
constexpr

◆ operator*() [4/5]

template<typename real , typename real2 >
constexpr RigidDeriv<2,real> sofa::defaulttype::operator* ( RigidDeriv< 2, real >  r,
real2  a 
)
constexpr

◆ operator*() [5/5]

template<typename real , typename real2 >
constexpr RigidDeriv<3,real> sofa::defaulttype::operator* ( RigidDeriv< 3, real >  r,
real2  a 
)
constexpr

◆ operator/() [1/4]

template<typename real >
constexpr RigidDeriv<2,real> sofa::defaulttype::operator/ ( const RigidDeriv< 2, real > &  d,
const RigidMass< 2, real > &  m 
)
constexpr

◆ operator/() [2/4]

template<typename real >
constexpr RigidDeriv<3,real> sofa::defaulttype::operator/ ( const RigidDeriv< 3, real > &  d,
const RigidMass< 3, real > &  m 
)
constexpr

◆ operator/() [3/4]

template<typename real , typename real2 >
constexpr RigidDeriv<2,real> sofa::defaulttype::operator/ ( RigidDeriv< 2, real >  r,
real2  a 
)
constexpr

◆ operator/() [4/4]

template<typename real , typename real2 >
constexpr RigidDeriv<3,real> sofa::defaulttype::operator/ ( RigidDeriv< 3, real >  r,
real2  a 
)
constexpr

◆ resetDataTypeVec()

template<class Vec >
void sofa::defaulttype::resetDataTypeVec ( Vec vec)

Function resetting all the element of a container with its default constructor value type.

◆ resetDataTypeVec< vector< Vec< 1, double > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 1, double > > > ( vector< Vec< 1, double > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 1, float > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 1, float > > > ( vector< Vec< 1, float > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 2, double > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 2, double > > > ( vector< Vec< 2, double > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 2, float > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 2, float > > > ( vector< Vec< 2, float > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 3, double > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 3, double > > > ( vector< Vec< 3, double > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 3, float > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 3, float > > > ( vector< Vec< 3, float > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 6, double > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 6, double > > > ( vector< Vec< 6, double > > &  vec)
inline

◆ resetDataTypeVec< vector< Vec< 6, float > > >()

template<>
void sofa::defaulttype::resetDataTypeVec< vector< Vec< 6, float > > > ( vector< Vec< 6, float > > &  vec)
inline

◆ resetVecTypeVec()

template<sofa::Size N, typename ValueType >
void sofa::defaulttype::resetVecTypeVec ( vector< Vec< N, ValueType > > &  vec)

In case of a vector<Vec>, zero can be set directly with memset on all the memory space for a faster reset.

◆ SparseMatrixVecDerivMult()

template<class MatrixRow , class VecDeriv >
VecDeriv::Real sofa::defaulttype::SparseMatrixVecDerivMult ( const MatrixRow &  row,
const VecDeriv &  vec 
)

◆ velocityAtRotatedPoint() [1/4]

template<typename R , typename T >
constexpr RigidDeriv<2,T> sofa::defaulttype::velocityAtRotatedPoint ( const RigidDeriv< 2, T > &  v,
const RigidCoord< 2, R > &  p 
)
constexpr

◆ velocityAtRotatedPoint() [2/4]

template<typename R , typename T >
constexpr type::Vec<2,R> sofa::defaulttype::velocityAtRotatedPoint ( const RigidDeriv< 2, T > &  v,
const type::Vec< 2, R > &  p 
)
constexpr

Velocity at point p, where p is the offset from the origin of the frame, given in the same coordinate system as the velocity of the origin.

◆ velocityAtRotatedPoint() [3/4]

template<typename T , typename R >
constexpr RigidDeriv<3,R> sofa::defaulttype::velocityAtRotatedPoint ( const RigidDeriv< 3, R > &  v,
const RigidCoord< 3, T > &  p 
)
constexpr

◆ velocityAtRotatedPoint() [4/4]

template<typename T , typename R >
constexpr type::Vec<3,T> sofa::defaulttype::velocityAtRotatedPoint ( const RigidDeriv< 3, R > &  v,
const type::Vec< 3, T > &  p 
)
constexpr

Velocity at point p, where p is the offset from the origin of the frame, given in the same coordinate system as the velocity of the origin.

◆ writeMatrixCsv()

bool SOFA_DEFAULTTYPE_API sofa::defaulttype::writeMatrixCsv ( const std::string &  filename,
sofa::linearalgebra::BaseMatrix matrix,
int  precision 
)

◆ writeMatrixTxt()

bool SOFA_DEFAULTTYPE_API sofa::defaulttype::writeMatrixTxt ( const std::string &  filename,
sofa::linearalgebra::BaseMatrix matrix,
int  precision 
)

Variable Documentation

◆ matrixExporterMap

SOFA_DEFAULTTYPE_API std::unordered_map< std::string, MatrixExportFunction > sofa::defaulttype::matrixExporterMap
Initial value:
{
{"txt", writeMatrixTxt},
{"csv", writeMatrixCsv},
}
bool writeMatrixCsv(const std::string &filename, sofa::linearalgebra::BaseMatrix *matrix, int precision)
Definition: MatrixExporter.cpp:51
bool writeMatrixTxt(const std::string &filename, sofa::linearalgebra::BaseMatrix *matrix, int precision)
Definition: MatrixExporter.cpp:38

◆ matrixExporterOptionsGroup

SOFA_DEFAULTTYPE_API sofa::helper::OptionsGroup sofa::defaulttype::matrixExporterOptionsGroup {"txt", "csv"}

◆ SolidTypes< double >

template class SOFA_DEFAULTTYPE_API sofa::defaulttype::SolidTypes< double >

◆ SolidTypes< float >

template class SOFA_DEFAULTTYPE_API sofa::defaulttype::SolidTypes< float >