for std::pair More...
Namespaces | |
| functionality | |
| pairwise | |
| trait | |
Classes | |
| class | BoundingBox |
| class | TBoundingBox |
| class | BoundingBox2D |
| bounding rectangle More... | |
| class | BoundingBox1D |
| bounding interval More... | |
| class | DualQuatCoord3 |
| class | fixed_array |
| class | Frame |
| class | Vec |
| class | VecNoInit |
| Same as Vec except the values are not initialized by default. More... | |
| class | Mat |
| class | MatNoInit |
| Same as Mat except the values are not initialized by default. More... | |
| class | Quat |
| struct | CleanupCheck |
| class | Material |
| class | MatSym |
| class | PrimitiveGroup |
| struct | qNoInit |
| class | QuatNoInit |
| Same as Quat except the values are not initialized by default. More... | |
| class | Ray |
| class | RGBAColor |
| encode a 4 RGBA component color More... | |
| class | SpatialVector |
| struct | StrongType |
| class | SVector |
| Same as type::vector, + delimiters on serialization. More... | |
| struct | Rebind |
| struct | Rebind< _T, _OtherType > |
| Specialization for types that do have a nested rebind_to member. In this implementation, Rebind has a public member typedef to. It corresponds to the typedef rebind_to. More... | |
| class | Transform |
| struct | NoInit |
| class | vector_device |
| class | CPUMemoryManager |
| class | vector |
Typedefs | |
| typedef Vec< 1, float > | Vec1f |
| typedef Vec< 1, double > | Vec1d |
| typedef Vec< 1, int > | Vec1i |
| typedef Vec< 1, unsigned > | Vec1u |
| typedef Vec< 1, SReal > | Vec1 |
| typedef Vec< 2, float > | Vec2f |
| typedef Vec< 2, double > | Vec2d |
| typedef Vec< 2, int > | Vec2i |
| typedef Vec< 2, unsigned > | Vec2u |
| typedef Vec< 2, SReal > | Vec2 |
| typedef Vec< 3, float > | Vec3f |
| typedef Vec< 3, double > | Vec3d |
| typedef Vec< 3, int > | Vec3i |
| typedef Vec< 3, unsigned > | Vec3u |
| typedef Vec< 3, SReal > | Vec3 |
| typedef Vec< 4, float > | Vec4f |
| typedef Vec< 4, double > | Vec4d |
| typedef Vec< 4, int > | Vec4i |
| typedef Vec< 4, unsigned > | Vec4u |
| typedef Vec< 4, SReal > | Vec4 |
| typedef Vec< 6, float > | Vec6f |
| typedef Vec< 6, double > | Vec6d |
| typedef Vec< 6, int > | Vec6i |
| typedef Vec< 6, unsigned > | Vec6u |
| typedef Vec< 6, SReal > | Vec6 |
| typedef Mat< 1, 1, float > | Mat1x1f |
| typedef Mat< 1, 1, double > | Mat1x1d |
| typedef Mat< 2, 2, float > | Mat2x2f |
| typedef Mat< 2, 2, double > | Mat2x2d |
| typedef Mat< 3, 3, float > | Mat3x3f |
| typedef Mat< 3, 3, double > | Mat3x3d |
| typedef Mat< 3, 4, float > | Mat3x4f |
| typedef Mat< 3, 4, double > | Mat3x4d |
| typedef Mat< 4, 4, float > | Mat4x4f |
| typedef Mat< 4, 4, double > | Mat4x4d |
| typedef Mat< 6, 6, float > | Mat6x6f |
| typedef Mat< 6, 6, double > | Mat6x6d |
| typedef Mat< 2, 2, SReal > | Mat2x2 |
| typedef Mat< 3, 3, SReal > | Mat3x3 |
| typedef Mat< 4, 4, SReal > | Mat4x4 |
| typedef Mat< 6, 6, SReal > | Mat6x6 |
| typedef Mat< 2, 2, SReal > | Matrix2 |
| typedef Mat< 3, 3, SReal > | Matrix3 |
| typedef Mat< 4, 4, SReal > | Matrix4 |
| using | Quatd = type::Quat< double > |
| using | Quatf = type::Quat< float > |
| using | BoundingBox3D = BoundingBox |
| using | FixedArray1i = fixed_array< int, 1 > |
| using | FixedArray1I = fixed_array< unsigned int, 1 > |
| using | FixedArray2i = fixed_array< int, 2 > |
| using | FixedArray2I = fixed_array< unsigned int, 2 > |
| using | FixedArray3i = fixed_array< int, 3 > |
| using | FixedArray3I = fixed_array< unsigned int, 3 > |
| using | FixedArray4i = fixed_array< int, 4 > |
| using | FixedArray4I = fixed_array< unsigned int, 4 > |
| using | FixedArray5i = fixed_array< int, 5 > |
| using | FixedArray5I = fixed_array< unsigned int, 5 > |
| using | FixedArray6i = fixed_array< int, 6 > |
| using | FixedArray6I = fixed_array< unsigned int, 6 > |
| using | FixedArray7i = fixed_array< int, 7 > |
| using | FixedArray7I = fixed_array< unsigned int, 7 > |
| using | FixedArray8i = fixed_array< int, 8 > |
| using | FixedArray8I = fixed_array< unsigned int, 8 > |
| using | FixedArray1f = fixed_array< float, 1 > |
| using | FixedArray1d = fixed_array< double, 1 > |
| using | FixedArray2f = fixed_array< float, 2 > |
| using | FixedArray2d = fixed_array< double, 2 > |
| using | FixedArray3f = fixed_array< float, 3 > |
| using | FixedArray3d = fixed_array< double, 3 > |
| using | FixedArray4f = fixed_array< float, 4 > |
| using | FixedArray4d = fixed_array< double, 4 > |
| using | FixedArray5f = fixed_array< float, 5 > |
| using | FixedArray5d = fixed_array< double, 5 > |
| using | FixedArray6f = fixed_array< float, 6 > |
| using | FixedArray6d = fixed_array< double, 6 > |
| using | FixedArray7f = fixed_array< float, 7 > |
| using | FixedArray7d = fixed_array< double, 7 > |
| using | FixedArray8f = fixed_array< float, 8 > |
| using | FixedArray8d = fixed_array< double, 8 > |
| template<class T , class A = std::allocator<T>> | |
| using | stable_vector = boost::container::stable_vector< T, A > |
| template<class T , class B > | |
| using | rebind_to = typename Rebind< T, B >::to |
Functions | |
| BoundingBox::bbox_t | make_neutralBBox () |
| template<typename... Ts> | |
| constexpr auto | make_array (Ts &&... ts) -> fixed_array< std::common_type_t< Ts... >, sizeof...(Ts)> |
| template<class First , class... Rest> | |
| fixed_array (First, Rest...) -> fixed_array< std::common_type_t< First, Rest... >, 1+sizeof...(Rest)> | |
| template<typename T , sofa::Size N> | |
| constexpr sofa::type::fixed_array< T, N > | makeHomogeneousArray (const T &value) |
| Builds a fixed_array in which all elements have the same value. More... | |
| template<typename FixedArray > | |
| constexpr FixedArray | makeHomogeneousArray (const typename FixedArray::value_type &value) |
| Builds a fixed_array in which all elements have the same value. More... | |
| template<typename T , sofa::Size N> | |
| constexpr bool | operator< (const fixed_array< T, N > &v1, const fixed_array< T, N > &v2) noexcept |
| Checks if v1 is lexicographically less than v2. Similar to std::lexicographical_compare. More... | |
| template<typename T , sofa::Size N> | |
| constexpr bool | operator> (const fixed_array< T, N > &v1, const fixed_array< T, N > &v2) noexcept |
| std::ostream & | operator<< (std::ostream &out, const sofa::type::Frame &c) |
| SOFA_TYPE_API void | init () |
| Initialize the SofaHelper library. More... | |
| SOFA_TYPE_API bool | isInitialized () |
| Return true if and only if the SofaHelper library has been initialized. More... | |
| SOFA_TYPE_API void | cleanup () |
| Clean up the resources used by the SofaHelper library. More... | |
| SOFA_TYPE_API bool | isCleanedUp () |
| Return true if and only if the SofaHelper library has been cleaned up. More... | |
| SOFA_TYPE_API void | printUninitializedLibraryWarning (const std::string &library, const std::string &initFunction) |
| Print a warning about a library not being initialized (meant for internal use). More... | |
| SOFA_TYPE_API void | printLibraryNotCleanedUpWarning (const std::string &library, const std::string &cleanupFunction) |
| Print a warning about a library not being cleaned up (meant for internal use). More... | |
| template<sofa::Size L, sofa::Size C, sofa::Size P, class real > | |
| constexpr Mat< C, P, real > | multTranspose (const Mat< L, C, real > &m1, const Mat< L, P, real > &m2) noexcept |
| template<class real > | |
| constexpr real | determinant (const Mat< 3, 3, real > &m) noexcept |
| Determinant of a 3x3 matrix. More... | |
| template<class real > | |
| constexpr real | determinant (const Mat< 2, 2, real > &m) noexcept |
| Determinant of a 2x2 matrix. More... | |
| template<class real > | |
| constexpr real | determinant (const Mat< 2, 3, real > &m) noexcept |
| template<class real > | |
| constexpr real | determinant (const Mat< 3, 2, real > &m) noexcept |
| template<class real > | |
| real | oneNorm (const Mat< 3, 3, real > &A) |
| template<class real > | |
| real | infNorm (const Mat< 3, 3, real > &A) |
| template<sofa::Size N, class real > | |
| constexpr real | trace (const Mat< N, N, real > &m) noexcept |
| trace of a square matrix More... | |
| template<sofa::Size N, class real > | |
| constexpr Vec< N, real > | diagonal (const Mat< N, N, real > &m) |
| diagonal of a square matrix More... | |
| template<sofa::Size S, class real > | |
| bool | invertMatrix (Mat< S, S, real > &dest, const Mat< S, S, real > &from) |
| Matrix inversion (general case). More... | |
| template<class real > | |
| constexpr bool | invertMatrix (Mat< 3, 3, real > &dest, const Mat< 3, 3, real > &from) |
| Matrix inversion (special case 3x3). More... | |
| template<class real > | |
| constexpr bool | invertMatrix (Mat< 2, 2, real > &dest, const Mat< 2, 2, real > &from) |
| Matrix inversion (special case 2x2). More... | |
| template<class real > | |
| constexpr bool | invertMatrix (Mat< 1, 1, real > &dest, const Mat< 1, 1, real > &from) |
| Matrix inversion (special case 1x1). More... | |
| template<sofa::Size S, class real > | |
| constexpr bool | transformInvertMatrix (Mat< S, S, real > &dest, const Mat< S, S, real > &from) |
| Inverse Matrix considering the matrix as a transformation. More... | |
| template<sofa::Size L, sofa::Size C, typename real > | |
| std::ostream & | operator<< (std::ostream &o, const Mat< L, C, real > &m) |
| template<sofa::Size L, sofa::Size C, typename real > | |
| std::istream & | operator>> (std::istream &in, Mat< L, C, real > &m) |
| template<sofa::Size L, sofa::Size C, typename real > | |
| void | printMatlab (std::ostream &o, const Mat< L, C, real > &m) |
| printing in other software formats More... | |
| template<sofa::Size L, sofa::Size C, typename real > | |
| void | printMaple (std::ostream &o, const Mat< L, C, real > &m) |
| template<class Tu , class Tv > | |
| constexpr Mat< Tu::size(), Tv::size(), typename Tu::value_type > | dyad (const Tu &u, const Tv &v) noexcept |
Create a matrix as . More... | |
| template<sofa::Size L, sofa::Size C, typename real > | |
| constexpr real | scalarProduct (const Mat< L, C, real > &left, const Mat< L, C, real > &right) noexcept |
| Compute the scalar product of two matrix (sum of product of all terms) More... | |
| template<class Real > | |
| constexpr Mat< 3, 3, Real > | crossProductMatrix (const Vec< 3, Real > &v) noexcept |
| template<sofa::Size L, class Real > | |
| constexpr Mat< L, L, Real > | tensorProduct (const Vec< L, Real > &a, const Vec< L, Real > &b) noexcept |
| return a * b^T More... | |
| template<sofa::Size L, sofa::Size C, sofa::Size P, class real > | |
| constexpr Mat< L, P, real > | operator* (const Mat< L, C, real > &m1, const Mat< C, P, real > &m2) noexcept |
| template<class real > | |
| constexpr Mat< 3, 3, real > | operator* (const Mat< 3, 3, real > &m1, const Mat< 3, 3, real > &m2) noexcept |
| template<class real > | |
| constexpr Mat< 3, 3, real > | multTranspose (const Mat< 3, 3, real > &m1, const Mat< 3, 3, real > &m2) noexcept |
| template<Size n, class real > | |
| bool | cholDcmp (Mat< n, n, real > &L, const Mat< n, n, real > &M) |
| template<Size n, class real > | |
| void | cholBksb (Vec< n, real > &x, const Mat< n, n, real > &L, const Vec< n, real > &b) |
| template<Size n, class real > | |
| bool | cholSlv (Vec< n, real > &x, const Mat< n, n, real > &M, const Vec< n, real > &b) |
| template<Size n, class real > | |
| bool | cholInv (Mat< n, n, real > &Inv, const Mat< n, n, real > &M) |
| template<Size dim, typename real > | |
| bool | solveLCP (const Vec< dim, real > &q, const Mat< dim, dim, real > &M, Vec< dim *2, real > &res) |
| template<int n, typename Real > | |
| void | ludcmp (Mat< n, n, Real > &a, Vec< n, int > &indx) |
| Compute the LU decomposition of matrix a. a is replaced by its pivoted LU decomposition. indx stores pivoting indices. More... | |
| template<int n, typename Real > | |
| void | lubksb (const Mat< n, n, Real > &a, const Vec< n, int > &indx, Vec< n, Real > &b) |
| Compute the solution of Mx=b. b is replaced by x. a and indx together represent the LU decomposition of m, as given my method ludcmp. More... | |
| template<int n, typename Real > | |
| void | luinv (Mat< n, n, Real > &inv, Mat< n, n, Real > &m) |
| template<class T1 , class T2 > | |
| const T1 | S_MAX (const T1 &a, const T2 &b) |
| return the max of two values More... | |
| template<class T1 , class T2 > | |
| const T1 | S_MIN (const T1 &a, const T2 &b) |
| return the min of two values More... | |
| template<class T1 , class T2 > | |
| const T1 | S_SIGN (const T1 &a, const T2 &b) |
| template<class T > | |
| const T | S_SQR (const T a) |
| template<class T1 , class T2 > | |
| T1 | pythag (const T1 a, const T2 b) |
| Computes sqrt(a^2 + b^2) without destructive underflow or overflow. More... | |
| template<int m, int n, typename Real > | |
| void | svddcmp (Mat< m, n, Real > &a, Vec< n, Real > &w, Mat< n, m, Real > &v) |
| Compute the SVD decomposition of matrix a (from nr). a is replaced by its pivoted LU decomposition. indx stores pivoting indices. More... | |
| template<int m, int n, typename Real > | |
| Real | cond (Mat< m, n, Real > &a) |
| return the condition number of the matrix a following the euclidean norm (using the svd decomposition to find singular values) More... | |
| std::ostream & | operator<< (std::ostream &out, const Material &m) |
| std::istream & | operator>> (std::istream &in, Material &m) |
| template<sofa::Size D, class real > | |
| Mat< D, D, real > | operator* (const Mat< D, D, real > &a, const MatSym< D, real > &b) |
| template<class real > | |
| real | determinant (const MatSym< 3, real > &m) |
| Determinant of a 3x3 matrix. More... | |
| template<class real > | |
| real | determinant (const MatSym< 2, real > &m) |
| Determinant of a 2x2 matrix. More... | |
| template<class real > | |
| real | trace (const MatSym< 3, real > &m) |
| Trace of a 3x3 matrix. More... | |
| template<class real > | |
| real | trace (const MatSym< 2, real > &m) |
| Trace of a 2x2 matrix. More... | |
| template<sofa::Size S, class real > | |
| bool | invertMatrix (MatSym< S, real > &dest, const MatSym< S, real > &from) |
| Matrix inversion (general case). More... | |
| template<class real > | |
| bool | invertMatrix (MatSym< 3, real > &dest, const MatSym< 3, real > &from) |
| Matrix inversion (special case 3x3). More... | |
| template<class real > | |
| bool | invertMatrix (MatSym< 2, real > &dest, const MatSym< 2, real > &from) |
| Matrix inversion (special case 2x2). More... | |
| template<sofa::Size D, class real > | |
| std::ostream & | operator<< (std::ostream &o, const MatSym< D, real > &m) |
| template<sofa::Size D, class real > | |
| std::istream & | operator>> (std::istream &in, MatSym< D, real > &m) |
| template<sofa::Size D, typename real > | |
| real | scalarProduct (const MatSym< D, real > &left, const MatSym< D, real > &right) |
| Compute the scalar product of two matrix (sum of product of all terms) More... | |
| template<sofa::Size D, typename real > | |
| real | scalarProduct (const MatSym< D, real > &left, const Mat< D, D, real > &right) |
| template<sofa::Size D, typename real > | |
| real | scalarProduct (const Mat< D, D, real > &left, const MatSym< D, real > &right) |
| std::ostream & | operator<< (std::ostream &out, const PrimitiveGroup &g) |
| std::istream & | operator>> (std::istream &in, PrimitiveGroup &g) |
| template SOFA_TYPE_API std::ostream & | operator<< (std::ostream &out, const Quat< double > &v) |
| template SOFA_TYPE_API std::istream & | operator>> (std::istream &in, Quat< double > &v) |
| template SOFA_TYPE_API std::ostream & | operator<< (std::ostream &out, const Quat< float > &v) |
| template SOFA_TYPE_API std::istream & | operator>> (std::istream &in, Quat< float > &v) |
| template<class Real > | |
| SOFA_TYPE_API std::ostream & | operator<< (std::ostream &out, const Quat< Real > &v) |
| write to an output stream More... | |
| template<class Real > | |
| SOFA_TYPE_API std::istream & | operator>> (std::istream &in, Quat< Real > &v) |
| read from an input stream More... | |
| template<class Real > | |
| std::ostream & | operator<< (std::ostream &out, const Quat< Real > &v) |
| write to an output stream More... | |
| template<class Real > | |
| std::istream & | operator>> (std::istream &in, Quat< Real > &v) |
| read from an input stream More... | |
| SOFA_TYPE_API std::istream & | operator>> (std::istream &i, RGBAColor &t) |
| SOFA_TYPE_API std::ostream & | operator<< (std::ostream &out, const RGBAColor &t) |
| Write to an output stream. More... | |
| constexpr RGBAColor | operator- (const RGBAColor &l, const RGBAColor &r) |
| constexpr RGBAColor | operator+ (const RGBAColor &l, const RGBAColor &r) |
| constexpr RGBAColor | operator/ (const RGBAColor &l, const float div) |
| template<template< class > class _T, class A , class _OtherType > | |
| requires (!CanTypeRebind< _T< A >, _OtherType >) struct Rebind< _T< A > | |
| Specialization for types that do NOT have a nested rebind_to member. In this implementation, Rebind has a public member typedef to. More... | |
| template<class First , class... Rest> | |
| Vec (First, Rest...) -> Vec< 1+sizeof...(Rest), std::common_type_t< First, Rest... > > | |
| template<class First , class... Rest> | |
| VecNoInit (First, Rest...) -> VecNoInit< 1+sizeof...(Rest), std::common_type_t< First, Rest... > > | |
| template<sofa::Size N, typename Real > | |
| std::istream & | operator>> (std::istream &in, Vec< N, Real > &v) |
| Read from an input stream. More... | |
| template<sofa::Size N, typename Real > | |
| std::ostream & | operator<< (std::ostream &out, const Vec< N, Real > &v) |
| Write to an output stream. More... | |
| template<typename real1 , typename real2 > | |
| constexpr Vec< 3, real1 > | cross (const Vec< 3, real1 > &a, const Vec< 3, real2 > &b) noexcept |
| Cross product for 3-elements vectors. More... | |
| template<typename real1 , typename real2 > | |
| constexpr real1 | cross (const type::Vec< 2, real1 > &a, const type::Vec< 2, real2 > &b) noexcept |
| Cross product for 2-elements vectors. More... | |
| template<sofa::Size N, typename real > | |
| constexpr real | dot (const Vec< N, real > &a, const Vec< N, real > &b) noexcept |
| Dot product (alias for operator*) More... | |
| template<sofa::Size N, typename real > | |
| constexpr Vec< N, real > | operator* (const double &a, const Vec< N, real > &V) noexcept |
| template<sofa::Size N, typename real > | |
| constexpr Vec< N, real > | operator* (const float &a, const Vec< N, real > &V) noexcept |
| template<typename T , sofa::Size N> | |
| constexpr bool | operator< (const Vec< N, T > &v1, const Vec< N, T > &v2) noexcept |
| Checks if v1 is lexicographically less than v2. Similar to std::lexicographical_compare. More... | |
| void SOFA_TYPE_API | vector_access_failure (const void *vec, const std::size_t size, const std::size_t i, const std::type_info &type) |
| template<class T1 , class T2 > | |
| void | remove (T1 &v, const T2 &elem) |
| template<class T1 , class T2 > | |
| void | removeValue (T1 &v, const T2 &elem) |
| template<class T , class TT > | |
| void | removeIndex (std::vector< T, TT > &v, size_t index) |
| Remove value at given index, replace it by the value at the last index, other values are not changed. More... | |
| SOFA_TYPE_API int | getInteger (const std::string &s, std::stringstream &msg, unsigned int &numErrors) |
| SOFA_TYPE_API unsigned int | getUnsignedInteger (const std::string &s, std::stringstream &msg, unsigned int &numErrors) |
linear algebra on standard vectors | |
| template<class V1 , class V2 > | |
| SReal | dot (const V1 &vector1, const V2 &vector2) |
| Dot product of two vectors. More... | |
| template<class V > | |
| SReal | norm (const V &v) |
| Norm of a vector. More... | |
| template<class V1 , class Scalar , class V2 , class V3 > | |
| void | axpy (V1 &result, Scalar a, const V2 &x, const V3 &y) |
| Vector operation: result = ax + y. More... | |
Variables | |
| template class SOFA_TYPE_API | DualQuatCoord3< double > |
| template class SOFA_TYPE_API | DualQuatCoord3< float > |
| template class SOFA_TYPE_API | fixed_array< float, 2 > |
| template class SOFA_TYPE_API | fixed_array< double, 2 > |
| template class SOFA_TYPE_API | fixed_array< float, 3 > |
| template class SOFA_TYPE_API | fixed_array< double, 3 > |
| template class SOFA_TYPE_API | fixed_array< float, 4 > |
| template class SOFA_TYPE_API | fixed_array< double, 4 > |
| template class SOFA_TYPE_API | fixed_array< float, 5 > |
| template class SOFA_TYPE_API | fixed_array< double, 5 > |
| template class SOFA_TYPE_API | fixed_array< float, 6 > |
| template class SOFA_TYPE_API | fixed_array< double, 6 > |
| template class SOFA_TYPE_API | fixed_array< float, 7 > |
| template class SOFA_TYPE_API | fixed_array< double, 7 > |
| template<class T > | |
| concept | isRigidType |
| template class SOFA_TYPE_API | Quat< double > |
| Explicit instantiation of the quaternions for double precision. More... | |
| template class SOFA_TYPE_API | Quat< float > |
| Explicit instantiation of the quaternions for single precision. More... | |
| constexpr qNoInit | QNOINIT |
| const std::map< std::string, RGBAColor > | stringToColorMap |
| constexpr RGBAColor | g_white {1.0f, 1.0f, 1.0f, 1.0f} |
| constexpr RGBAColor | g_black {0.0f, 0.0f, 0.0f, 1.0f} |
| constexpr RGBAColor | g_red {1.0f, 0.0f, 0.0f, 1.0f} |
| constexpr RGBAColor | g_green {0.0f, 1.0f, 0.0f, 1.0f} |
| constexpr RGBAColor | g_blue {0.0f, 0.0f, 1.0f, 1.0f} |
| constexpr RGBAColor | g_cyan {0.0f, 1.0f, 1.0f, 1.0f} |
| constexpr RGBAColor | g_magenta {1.0f, 0.0f, 1.0f, 1.0f} |
| constexpr RGBAColor | g_yellow {1.0f, 1.0f, 0.0f, 1.0f} |
| constexpr RGBAColor | g_gray {0.5f, 0.5f, 0.5f, 1.0f} |
| constexpr RGBAColor | g_darkgray {0.25f, 0.25f,0.25f, 1.0f} |
| constexpr RGBAColor | g_lightgray {0.75f, 0.75f,0.75f, 1.0f} |
| constexpr RGBAColor | g_orange { 1.0f, 0.5f, 0.0f, 1.0f } |
| constexpr RGBAColor | g_purple { 0.5f, 0.0f, 0.5f, 1.0f } |
| constexpr RGBAColor | g_pink { 1.0f, 0.0f, 0.5f, 1.0f } |
| constexpr RGBAColor | g_brown { 0.6f, 0.3f, 0.0f, 1.0f } |
| constexpr RGBAColor | g_lime { 0.5f, 1.0f, 0.0f, 1.0f } |
| constexpr RGBAColor | g_teal { 0.0f, 0.5f, 0.5f, 1.0f } |
| constexpr RGBAColor | g_navy { 0.0f, 0.0f, 0.5f, 1.0f } |
| constexpr RGBAColor | g_olive { 0.5f, 0.5f, 0.0f, 1.0f } |
| constexpr RGBAColor | g_maroon { 0.5f, 0.0f, 0.0f, 1.0f } |
| constexpr RGBAColor | g_silver { 0.75f, 0.75f, 0.75f, 1.0f } |
| constexpr RGBAColor | g_gold { 1.0f, 0.84f, 0.0f, 1.0f } |
| template class SOFA_TYPE_API | SpatialVector< double > |
| template class SOFA_TYPE_API | SpatialVector< float > |
| template<class T , class OtherType > | |
| concept | CanTypeRebind |
| _OtherType | |
| template class SOFA_TYPE_API | Transform< double > |
| template class SOFA_TYPE_API | Transform< float > |
| template class SOFA_TYPE_API | Vec< 2, float > |
| template class SOFA_TYPE_API | Vec< 2, int > |
| template class SOFA_TYPE_API | Vec< 2, double > |
| template class SOFA_TYPE_API | Vec< 2, unsigned > |
| template class SOFA_TYPE_API | Vec< 3, float > |
| template class SOFA_TYPE_API | Vec< 3, int > |
| template class SOFA_TYPE_API | Vec< 3, double > |
| template class SOFA_TYPE_API | Vec< 3, unsigned > |
| template class SOFA_TYPE_API | Vec< 4, float > |
| template class SOFA_TYPE_API | Vec< 4, int > |
| template class SOFA_TYPE_API | Vec< 4, double > |
| template class SOFA_TYPE_API | Vec< 4, unsigned > |
| template class SOFA_TYPE_API | Vec< 6, float > |
| template class SOFA_TYPE_API | Vec< 6, int > |
| template class SOFA_TYPE_API | Vec< 6, double > |
| template class SOFA_TYPE_API | Vec< 6, unsigned > |
| constexpr NoInit | NOINIT |
for std::pair
All integral types are considered as extern templates.
| using sofa::type::BoundingBox3D = typedef BoundingBox |
| using sofa::type::FixedArray1d = typedef fixed_array<double, 1> |
| using sofa::type::FixedArray1f = typedef fixed_array<float, 1> |
| using sofa::type::FixedArray1i = typedef fixed_array<int, 1> |
| using sofa::type::FixedArray1I = typedef fixed_array<unsigned int, 1> |
| using sofa::type::FixedArray2d = typedef fixed_array<double, 2> |
| using sofa::type::FixedArray2f = typedef fixed_array<float, 2> |
| using sofa::type::FixedArray2i = typedef fixed_array<int, 2> |
| using sofa::type::FixedArray2I = typedef fixed_array<unsigned int, 2> |
| using sofa::type::FixedArray3d = typedef fixed_array<double, 3> |
| using sofa::type::FixedArray3f = typedef fixed_array<float, 3> |
| using sofa::type::FixedArray3i = typedef fixed_array<int, 3> |
| using sofa::type::FixedArray3I = typedef fixed_array<unsigned int, 3> |
| using sofa::type::FixedArray4d = typedef fixed_array<double, 4> |
| using sofa::type::FixedArray4f = typedef fixed_array<float, 4> |
| using sofa::type::FixedArray4i = typedef fixed_array<int, 4> |
| using sofa::type::FixedArray4I = typedef fixed_array<unsigned int, 4> |
| using sofa::type::FixedArray5d = typedef fixed_array<double, 5> |
| using sofa::type::FixedArray5f = typedef fixed_array<float, 5> |
| using sofa::type::FixedArray5i = typedef fixed_array<int, 5> |
| using sofa::type::FixedArray5I = typedef fixed_array<unsigned int, 5> |
| using sofa::type::FixedArray6d = typedef fixed_array<double, 6> |
| using sofa::type::FixedArray6f = typedef fixed_array<float, 6> |
| using sofa::type::FixedArray6i = typedef fixed_array<int, 6> |
| using sofa::type::FixedArray6I = typedef fixed_array<unsigned int, 6> |
| using sofa::type::FixedArray7d = typedef fixed_array<double, 7> |
| using sofa::type::FixedArray7f = typedef fixed_array<float, 7> |
| using sofa::type::FixedArray7i = typedef fixed_array<int, 7> |
| using sofa::type::FixedArray7I = typedef fixed_array<unsigned int, 7> |
| using sofa::type::FixedArray8d = typedef fixed_array<double, 8> |
| using sofa::type::FixedArray8f = typedef fixed_array<float, 8> |
| using sofa::type::FixedArray8i = typedef fixed_array<int, 8> |
| using sofa::type::FixedArray8I = typedef fixed_array<unsigned int, 8> |
| typedef Mat<1,1,double> sofa::type::Mat1x1d |
| typedef Mat<1,1,float> sofa::type::Mat1x1f |
| typedef Mat<2,2,SReal> sofa::type::Mat2x2 |
| typedef Mat<2,2,double> sofa::type::Mat2x2d |
| typedef Mat<2,2,float> sofa::type::Mat2x2f |
| typedef Mat<3,3,SReal> sofa::type::Mat3x3 |
| typedef Mat<3,3,double> sofa::type::Mat3x3d |
| typedef Mat<3,3,float> sofa::type::Mat3x3f |
| typedef Mat<3,4,double> sofa::type::Mat3x4d |
| typedef Mat<3,4,float> sofa::type::Mat3x4f |
| typedef Mat<4,4,SReal> sofa::type::Mat4x4 |
| typedef Mat<4,4,double> sofa::type::Mat4x4d |
| typedef Mat<4,4,float> sofa::type::Mat4x4f |
| typedef Mat<6,6,SReal> sofa::type::Mat6x6 |
| typedef Mat<6, 6, double> sofa::type::Mat6x6d |
| typedef Mat<6, 6, float> sofa::type::Mat6x6f |
| typedef Mat<2,2,SReal> sofa::type::Matrix2 |
| typedef Mat<3,3,SReal> sofa::type::Matrix3 |
| typedef Mat<4,4,SReal> sofa::type::Matrix4 |
| using sofa::type::Quatd = typedef type::Quat<double> |
| using sofa::type::Quatf = typedef type::Quat<float> |
| using sofa::type::rebind_to = typedef typename Rebind<T, B>::to |
Convenient alias to ease usage of Rebind.
Example: 1) sofa::type::rebind_to< sofa::type::vector<int>, float> is of type sofa::type::vector<float>. In this example, sofa::type::vector has a typedef rebind_to that will be used to deduce the type. 2) sofa::type::rebind_to< sofa::type::Quat<float>, double> is of type sofa::type::Quat<double>. In this example, sofa::type::Quat does not have a typedef rebind_to. 3) It makes no sense to use sofa::type::rebind on types having more than one template parameter, such as sofa::type::fixed_array. A compilation error would occur.
| using sofa::type::stable_vector = typedef boost::container::stable_vector<T,A> |
| typedef Vec<1,SReal> sofa::type::Vec1 |
| typedef Vec<1,double> sofa::type::Vec1d |
| typedef Vec<1,float> sofa::type::Vec1f |
| typedef Vec<1,int> sofa::type::Vec1i |
| typedef Vec<1,unsigned> sofa::type::Vec1u |
| typedef Vec<2,SReal> sofa::type::Vec2 |
| typedef Vec<2,double> sofa::type::Vec2d |
| typedef Vec<2,float> sofa::type::Vec2f |
| typedef Vec<2,int> sofa::type::Vec2i |
| typedef Vec<2,unsigned> sofa::type::Vec2u |
| typedef Vec<3,SReal> sofa::type::Vec3 |
| typedef Vec<3,double> sofa::type::Vec3d |
| typedef Vec<3,float> sofa::type::Vec3f |
| typedef Vec<3,int> sofa::type::Vec3i |
| typedef Vec<3,unsigned> sofa::type::Vec3u |
| typedef Vec<4,SReal> sofa::type::Vec4 |
| typedef Vec<4,double> sofa::type::Vec4d |
| typedef Vec<4,float> sofa::type::Vec4f |
| typedef Vec<4,int> sofa::type::Vec4i |
| typedef Vec<4,unsigned> sofa::type::Vec4u |
| typedef Vec<6,SReal> sofa::type::Vec6 |
| typedef Vec<6,double> sofa::type::Vec6d |
| typedef Vec<6,float> sofa::type::Vec6f |
| typedef Vec<6,int> sofa::type::Vec6i |
| typedef Vec<6,unsigned> sofa::type::Vec6u |
| void sofa::type::axpy | ( | V1 & | result, |
| Scalar | a, | ||
| const V2 & | x, | ||
| const V3 & | y | ||
| ) |
Vector operation: result = ax + y.
| void sofa::type::cholBksb | ( | Vec< n, real > & | x, |
| const Mat< n, n, real > & | L, | ||
| const Vec< n, real > & | b | ||
| ) |
Cholesky back-substitution: solve the system Mx=b using the triangular matrix L such that M=L.Lt
| bool sofa::type::cholDcmp | ( | Mat< n, n, real > & | L, |
| const Mat< n, n, real > & | M | ||
| ) |
Cholesky decomposition: compute triangular matrix L such that M=L.Lt
| bool sofa::type::cholInv | ( | Mat< n, n, real > & | Inv, |
| const Mat< n, n, real > & | M | ||
| ) |
Inversion of a positive symmetric definite (PSD) matrix using a Cholesky decomposition. Returns false if the matrix is not PSD.
| bool sofa::type::cholSlv | ( | Vec< n, real > & | x, |
| const Mat< n, n, real > & | M, | ||
| const Vec< n, real > & | b | ||
| ) |
Cholesky solution: solve the system Mx=b using a Cholesky decomposition.
| SOFA_TYPE_API void sofa::type::cleanup | ( | ) |
Clean up the resources used by the SofaHelper library.
| Real sofa::type::cond | ( | Mat< m, n, Real > & | a | ) |
return the condition number of the matrix a following the euclidean norm (using the svd decomposition to find singular values)
|
constexprnoexcept |
Cross product for 2-elements vectors.
|
constexprnoexcept |
Cross product for 3-elements vectors.
|
constexprnoexcept |
skew-symmetric mapping crossProductMatrix(v) * x = v.cross(x)
|
constexprnoexcept |
Determinant of a 2x2 matrix.
|
constexprnoexcept |
Generalized-determinant of a 2x3 matrix. Mirko Radi, "About a Determinant of Rectangular 2×n Matrix and its Geometric Interpretation"
|
constexprnoexcept |
Generalized-determinant of a 3x2 matrix. Mirko Radi, "About a Determinant of Rectangular 2×n Matrix and its Geometric Interpretation"
|
constexprnoexcept |
Determinant of a 3x3 matrix.
|
inline |
Determinant of a 2x2 matrix.
|
inline |
Determinant of a 3x3 matrix.
|
constexpr |
diagonal of a square matrix
| SReal sofa::type::dot | ( | const V1 & | vector1, |
| const V2 & | vector2 | ||
| ) |
Dot product of two vectors.
|
constexprnoexcept |
Dot product (alias for operator*)
|
constexprnoexcept |
Create a matrix as
.
| sofa::type::fixed_array | ( | First | , |
| Rest... | |||
| ) | -> fixed_array< std::common_type_t< First, Rest... >, 1+sizeof...(Rest)> |
| SOFA_TYPE_API int sofa::type::getInteger | ( | const std::string & | s, |
| std::stringstream & | msg, | ||
| unsigned int & | numErrors | ||
| ) |
Convert the string 's' into an unsigned int. The error are reported in msg & numErrors is incremented.
| SOFA_TYPE_API unsigned int sofa::type::getUnsignedInteger | ( | const std::string & | s, |
| std::stringstream & | msg, | ||
| unsigned int & | numErrors | ||
| ) |
Convert the string 's' into an unsigned int. The error are reported in msg & numErrors is incremented.
| real sofa::type::infNorm | ( | const Mat< 3, 3, real > & | A | ) |
| SOFA_TYPE_API void sofa::type::init | ( | ) |
Initialize the SofaHelper library.
|
constexpr |
Matrix inversion (special case 1x1).
|
constexpr |
Matrix inversion (special case 2x2).
|
constexpr |
Matrix inversion (special case 3x3).
| bool sofa::type::invertMatrix | ( | Mat< S, S, real > & | dest, |
| const Mat< S, S, real > & | from | ||
| ) |
Matrix inversion (general case).
| bool sofa::type::invertMatrix | ( | MatSym< 2, real > & | dest, |
| const MatSym< 2, real > & | from | ||
| ) |
Matrix inversion (special case 2x2).
| bool sofa::type::invertMatrix | ( | MatSym< 3, real > & | dest, |
| const MatSym< 3, real > & | from | ||
| ) |
Matrix inversion (special case 3x3).
| bool sofa::type::invertMatrix | ( | MatSym< S, real > & | dest, |
| const MatSym< S, real > & | from | ||
| ) |
Matrix inversion (general case).
| SOFA_TYPE_API bool sofa::type::isCleanedUp | ( | ) |
Return true if and only if the SofaHelper library has been cleaned up.
| SOFA_TYPE_API bool sofa::type::isInitialized | ( | ) |
Return true if and only if the SofaHelper library has been initialized.
| void sofa::type::lubksb | ( | const Mat< n, n, Real > & | a, |
| const Vec< n, int > & | indx, | ||
| Vec< n, Real > & | b | ||
| ) |
Compute the solution of Mx=b. b is replaced by x. a and indx together represent the LU decomposition of m, as given my method ludcmp.
| void sofa::type::ludcmp | ( | Mat< n, n, Real > & | a, |
| Vec< n, int > & | indx | ||
| ) |
Compute the LU decomposition of matrix a. a is replaced by its pivoted LU decomposition. indx stores pivoting indices.
| void sofa::type::luinv | ( | Mat< n, n, Real > & | inv, |
| Mat< n, n, Real > & | m | ||
| ) |
Compute the inverse of matrix m.
|
constexpr |
| BoundingBox::bbox_t sofa::type::make_neutralBBox | ( | ) |
|
constexpr |
Builds a fixed_array in which all elements have the same value.
|
constexpr |
Builds a fixed_array in which all elements have the same value.
|
constexprnoexcept |
|
constexprnoexcept |
| SReal sofa::type::norm | ( | const V & | v | ) |
Norm of a vector.
| real sofa::type::oneNorm | ( | const Mat< 3, 3, real > & | A | ) |
|
constexprnoexcept |
|
constexprnoexcept |
|
constexprnoexcept |
| Mat<D, D, real> sofa::type::operator* | ( | const Mat< D, D, real > & | a, |
| const MatSym< D, real > & | b | ||
| ) |
|
constexprnoexcept |
|
constexprnoexcept |
Checks if v1 is lexicographically less than v2. Similar to std::lexicographical_compare.
|
constexprnoexcept |
Checks if v1 is lexicographically less than v2. Similar to std::lexicographical_compare.
| std::ostream& sofa::type::operator<< | ( | std::ostream & | o, |
| const Mat< L, C, real > & | m | ||
| ) |
| std::ostream& sofa::type::operator<< | ( | std::ostream & | o, |
| const MatSym< D, real > & | m | ||
| ) |
| std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Material & | m | ||
| ) |
| std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const PrimitiveGroup & | g | ||
| ) |
| template SOFA_TYPE_API std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Quat< double > & | v | ||
| ) |
| template SOFA_TYPE_API std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Quat< float > & | v | ||
| ) |
| SOFA_TYPE_API std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Quat< Real > & | v | ||
| ) |
write to an output stream
| std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Quat< Real > & | v | ||
| ) |
write to an output stream
| SOFA_TYPE_API std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const RGBAColor & | t | ||
| ) |
Write to an output stream.
| std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const sofa::type::Frame & | c | ||
| ) |
| std::ostream& sofa::type::operator<< | ( | std::ostream & | out, |
| const Vec< N, Real > & | v | ||
| ) |
Write to an output stream.
|
constexprnoexcept |
| SOFA_TYPE_API std::istream& sofa::type::operator>> | ( | std::istream & | i, |
| RGBAColor & | t | ||
| ) |
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Mat< L, C, real > & | m | ||
| ) |
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Material & | m | ||
| ) |
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| MatSym< D, real > & | m | ||
| ) |
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| PrimitiveGroup & | g | ||
| ) |
| template SOFA_TYPE_API std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Quat< double > & | v | ||
| ) |
| template SOFA_TYPE_API std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Quat< float > & | v | ||
| ) |
| SOFA_TYPE_API std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Quat< Real > & | v | ||
| ) |
read from an input stream
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Quat< Real > & | v | ||
| ) |
read from an input stream
| std::istream& sofa::type::operator>> | ( | std::istream & | in, |
| Vec< N, Real > & | v | ||
| ) |
Read from an input stream.
| SOFA_TYPE_API void sofa::type::printLibraryNotCleanedUpWarning | ( | const std::string & | library, |
| const std::string & | cleanupFunction | ||
| ) |
Print a warning about a library not being cleaned up (meant for internal use).
| void sofa::type::printMaple | ( | std::ostream & | o, |
| const Mat< L, C, real > & | m | ||
| ) |
| void sofa::type::printMatlab | ( | std::ostream & | o, |
| const Mat< L, C, real > & | m | ||
| ) |
printing in other software formats
| SOFA_TYPE_API void sofa::type::printUninitializedLibraryWarning | ( | const std::string & | library, |
| const std::string & | initFunction | ||
| ) |
Print a warning about a library not being initialized (meant for internal use).
| T1 sofa::type::pythag | ( | const T1 | a, |
| const T2 | b | ||
| ) |
Computes sqrt(a^2 + b^2) without destructive underflow or overflow.
| void sofa::type::remove | ( | T1 & | v, |
| const T2 & | elem | ||
| ) |
Remove the first occurrence of a given value. The remaining values are shifted.
| void sofa::type::removeIndex | ( | std::vector< T, TT > & | v, |
| size_t | index | ||
| ) |
Remove value at given index, replace it by the value at the last index, other values are not changed.
| void sofa::type::removeValue | ( | T1 & | v, |
| const T2 & | elem | ||
| ) |
Remove the first occurrence of a given value.
The last value is moved to where the value was found, and the other values are not shifted.
| sofa::type::requires | ( | !CanTypeRebind< _T< A >, _OtherType > | ) |
|
inline |
return the max of two values
|
inline |
return the min of two values
|
inline |
|
inline |
|
inline |
|
constexprnoexcept |
Compute the scalar product of two matrix (sum of product of all terms)
|
inline |
|
inline |
Compute the scalar product of two matrix (sum of product of all terms)
| bool sofa::type::solveLCP | ( | const Vec< dim, real > & | q, |
| const Mat< dim, dim, real > & | M, | ||
| Vec< dim *2, real > & | res | ||
| ) |
| void sofa::type::svddcmp | ( | Mat< m, n, Real > & | a, |
| Vec< n, Real > & | w, | ||
| Mat< n, m, Real > & | v | ||
| ) |
Compute the SVD decomposition of matrix a (from nr). a is replaced by its pivoted LU decomposition. indx stores pivoting indices.
SVD decomposition a = u.w.vt
|
constexprnoexcept |
return a * b^T
|
constexprnoexcept |
trace of a square matrix
|
inline |
Trace of a 2x2 matrix.
|
inline |
Trace of a 3x3 matrix.
|
constexpr |
Inverse Matrix considering the matrix as a transformation.
| sofa::type::Vec | ( | First | , |
| Rest... | |||
| ) | -> Vec< 1+sizeof...(Rest), std::common_type_t< First, Rest... > > |
| sofa::type::VecNoInit | ( | First | , |
| Rest... | |||
| ) | -> VecNoInit< 1+sizeof...(Rest), std::common_type_t< First, Rest... > > |
| void SOFA_TYPE_API sofa::type::vector_access_failure | ( | const void * | vec, |
| const std::size_t | size, | ||
| const std::size_t | i, | ||
| const std::type_info & | type | ||
| ) |
| sofa::type::_OtherType |
| concept sofa::type::CanTypeRebind |
| template class SOFA_TYPE_API sofa::type::DualQuatCoord3< double > |
| template class SOFA_TYPE_API sofa::type::DualQuatCoord3< float > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 2 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 3 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 4 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 5 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 6 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< double, 7 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 2 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 3 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 4 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 5 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 6 > |
| template class SOFA_TYPE_API sofa::type::fixed_array< float, 7 > |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| concept sofa::type::isRigidType |
A type T satisfies the isRigidType concept if:
It allows to identify types such as StdRigidTypes and CudaRigidTypes at compile-time.
|
constexpr |
|
constexpr |
| template class SOFA_TYPE_API sofa::type::Quat< double > |
Explicit instantiation of the quaternions for double precision.
| template class SOFA_TYPE_API sofa::type::Quat< float > |
Explicit instantiation of the quaternions for single precision.
| template class SOFA_TYPE_API sofa::type::SpatialVector< double > |
| template class SOFA_TYPE_API sofa::type::SpatialVector< float > |
| const std::map<std::string, RGBAColor> sofa::type::stringToColorMap |
| template class SOFA_TYPE_API sofa::type::Transform< double > |
| template class SOFA_TYPE_API sofa::type::Transform< float > |
| template class SOFA_TYPE_API sofa::type::Vec< 2, double > |
| template class SOFA_TYPE_API sofa::type::Vec< 2, float > |
| template class SOFA_TYPE_API sofa::type::Vec< 2, int > |
| template class SOFA_TYPE_API sofa::type::Vec< 2, unsigned > |
| template class SOFA_TYPE_API sofa::type::Vec< 3, double > |
| template class SOFA_TYPE_API sofa::type::Vec< 3, float > |
| template class SOFA_TYPE_API sofa::type::Vec< 3, int > |
| template class SOFA_TYPE_API sofa::type::Vec< 3, unsigned > |
| template class SOFA_TYPE_API sofa::type::Vec< 4, double > |
| template class SOFA_TYPE_API sofa::type::Vec< 4, float > |
| template class SOFA_TYPE_API sofa::type::Vec< 4, int > |
| template class SOFA_TYPE_API sofa::type::Vec< 4, unsigned > |
| template class SOFA_TYPE_API sofa::type::Vec< 6, double > |
| template class SOFA_TYPE_API sofa::type::Vec< 6, float > |
| template class SOFA_TYPE_API sofa::type::Vec< 6, int > |
| template class SOFA_TYPE_API sofa::type::Vec< 6, unsigned > |