|
| Transform3D () |
| Default constructor (identy rotation) + zero translation. More...
|
|
template<class ARotation , class CoordSystem , class Tag > |
| Transform3D (const ARotation &r, const DisplacementVector3D< CoordSystem, Tag > &v) |
| Construct from a rotation (any rotation object) and then a translation (represented by any DisplacementVector) The requirements on the rotation and vector objects are that they can be transformed in a Rotation3D class and in a Cartesian3D Vector. More...
|
|
template<class ARotation > |
| Transform3D (const ARotation &r, const Translation3D< T > &t) |
| Construct from a rotation (any rotation object) and then a translation represented by a Translation3D class The requirements on the rotation is that it can be transformed in a Rotation3D class. More...
|
|
| Transform3D (const AxisAngle &r) |
|
template<class CoordSystem , class Tag > |
| Transform3D (const DisplacementVector3D< CoordSystem, Tag > &v) |
| Construct from a translation only, represented by any DisplacementVector3D and with an identity rotation. More...
|
|
| Transform3D (const EulerAngles &r) |
|
template<class ForeignMatrix > |
| Transform3D (const ForeignMatrix &m) |
| Construct from a linear algebra matrix of size at least 3x4, which must support operator()(i,j) to obtain elements (0,0) thru (2,3). More...
|
|
template<typename SCALAR = T, typename std::enable_if< std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
| Transform3D (const Point &fr0, const Point &fr1, const Point &fr2, const Point &to0, const Point &to1, const Point &to2) |
| Construct transformation from one coordinate system defined by three points (origin + two axis) to a new coordinate system defined by other three points (origin + axis) Scalar version. More...
|
|
template<typename SCALAR = T, typename std::enable_if<!std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
| Transform3D (const Point &fr0, const Point &fr1, const Point &fr2, const Point &to0, const Point &to1, const Point &to2) |
| Construct transformation from one coordinate system defined by three points (origin + two axis) to a new coordinate system defined by other three points (origin + axis) Vectorised version. More...
|
|
| Transform3D (const Quaternion &r) |
|
| Transform3D (const Rotation3D &r) |
| Construct from a 3D Rotation only with zero translation. More...
|
|
| Transform3D (const Rotation3D &r, const Translation3D< T > &t) |
| Construct from a rotation and then a translation described by a Translation3D class. More...
|
|
| Transform3D (const Rotation3D &r, const Vector &v) |
| Construct from a rotation and then a translation described by a Vector. More...
|
|
| Transform3D (const RotationX &r) |
|
| Transform3D (const RotationY &r) |
|
| Transform3D (const RotationZ &r) |
|
| Transform3D (const RotationZYX &r) |
|
| Transform3D (const Translation3D< T > &t) |
| Construct from a translation only, represented by a Translation3D class and with an identity rotation. More...
|
|
| Transform3D (const Vector &v) |
| Construct from a translation only, represented by a Cartesian 3D Vector, and with an identity rotation. More...
|
|
template<class IT > |
| Transform3D (IT begin, IT end) |
| Construct given a pair of pointers or iterators defining the beginning and end of an array of 12 Scalars. More...
|
|
| Transform3D (T xx, T xy, T xz, T dx, T yx, T yy, T yz, T dy, T zx, T zy, T zz, T dz) |
| Raw constructor from 12 Scalar components. More...
|
|
template<class CoordSystem > |
DisplacementVector3D< CoordSystem > | ApplyInverse (const DisplacementVector3D< CoordSystem > &p) const |
| Directly apply the inverse affine transformation on an arbitrary coordinate-system vector. More...
|
|
Point | ApplyInverse (const Point &p) const |
| Directly apply the inverse affine transformation on points (first inverse translation then inverse rotation). More...
|
|
template<class CoordSystem > |
PositionVector3D< CoordSystem > | ApplyInverse (const PositionVector3D< CoordSystem > &p) const |
| Directly apply the inverse affine transformation on an arbitrary coordinate-system point. More...
|
|
Vector | ApplyInverse (const Vector &v) const |
| Directly apply the inverse affine transformation on vectors. More...
|
|
template<class IT > |
void | GetComponents (IT begin) const |
| Get the 12 matrix components into data specified by an iterator begin. More...
|
|
template<class IT > |
void | GetComponents (IT begin, IT end) const |
| Get the 12 matrix components into data specified by an iterator begin and another to the end of the desired data (12 past start). More...
|
|
void | GetComponents (T &xx, T &xy, T &xz, T &dx, T &yx, T &yy, T &yz, T &dy, T &zx, T &zy, T &zz, T &dz) const |
| Get the components into 12 scalars. More...
|
|
template<class AnyRotation , class V > |
void | GetDecomposition (AnyRotation &r, V &v) const |
| Get the rotation and translation vector representing the 3D transformation in any rotation and any vector (the Translation class could also be used) More...
|
|
void | GetDecomposition (Rotation3D &r, Vector &v) const |
| Get the rotation and translation vector representing the 3D transformation. More...
|
|
template<class AnyRotation > |
void | GetRotation (AnyRotation &r) const |
| Get the rotation (any type) representing the 3D transformation. More...
|
|
template<class ForeignMatrix > |
void | GetTransformMatrix (ForeignMatrix &m) const |
| Get components into a linear algebra matrix of size at least 3x4, which must support operator()(i,j) for write access to elements (0,0) thru (2,3). More...
|
|
template<class AnyVector > |
void | GetTranslation (AnyVector &v) const |
| Get the translation representing the 3D transformation in any vector which implements the SetXYZ method. More...
|
|
Transform3D< T > | Inverse () const |
| Return the inverse of the transformation. More...
|
|
template<typename SCALAR = T, typename std::enable_if< std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
void | Invert () |
| Invert the transformation in place (scalar) More...
|
|
template<typename SCALAR = T, typename std::enable_if<!std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
void | Invert () |
| Invert the transformation in place (vectorised) More...
|
|
bool | operator!= (const Transform3D< T > &rhs) const |
| Inequality operator. More...
|
|
template<class CoordSystem > |
DisplacementVector3D< CoordSystem > | operator() (const DisplacementVector3D< CoordSystem > &v) const |
| Transformation operation for Displacement Vector in any coordinate system. More...
|
|
template<class CoordSystem > |
LorentzVector< CoordSystem > | operator() (const LorentzVector< CoordSystem > &q) const |
| Transformation operation for a Lorentz Vector in any coordinate system. More...
|
|
template<typename TYPE > |
Plane3D< TYPE > | operator() (const Plane3D< TYPE > &plane) const |
| Transformation on a 3D plane. More...
|
|
Point | operator() (const Point &p) const |
| Transformation operation for Position Vector in Cartesian coordinate For a Position Vector first a rotation and then a translation is applied. More...
|
|
template<class CoordSystem > |
PositionVector3D< CoordSystem > | operator() (const PositionVector3D< CoordSystem > &p) const |
| Transformation operation for Position Vector in any coordinate system. More...
|
|
Vector | operator() (const Vector &v) const |
| Transformation operation for Displacement Vectors in Cartesian coordinate For the Displacement Vectors only the rotation applies - no translations. More...
|
|
template<class CoordSystem > |
DisplacementVector3D< CoordSystem > | operator* (const DisplacementVector3D< CoordSystem > &v) const |
| Transformation operation for Displacement Vector in any coordinate system. More...
|
|
template<class CoordSystem > |
LorentzVector< CoordSystem > | operator* (const LorentzVector< CoordSystem > &q) const |
| Transformation operation for a Lorentz Vector in any coordinate system. More...
|
|
template<typename TYPE > |
Plane3D< TYPE > | operator* (const Plane3D< TYPE > &plane) const |
| Multiplication operator for 3D plane. More...
|
|
template<class CoordSystem > |
PositionVector3D< CoordSystem > | operator* (const PositionVector3D< CoordSystem > &v) const |
| Transformation operation for Position Vector in any coordinate system. More...
|
|
Transform3D< T > | operator* (const Transform3D< T > &t) const |
| multiply (combine) two transformations More...
|
|
Transform3D< T > & | operator*= (const Transform3D< T > &t) |
| multiply (combine) with another transformation in place More...
|
|
template<class ForeignMatrix > |
Transform3D< T > & | operator= (const ForeignMatrix &m) |
| Construct from a linear algebra matrix of size at least 3x4, which must support operator()(i,j) to obtain elements (0,0) thru (2,3). More...
|
|
bool | operator== (const Transform3D< T > &rhs) const |
| Equality operator. More...
|
|
Rotation3D | Rotation () const |
| Get the 3D rotation representing the 3D transformation. More...
|
|
template<class AnyRotation > |
AnyRotation | Rotation () const |
| Get the rotation representing the 3D transformation. More...
|
|
template<class IT > |
void | SetComponents (IT begin, IT end) |
| Set the 12 matrix components given an iterator to the start of the desired data, and another to the end (12 past start). More...
|
|
void | SetComponents (T xx, T xy, T xz, T dx, T yx, T yy, T yz, T dy, T zx, T zy, T zz, T dz) |
| Set the components from 12 scalars. More...
|
|
template<class ForeignMatrix > |
void | SetTransformMatrix (const ForeignMatrix &m) |
| Set components from a linear algebra matrix of size at least 3x4, which must support operator()(i,j) to obtain elements (0,0) thru (2,3). More...
|
|
template<class CoordSystem , class Tag1 , class Tag2 > |
void | Transform (const DisplacementVector3D< CoordSystem, Tag1 > &v1, DisplacementVector3D< CoordSystem, Tag2 > &v2) const |
| Transformation operation for Displacement Vector of different coordinate systems. More...
|
|
template<class CoordSystem , class Tag1 , class Tag2 > |
void | Transform (const PositionVector3D< CoordSystem, Tag1 > &p1, PositionVector3D< CoordSystem, Tag2 > &p2) const |
| Transformation operation for points between different coordinate system tags. More...
|
|
Translation3D< T > | Translation () const |
| Get the translation representing the 3D transformation in a Cartesian vector. More...
|
|