HepTransform3D


HepTransform3D describes affine transformations (translations, rotations, scalings and reflections) of 3D space. In addition to the main HepTransform3D class there are 16 auxiliary subclasses which should be used only as additional constructors of HepTransform3D objects.

Author

Evgueni Tcherniaev

See also

HepRotate3D, HepRotateX3D, HepRotateY3D, HepRotateZ3D,
HepTranslate3D, HepTranslateX3D, HepTranslateY3D, HepTranslateZ3D,
HepReflect3D, HepReflectX3D, HepReflectY3D, HepReflectZ3D,
HepScale3D, HepScaleX3D, HepScaleY3D, HepScaleZ3D.

Declaration

#include "CLHEP/Geometry/Transform3D.h"

class HepTransform3D

Constants

HepTransform3D::Identity
Identity transformation.

Public Member Classes

HepTransform3D_row
Helper class to implement r[i][j]
Declaration
class HepTransform3D_row
Constructor
inline HepTransform3D_row(const HepTransform3D &, int)
[]
const HepDouble & operator[](int) const

Public Member Functions

Constructor
HepTransform3D()
Default constructor. Produces an identity transformation.
Constructor
inline HepTransform3D(const HepRotation &m, const Hep3Vector &v)
Rotation and then translation.
Constructor
HepTransform3D(const HepPoint3D &fr0, const HepPoint3D &fr1, const HepPoint3D &fr2, const HepPoint3D &to0, const HepPoint3D &to1, const HepPoint3D &to2)
Transformation of basis. It is given by original and transformed positions of three points.
Copy constructor
HepTransform3D(const HepTransform3D &m)
=
HepTransform3D & operator = (const HepTransform3D &m)
Assignment.
*
inline HepPoint3D operator * (const HepPoint3D &p) const
Transformation of HepPoint3D.

inline HepNormal3D operator * (const HepNormal3D &n) const
Transformation of HepNormal3D.

inline HepVector3D operator * (const HepVector3D &v) const
Transformation of HepVector3D.

inline HepTransform3D operator * (const HepTransform3D &b) const
Compound transformation.
==
HepBoolean operator == (const HepTransform3D &transform) const
Test for equality.
[]
inline const HepTransform3D_row operator [] (int i) const
Returns object of the helper class for C-style subscripting r[i][j].
()
HepBoolean operator () (int i, int j) const
Fortran-style subscripting: returns (i,j) element of the matrix.
getDecomposition
void getDecomposition(HepScale3D & s, HepRotate3D & r, HepTranslate3D & t) const
Decomposition of general transformation on three consequentive
specific transformations: Scale, then Rotation, then Translation, i.e.
Transformation = Translation * Rotation * Scale
If there was a reflection, then ScaleZ will be negative.
getRotation
inline HepRotation getRotation() const
Extract the rotation matrix.
getTranslation
inline Hep3Vector getTranslation() const
Extract the translation vector.
inverse
HepTransform3D inverse() const
Returns the inverse transformation.
setIdentity
void setIdentity()
Set identity transformation.


20 June 2001
EVC