Hide menu
Loading...
Searching...
No Matches

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 VectorTranslation () const
 
void SetTranslation (const Vector &theVector)
 
void SetTranslation (const Point &thePoint1, const Point &thePoint2)
 
const Matrix3dRotation () 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 ()
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Transformation() [1/2]

cadex::Geom::Transformation::Transformation ( )

Constructor.

Creates an identity matrix.

◆ Transformation() [2/2]

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.

Member Function Documentation

◆ ScaleFactor()

double cadex::Geom::Transformation::ScaleFactor ( ) const

Returns a scale factor.

By default, a scale factor is 1.

See also
SetScaleFactor().

◆ SetScaleFactor()

void cadex::Geom::Transformation::SetScaleFactor ( double theScale)

Sets a scale factor.

See also
ScaleFactor().