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.