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 >::Pos & | getLinear (RigidDeriv< N, T > &v) |
template<sofa::Size N, typename T > | |
constexpr const RigidDeriv< N, T >::Pos & | getLinear (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 >::Pos & | getVCenter (RigidDeriv< N, T > &v) |
template<sofa::Size N, typename T > | |
constexpr const RigidDeriv< N, T >::Pos & | getVCenter (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) |
TemplateAliasesMap & | getTemplateAliasesMap () |
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, MatrixExportFunction > | matrixExporterMap |
sofa::helper::OptionsGroup | matrixExporterOptionsGroup {"txt", "csv"} |
template class SOFA_DEFAULTTYPE_API | SolidTypes< double > |
template class SOFA_DEFAULTTYPE_API | SolidTypes< float > |
using sofa::defaulttype::MatrixExportFunction = typedef std::function<bool(const std::string&, sofa::linearalgebra::BaseMatrix*, int precision)> |
typedef RigidMass< 2, double > sofa::defaulttype::Rigid2dMass |
typedef StdRigidTypes<2,double> sofa::defaulttype::Rigid2dTypes |
typedef RigidMass< 2, float > sofa::defaulttype::Rigid2fMass |
typedef StdRigidTypes<2,float> sofa::defaulttype::Rigid2fTypes |
typedef RigidMass< 2, SReal > sofa::defaulttype::Rigid2Mass |
un-defined precision type
typedef StdRigidTypes<2,SReal> sofa::defaulttype::Rigid2Types |
typedef RigidMass< 3, double > sofa::defaulttype::Rigid3dMass |
typedef StdRigidTypes<3,double> sofa::defaulttype::Rigid3dTypes |
typedef RigidMass< 3, float > sofa::defaulttype::Rigid3fMass |
typedef StdRigidTypes<3,float> sofa::defaulttype::Rigid3fTypes |
typedef RigidMass< 3, SReal > sofa::defaulttype::Rigid3Mass |
un-defined precision type
typedef StdRigidTypes< 3, SReal > sofa::defaulttype::Rigid3Types |
un-defined precision type
typedef StdRigidTypes<3,SReal> sofa::defaulttype::RigidTypes |
alias (beurk)
typedef std::pair<std::string, bool> sofa::defaulttype::TemplateAlias |
typedef std::map<std::string, TemplateAlias> sofa::defaulttype::TemplateAliasesMap |
typedef TemplateAliasesMap::const_iterator sofa::defaulttype::TemplateAliasesMapIterator |
typedef StdVectorTypes< type::Vec1d, type::Vec1d, double > sofa::defaulttype::Vec1dTypes |
1D DOFs, double precision
1f DOFs, single precision
1D DOFs, double precision (default)
typedef StdVectorTypes< type::Vec2d, type::Vec2d, double > sofa::defaulttype::Vec2dTypes |
2D DOFs, double precision
2f DOFs, single precision
2D DOFs, double precision (default)
typedef StdVectorTypes< type::Vec3d, type::Vec3d, double > sofa::defaulttype::Vec3dTypes |
3D DOFs, double precision
3f DOFs, single precision
3D DOFs, double precision (default)
typedef StdVectorTypes< type::Vec6d, type::Vec6d, double > sofa::defaulttype::Vec6dTypes |
6D DOFs, double precision
6f DOFs, single precision
6D DOFs, double precision (default)
using sofa::defaulttype::VirtualTypeInfo = typedef DataTypeInfoDynamicWrapper<DataTypeInfo<T> > |
We make an alias to wrap around the old name to the new one.
|
strong |
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 |
void sofa::defaulttype::addMultTransposeEigen | ( | MapMapSparseMatrix< LhsDeriv > & | lhs, |
const Eigen::SparseMatrix< Real, Eigen::RowMajor > & | jacobian, | ||
const MapMapSparseMatrix< RhsDeriv > & | rhs | ||
) |
Computes lhs += jacobian^T * rhs.
SOFA_DEFAULTTYPE_API void sofa::defaulttype::cleanup | ( | ) |
Clean up the resources used by the SofaDefaultType library, as well as its dependency: SofaHelper.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
TemplateAliasesMap& sofa::defaulttype::getTemplateAliasesMap | ( | ) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
SOFA_DEFAULTTYPE_API void sofa::defaulttype::init | ( | ) |
Initialize the SofaDefaultType library, as well as it dependency: SofaHelper.
SOFA_DEFAULTTYPE_API bool sofa::defaulttype::isCleanedUp | ( | ) |
Return true if and only if the SofaDefaultType library has been cleaned up.
|
constexpr |
|
constexpr |
SOFA_DEFAULTTYPE_API bool sofa::defaulttype::isInitialized | ( | ) |
Return true if and only if the SofaDefaultType library has been initialized.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
void sofa::defaulttype::resetDataTypeVec | ( | Vec & | vec | ) |
Function resetting all the element of a container with its default constructor value type.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
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.
VecDeriv::Real sofa::defaulttype::SparseMatrixVecDerivMult | ( | const MatrixRow & | row, |
const VecDeriv & | vec | ||
) |
|
constexpr |
|
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.
|
constexpr |
|
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.
bool SOFA_DEFAULTTYPE_API sofa::defaulttype::writeMatrixCsv | ( | const std::string & | filename, |
sofa::linearalgebra::BaseMatrix * | matrix, | ||
int | precision | ||
) |
bool SOFA_DEFAULTTYPE_API sofa::defaulttype::writeMatrixTxt | ( | const std::string & | filename, |
sofa::linearalgebra::BaseMatrix * | matrix, | ||
int | precision | ||
) |
SOFA_DEFAULTTYPE_API std::unordered_map< std::string, MatrixExportFunction > sofa::defaulttype::matrixExporterMap |
SOFA_DEFAULTTYPE_API sofa::helper::OptionsGroup sofa::defaulttype::matrixExporterOptionsGroup {"txt", "csv"} |
template class SOFA_DEFAULTTYPE_API sofa::defaulttype::SolidTypes< double > |
template class SOFA_DEFAULTTYPE_API sofa::defaulttype::SolidTypes< float > |