CFx SDK Documentation 2024 SP0
|
#include <GeMatrix3d.h>
Public Attributes | |
double | entry [4][4] |
Static Public Attributes | |
static GE_STATIC_EXPORT const OdGeMatrix3d | kIdentity |
This class represents 3D transformation matrices that define affine (translation, rotation and/or scaling) transformations.
Corresponding C++ library: TD_Ge
An OdGeMatrix3d, M, can be expressed as a 4 x 4 matrix* in the form:
<pre> a00 a01 a02 t0 a10 a11 a12 t1 a20 a21 a22 t2 0 0 0 1 </pre>
The linear part of M is the matrix:
<pre> a00 a01 a02 a10 a11 a12 a20 a21 a22 </pre>
The translational part of M is the column:
<pre> t0 t1 t2 </pre>
The origin of the coordinate system of M is (t0, t1, t2).
<group OdGe_Classes>
Definition at line 78 of file GeMatrix3d.h.
OdGeMatrix3d::OdGeMatrix3d | ( | ) |
Default constructor for objects of the OdGeMatrix3d class.
|
static |
Returns the matrix which maps the initial coordinate system defined by fromOrigin, fromXAxis, fromYAxis and fromZAxis, to the destination coordinate system defined by toOrigin, toXAxis, toYAxis and toZAxis.
fromOrigin | [in] Origin of the initial coordinate system. |
fromXAxis | [in] X-axis of the initial coordinate system. |
fromYAxis | [in] Y-axis of the initial coordinate system. |
fromZAxis | [in] Z-axis of the initial coordinate system. |
toOrigin | [in] Origin of the destination coordinate system. |
toXAxis | [in] X-axis of the destination coordinate system. |
toYAxis | [in] Y-axis of the destination coordinate system. |
toZAxis | [in] Z-axis of the destination coordinate system. |
OdGeMatrix2d OdGeMatrix3d::convertToLocal | ( | OdGeVector3d & | normal, |
double & | elevation | ||
) | const |
Returns the matrix which transforms the plane specified by a normal and an elevation.
normal | [in/out] Normal to the plane. |
elevation | [in/out] Elevation of the plane. |
double OdGeMatrix3d::det | ( | ) | const |
Returns the determinant of this matrix.
void OdGeMatrix3d::getCoordSystem | ( | OdGePoint3d & | origin, |
OdGeVector3d & | xAxis, | ||
OdGeVector3d & | yAxis, | ||
OdGeVector3d & | zAxis | ||
) | const |
Returns the origin, X-axis, Y-axis and Z-axis of the coordinate system to which this matrix maps the WCS.
origin | [out] Receives the origin of the coordinate system. |
xAxis | [out] Receives the X-axis of the coordinate system. |
yAxis | [out] Receives the Y-axis of the coordinate system. |
zAxis | [out] Receives the Z-axis of the coordinate system. |
OdGePoint3d OdGeMatrix3d::getCsOrigin | ( | ) | const |
Returns the origin of the coordinate system to which this matrix maps the WCS.
OdGeVector3d OdGeMatrix3d::getCsXAxis | ( | ) | const |
Returns the X-axis of the coordinate system to which this matrix maps the WCS.
OdGeVector3d OdGeMatrix3d::getCsYAxis | ( | ) | const |
Returns the Y-axis of the coordinate system to which this matrix maps the WCS.
OdGeVector3d OdGeMatrix3d::getCsZAxis | ( | ) | const |
Returns the Z-axis of the coordinate system to which this matrix maps the WCS.
OdGeMatrix3d OdGeMatrix3d::inverse | ( | ) | const |
Calculates inversion of this matrix.
OdGeMatrix3d OdGeMatrix3d::inverse | ( | const OdGeTol & | tol | ) | const |
Calculates inversion of this matrix.
tol | [in] Tolerance value. |
bool OdGeMatrix3d::inverse | ( | OdGeMatrix3d & | inverseMatrix, |
double | tol | ||
) | const |
Retrieves the inverse of this matrix.
inverseMatrix | [out] Receives the inverse matrix. |
tol | [in] Tolerance value. |
OdGeMatrix3d & OdGeMatrix3d::invert | ( | ) |
Sets this matrix to its inversion.
bool OdGeMatrix3d::isEqualTo | ( | const OdGeMatrix3d & | matrix, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
Returns true if and only if another matrix is identical to this one within the specified tolerance.
matrix | [in] Matrix to compare with this matrix. |
tol | [in] Geomentric tolerance. |
bool OdGeMatrix3d::isPerspective | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Indicates whether the matrix can be used for perspective projections.
tol | [in] Geomentric tolerance. |
bool OdGeMatrix3d::isScaledOrtho | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Checks whether the column vectors of the linear part of this matrix are mutually perpendicular within the specified tolerance.
tol | [in] Geomentric tolerance. |
bool OdGeMatrix3d::isSingular | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Checks whether this matrix is singular.
tol | [in] Geometric tolerance. |
bool OdGeMatrix3d::isUniScaledOrtho | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Returns true if and only if the columns vectors of the linear part of this matrix are of equal length and mutually perpendicular within the specified tolerance.
tol | [in] Geomentric tolerance. |
|
static |
Returns the matrix that mirrors entities across the specified line.
mirrorLine | [in] Mirror line entity. |
|
static |
Returns the matrix that mirrors entities across the specified plane.
mirrorPlane | [in] Mirror plane. |
|
static |
Returns the matrix taht mirrors entities across the specified point.
mirrorPoint | [in] Mirror point. |
double OdGeMatrix3d::norm | ( | ) | const |
Returns the largest absolute value of the linear part of this matrix.
bool OdGeMatrix3d::operator!= | ( | const OdGeMatrix3d & | matrix | ) | const |
Negated comparison operator.
matrix | [in] Matrix to compare with this matrix. |
|
inline |
References matrix.entry[row][column] as matrix(row,column).
row | [in] Row. |
column | [in] Column. |
Returns a reference to a matrix element specified by the row and column.
row | [in] Row of a matrix. Must be in range from 0 to 3. |
column | [in] Column of a matrix. Must be in range from 0 to 3. |
Definition at line 903 of file GeMatrix3d.h.
|
inline |
Returns matrix.entry[row][column] as matrix(row,column).
row | [in] Row. |
column | [in] Column. |
Returns a matrix element specified by the row and column.
row | [in] Row of a matrix. Must be in range from 0 to 3. |
column | [in] Column of a matrix. Must be in range from 0 to 3. |
Definition at line 890 of file GeMatrix3d.h.
OdGeMatrix3d OdGeMatrix3d::operator* | ( | const OdGeMatrix3d & | matrix | ) | const |
Multiplication operator. Returns the product of this matrix and another matrix.
matrix | [in] Another matrix to multiply this matrix by. |
OdGeMatrix3d & OdGeMatrix3d::operator*= | ( | const OdGeMatrix3d & | matrix | ) |
Multiplication with assignment operator. Sets this matrix to the product of this matrix and another matrix, and returns a reference to this matrix.
matrix | [in] Another matrix to multiply this matrix by. |
bool OdGeMatrix3d::operator== | ( | const OdGeMatrix3d & | matrix | ) | const |
Comparison operator.
matrix | [in] Matrix to compare with this matrix. |
|
inline |
References matrix.entry[row] as matrix[row].
row | [in] Row. |
Returns a pointer to a matrix row.
row | [in] Row of a matrix. Must be in range from 0 to 3. |
Definition at line 877 of file GeMatrix3d.h.
|
inline |
Returns matrix.entry[row] as matrix[row].
row | [in] Row. |
Returns a pointer to a constant matrix row.
row | [in] Row of a matrix. Must be in range from 0 to 3. |
Definition at line 865 of file GeMatrix3d.h.
|
static |
Returns the matrix which maps the plane coordinate system to the WCS.
plane | [in] Plane. |
|
static |
Returns the matrix which maps the plane coordinate system to the WCS.
normal | [in] Normal to the plane. |
OdGeMatrix3d & OdGeMatrix3d::postMultBy | ( | const OdGeMatrix3d & | rightSide | ) |
Sets this matrix to the product of this matrix and rightSide, and returns a reference to this matrix.
rightSide | [in] 3D matrix that will be multiplied by this matrix. |
OdGeMatrix3d & OdGeMatrix3d::preMultBy | ( | const OdGeMatrix3d & | leftSide | ) |
Sets this matrix to the product of leftSide and this matrix, and returns a reference to this matrix.
leftSide | [in] 3D matrix that will be multiplied by this matrix. |
|
static |
Returns the matrix that parallely projects entities onto the specified plane in the specified direction.
projectionPlane | [in] Projection plane. |
projectDir | [in] Projection direction. |
|
static |
Returns the matrix that rotates entities by an angle about an axis passing through the center.
angle | [in] Rotation angle. |
axis | [in] Rotation axis. |
center | [in] Center of rotation. |
double OdGeMatrix3d::scale | ( | ) | const |
Returns the scale factor of this matrix.
|
static |
Returns the matrix that scales entities by a scale factor relatively to the center.
scale | [in] Scale factor. |
center | [in] Center of scaling. |
|
static |
Returns the matrix that scales entities by a scale factor relatively to the center.
scale | [in] Scale factor. |
center | [in] Center of scaling. |
OdGeMatrix3d & OdGeMatrix3d::setCoordSystem | ( | const OdGePoint3d & | origin, |
const OdGeVector3d & | xAxis, | ||
const OdGeVector3d & | yAxis, | ||
const OdGeVector3d & | zAxis | ||
) |
Sets this matrix to the matrix which maps the WCS to the coordinate system defined by origin, X-axis, Y-axis and Z-axis, and returns a reference to this matrix.
origin | [in] Origin of the coordinate system. |
xAxis | [in] X-axis of the coordinate system. |
yAxis | [in] Y-axis of the coordinate system. |
zAxis | [in] Z-axis of the coordinate system. |
OdGeMatrix3d & OdGeMatrix3d::setToAlignCoordSys | ( | const OdGePoint3d & | fromOrigin, |
const OdGeVector3d & | fromXAxis, | ||
const OdGeVector3d & | fromYAxis, | ||
const OdGeVector3d & | fromZAxis, | ||
const OdGePoint3d & | toOrigin, | ||
const OdGeVector3d & | toXAxis, | ||
const OdGeVector3d & | toYAxis, | ||
const OdGeVector3d & | toZAxis | ||
) |
Sets this matrix to the matrix which maps the initial coordinate system defined by fromOrigin, fromXAxis, fromYAxis and fromZAxis, to the destination coordinate system defined by toOrigin, toXAxis, toYAxis and toZAxis, and returns a reference to this matrix.
fromOrigin | [in] Origin of the initial coordinate system. |
fromXAxis | [in] X-axis of the initial coordinate system. |
fromYAxis | [in] Y-axis of the initial coordinate system. |
fromZAxis | [in] Z-axis of the initial coordinate system. |
toOrigin | [in] Origin of the destination coordinate system. |
toXAxis | [in] X-axis of the destination coordinate system. |
toYAxis | [in] Y-axis of the destination coordinate system. |
toZAxis | [in] Z-axis of the destination coordinate system. |
OdGeMatrix3d & OdGeMatrix3d::setToIdentity | ( | ) |
Sets this matrix to the identity matrix, and returns a reference to this matrix.
OdGeMatrix3d & OdGeMatrix3d::setToMirroring | ( | const OdGeLine3d & | mirrorLine | ) |
Sets this matrix to the matrix which is mirrored about the specified object and returns a reference to this matrix.
mirrorLine | [in] Mirror line entity. |
OdGeMatrix3d & OdGeMatrix3d::setToMirroring | ( | const OdGePlane & | mirrorPlane | ) |
Sets this matrix to the matrix which is mirrored about the specified object and returns a reference to this matrix.
mirrorPlane | [in] Mirror plane. |
OdGeMatrix3d & OdGeMatrix3d::setToMirroring | ( | const OdGePoint3d & | mirrorPoint | ) |
Sets this matrix to the matrix which is mirrored about the specified object and returns a reference to this matrix.
mirrorPoint | [in] Mirror point. |
OdGeMatrix3d & OdGeMatrix3d::setToPlaneToWorld | ( | const OdGePlane & | plane | ) |
Sets this matrix to the matrix which maps the plane coordinate system to the WCS, and returns a reference to this matrix.
plane | [in] Plane. |
OdGeMatrix3d & OdGeMatrix3d::setToPlaneToWorld | ( | const OdGeVector3d & | normal | ) |
Sets this matrix to the matrix which maps the plane coordinate system to the WCS, and returns a reference to this matrix.
normal | [in] Normal to the plane. |
OdGeMatrix3d & OdGeMatrix3d::setToProduct | ( | const OdGeMatrix3d & | matrix1, |
const OdGeMatrix3d & | matrix2 | ||
) |
Sets this matrix to the product of matrix1 and matrix2, and returns a reference to this matrix.
matrix1 | [in] First 3D matrix that is multiplied. |
matrix2 | [in] Second 3D matrix that is multiplied. |
OdGeMatrix3d & OdGeMatrix3d::setToProjection | ( | const OdGePlane & | projectionPlane, |
const OdGeVector3d & | projectDir | ||
) |
Sets this matrix to the matrix which is parallely projected onto the specified plane in the specified direction and returns a reference to this matrix.
projectionPlane | [in] Projection plane. |
projectDir | [in] Projection direction. |
OdGeMatrix3d & OdGeMatrix3d::setToRotation | ( | double | angle, |
const OdGeVector3d & | axis, | ||
const OdGePoint3d & | center = OdGePoint3d::kOrigin |
||
) |
Sets this matrix to the matrix which is rotated by a specified angle about an axis passing through the center, and returns a reference to this matrix.
angle | [in] Rotation angle. |
axis | [in] Rotation axis. |
center | [in] Center of rotation. |
OdGeMatrix3d & OdGeMatrix3d::setToScaling | ( | const OdGeScale3d & | scale, |
const OdGePoint3d & | center = OdGePoint3d::kOrigin |
||
) |
Sets this matrix to the matrix which is scaled by a scale factor about the center of scaling, and returns a reference to this matrix.
scale | [in] Scale factor. |
center | [in] Center of scaling. |
OdGeMatrix3d & OdGeMatrix3d::setToScaling | ( | double | scale, |
const OdGePoint3d & | center = OdGePoint3d::kOrigin |
||
) |
Sets this matrix to the matrix which is scaled by a scale factor about the center of scaling, and returns a reference to this matrix.
scale | [in] Scale factor. |
center | [in] Center of scaling. |
OdGeMatrix3d & OdGeMatrix3d::setToTranslation | ( | const OdGeVector3d & | vect | ) |
Sets this matrix to the matrix which is translated by a translation vector and returns a reference to this matrix.
vect | [in] Translation vector. |
OdGeMatrix3d & OdGeMatrix3d::setToWorldToPlane | ( | const OdGePlane & | plane | ) |
Sets this matrix to the matrix which maps the WCS to the plane coordinate system, and returns a reference to this matrix.
plane | [in] Plane. |
OdGeMatrix3d & OdGeMatrix3d::setToWorldToPlane | ( | const OdGeVector3d & | normal | ) |
Sets this matrix to the matrix which maps the WCS to the plane coordinate system, and returns a reference to this matrix.
normal | [in] Normal to the plane. |
OdGeMatrix3d & OdGeMatrix3d::setTranslation | ( | const OdGeVector3d & | vect | ) |
Sets the translation part of the matrix to the specified vector.
vect | [in] Translation vector. |
OdGeVector3d OdGeMatrix3d::translation | ( | ) | const |
Returns the translation vector of this matrix.
|
static |
Returns the matrix of the translation by a vector.
vect | [in] Translation vector. |
OdGeMatrix3d OdGeMatrix3d::transpose | ( | ) | const |
Returns the transpose of this matrix.
OdGeMatrix3d & OdGeMatrix3d::transposeIt | ( | ) |
Sets this matrix to its transpose, and returns a reference to this matrix.
void OdGeMatrix3d::validateZero | ( | const OdGeTol & | tol = OdGeContext::gTol | ) |
Sets any values within tol of 0 to 0.
tol | [in] Validation tolerance. |
|
static |
Returns the matrix which maps the WCS to the plane coordinate system.
plane | [in] Plane. |
|
static |
Returns the matrix which maps the WCS to the plane coordinate system.
normal | [in] Normal to the plane. |
double OdGeMatrix3d::entry[4][4] |
Matrix data by rows.
Definition at line 852 of file GeMatrix3d.h.
|
static |
Multiplicative identity matrix.
Definition at line 97 of file GeMatrix3d.h.