#include <RigidCoord.h>
| Static Public Attributes | |
| static constexpr sofa::Size | total_size = 7 | 
| Compile-time constant specifying the number of scalars within this vector (equivalent to the size() method)  More... | |
| static constexpr sofa::Size | spatial_dimensions = 3 | 
| Compile-time constant specifying the number of dimensions of space (NOT equivalent to total_size for rigids)  More... | |
| Protected Attributes | |
| Vec3 | center | 
| Quat | orientation | 
| Public Member Functions | |
| constexpr | RigidCoord (const Vec3 &posCenter, const Quat &orient) | 
| constexpr | RigidCoord () | 
| template<typename real2 > | |
| constexpr | RigidCoord (const RigidCoord< 3, real2 > &c) | 
| constexpr void | clear () | 
| template<typename real2 > | |
| constexpr void | operator= (const RigidCoord< 3, real2 > &c) | 
| constexpr void | operator= (const Vec3 &p) | 
| void | operator+= (const Deriv &dg) | 
| constexpr RigidCoord< 3, real > | operator+ (const Deriv &dg) const | 
| constexpr RigidCoord< 3, real > | operator- (const RigidCoord< 3, real > &a) const | 
| constexpr RigidCoord< 3, real > | operator+ (const RigidCoord< 3, real > &a) const | 
| constexpr RigidCoord< 3, real > | operator- () const | 
| constexpr void | operator+= (const RigidCoord< 3, real > &a) | 
| template<typename real2 > | |
| constexpr void | operator*= (real2 a) | 
| template<typename real2 > | |
| constexpr void | operator/= (real2 a) | 
| template<typename real2 > | |
| constexpr RigidCoord< 3, real > | operator* (real2 a) const | 
| template<typename real2 > | |
| constexpr RigidCoord< 3, real > | operator/ (real2 a) const | 
| constexpr Real | operator* (const RigidCoord< 3, real > &a) const | 
| dot product, mostly used to compute residuals as sqrt(x*x)  More... | |
| constexpr real | norm2 () const | 
| real | norm () const | 
| Euclidean norm.  More... | |
| constexpr Vec3 & | getCenter () | 
| constexpr Quat & | getOrientation () | 
| constexpr const Vec3 & | getCenter () const | 
| constexpr const Quat & | getOrientation () const | 
| constexpr Vec3 | rotate (const Vec3 &v) const | 
| constexpr RigidCoord< 3, real > | rotate (const RigidCoord< 3, real > &c) const | 
| constexpr Vec3 | inverseRotate (const Vec3 &v) const | 
| constexpr Vec3 | translate (const Vec3 &v) const | 
| constexpr RigidCoord< 3, real > | translate (const RigidCoord< 3, real > &c) const | 
| constexpr void | multRight (const RigidCoord< 3, real > &c) | 
| Apply a transformation with respect to itself.  More... | |
| constexpr Vec3 | mult (const Vec3 &v) const | 
| compute the product with another frame on the right  More... | |
| constexpr RigidCoord< 3, real > | mult (const RigidCoord< 3, real > &c) const | 
| compute the product with another frame on the right  More... | |
| template<class Mat > | |
| void | fromMatrix (const Mat &m) | 
| Set from the given matrix.  More... | |
| void | toMatrix (sofa::type::Mat< 3, 3, real > &m) const | 
| Write to the given 3x3 matrix.  More... | |
| void | toMatrix (sofa::type::Mat< 4, 4, real > &m) const | 
| Write to the given 4x4 matrix.  More... | |
| constexpr void | toHomogeneousMatrix (HomogeneousMat &m) const | 
| template<class Mat > | |
| void | writeRotationMatrix (Mat &m) const | 
| constexpr void | writeOpenGlMatrix (float m[16]) const | 
| Write the OpenGL transformation matrix.  More... | |
| constexpr Vec3 | projectPoint (const Vec3 &v) const | 
| Apply the transform to a point, i.e. project a point from the child frame to the parent frame (translation and rotation)  More... | |
| constexpr Vec3 | projectVector (const Vec3 &v) const | 
| Apply the transform to a vector, i.e. project a vector from the child frame to the parent frame (rotation only, no translation added)  More... | |
| constexpr Vec3 | unprojectPoint (const Vec3 &v) const | 
| Apply the inverse transform to a point, i.e. project a point from the parent frame to the child frame (translation and rotation)  More... | |
| constexpr Vec3 | unprojectVector (const Vec3 &v) const | 
| Apply the inverse transform to a vector, i.e. project a vector from the parent frame to the child frame (rotation only, no translation)  More... | |
| constexpr Vec3 | pointToParent (const Vec3 &v) const | 
| obsolete. Use projectPoint.  More... | |
| constexpr Vec3 | pointToChild (const Vec3 &v) const | 
| obsolete. Use unprojectPoint.  More... | |
| constexpr real * | ptr () | 
| constexpr const real * | ptr () const | 
| constexpr real & | operator[] (Size i) | 
| Access to i-th element.  More... | |
| constexpr const real & | operator[] (Size i) const | 
| Const access to i-th element.  More... | |
| Tests operators | |
| constexpr bool | operator== (const RigidCoord< 3, real > &b) const | 
| constexpr bool | operator!= (const RigidCoord< 3, real > &b) const | 
| Static Public Member Functions | |
| static RigidCoord | rand (SReal a) | 
| Random rigid transform composed of 3 random translations and 3 random Euler angles.  More... | |
| static constexpr RigidCoord< 3, real > | identity () | 
| template<typename V > | |
| static constexpr HomogeneousVec | toHomogeneous (V v, real r=1.) | 
| create a homogeneous vector from a 3d vector  More... | |
| template<typename V > | |
| static constexpr Vec3 | fromHomogeneous (V v) | 
| create a 3d vector from a homogeneous vector  More... | |
| static constexpr Size | max_size () | 
| static constexpr Size | size () | 
| Friends | |
| std::ostream & | operator<< (std::ostream &out, const RigidCoord< 3, real > &v) | 
| write to an output stream  More... | |
| std::istream & | operator>> (std::istream &in, RigidCoord< 3, real > &v) | 
| read from an input stream  More... | |
| 
 | protected | 
| 
 | protected | 
| 
 | staticconstexpr | 
Compile-time constant specifying the number of dimensions of space (NOT equivalent to total_size for rigids)
| 
 | staticconstexpr | 
Compile-time constant specifying the number of scalars within this vector (equivalent to the size() method)
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlinestaticconstexpr | 
create a 3d vector from a homogeneous vector
| 
 | inline | 
Set from the given matrix.
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlinestaticconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlinestaticconstexpr | 
| 
 | inlineconstexpr | 
compute the product with another frame on the right
| 
 | inlineconstexpr | 
compute the product with another frame on the right
| 
 | inlineconstexpr | 
Apply a transformation with respect to itself.
| 
 | inline | 
Euclidean norm.
| 
 | inlineconstexpr | 
Squared norm. For the rotation we use the xyz components of the quaternion. Note that this is not equivalent to the angle, so a 2d rotation and the equivalent 3d rotation have different norms.
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
dot product, mostly used to compute residuals as sqrt(x*x)
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inline | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
Access to i-th element.
| 
 | inlineconstexpr | 
Const access to i-th element.
| 
 | inlineconstexpr | 
obsolete. Use unprojectPoint.
| 
 | inlineconstexpr | 
obsolete. Use projectPoint.
| 
 | inlineconstexpr | 
Apply the transform to a point, i.e. project a point from the child frame to the parent frame (translation and rotation)
| 
 | inlineconstexpr | 
Apply the transform to a vector, i.e. project a vector from the child frame to the parent frame (rotation only, no translation added)
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlinestatic | 
Random rigid transform composed of 3 random translations and 3 random Euler angles.
| a | Range of each random value: (-a,+a) | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlinestaticconstexpr | 
| 
 | inlinestaticconstexpr | 
create a homogeneous vector from a 3d vector
| 
 | inlineconstexpr | 
| 
 | inline | 
Write to the given 3x3 matrix.
| 
 | inline | 
Write to the given 4x4 matrix.
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
| 
 | inlineconstexpr | 
Apply the inverse transform to a point, i.e. project a point from the parent frame to the child frame (translation and rotation)
| 
 | inlineconstexpr | 
Apply the inverse transform to a vector, i.e. project a vector from the parent frame to the child frame (rotation only, no translation)
| 
 | inlineconstexpr | 
Write the OpenGL transformation matrix.
| 
 | inline | 
| 
 | friend | 
write to an output stream
| 
 | friend | 
read from an input stream