Defines a transformation matrix. More...
#include <cadex/Geom/Transformation.hxx>
Public Member Functions | |
Transformation () | |
Constructor. | |
Transformation (const Transformation &theTrsf) | |
Constructor. | |
Transformation (const Matrix3d &theRotation, const Vector &theTranslation, double theScale=1.0) | |
Transformation (const Axis3d &theAxis) | |
Transformation (const Axis3d &theSource, const Axis3d &theTarget) | |
Transformation (const Vector &theTranslation) | |
Transformation (const Vector &theAxis, double theAngle, double theAngularPrecision=1.e-12) | |
Transformation (const Axis1d &theAxis, double theAngle, double theAngularPrecision=1.e-12) | |
Transformation (const Axis1d &theAxis, double theAngle, const Vector &theTranslation, double theAngularPrecision=1.e-12) | |
Constructor. | |
bool | IsIdentity () const |
void | ResetToIdentity () |
double | ScaleFactor () const |
Returns a scale factor. | |
void | SetScaleFactor (double theScale) |
Sets a scale factor. | |
const Vector & | Translation () const |
void | SetTranslation (const Vector &theVector) |
void | SetTranslation (const Point &thePoint1, const Point &thePoint2) |
const Matrix3d & | Rotation () const |
void | SetRotation (const Matrix3d &theMatrix) |
void | SetRotation (const Axis1d &theAxis, double theAngle) |
void | SetRotation (const Vector &theVec, double theAngle) |
bool | IsNegative () const |
void | Invert () |
Transformation | Inverted () const |
void | Multiply (const Transformation &theTrsf) |
Multiplies this matrix with another one. | |
Transformation | Multiplied (const Transformation &theTrsf) const |
void | operator*= (const Transformation &theTrsf) |
Multiplies this matrix with another one. | |
void | Power (int theNum) |
Transformation | Powered (int theNum) const |
bool | IsEqual (const Transformation &theOther) const |
Static Public Member Functions | |
static Transformation | MirrorTransformation (const Point &thePoint) |
static Transformation | MirrorTransformation (const Axis1d &theAxis) |
static Transformation | MirrorTransformation (const Axis3d &theAxis) |
static Transformation | ScaleTransformation (const Point &thePoint, double theScale) |
static Transformation | RotateTransformation (const Vector &theVec, double theAngle) |
static Transformation | RotateTransformation (const Axis1d &theAxis, double theAngle) |
static Transformation | TranslateTransformation (const Vector &theVector) |
Protected Member Functions | |
void | Orthogonalize () |
Defines a transformation matrix.
Contains rotation and translation part and a scale factor. A rotation part (3 x 3 matrix) must not contain a scale factor or inversion, i.e. its matrix determinant must be equal to 1.
Individual matrix elements can retrieved using the Data() method.
cadex::Geom::Transformation::Transformation | ( | ) |
Constructor.
Creates an identity matrix.
cadex::Geom::Transformation::Transformation | ( | const Axis1d & | theAxis, |
double | theAngle, | ||
const Vector & | theTranslation, | ||
double | theAngularPrecision = 1.e-12 ) |
Constructor.
Creates a transformation matrix from rotation and translation components. If theAngle (in radians) is less than theAngularPrecision then the rotation component is ignored.
double cadex::Geom::Transformation::ScaleFactor | ( | ) | const |
void cadex::Geom::Transformation::SetScaleFactor | ( | double | theScale | ) |
Sets a scale factor.