CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
OdGeMatrix3d Class Reference

#include <GeMatrix3d.h>

Public Member Functions

 OdGeMatrix3d ()
 
OdGeMatrix3dsetToIdentity ()
 
void validateZero (const OdGeTol &tol=OdGeContext::gTol)
 
OdGeMatrix3d operator* (const OdGeMatrix3d &matrix) const
 
OdGeMatrix3doperator*= (const OdGeMatrix3d &matrix)
 
OdGeMatrix3dpreMultBy (const OdGeMatrix3d &leftSide)
 
OdGeMatrix3dpostMultBy (const OdGeMatrix3d &rightSide)
 
OdGeMatrix3dsetToProduct (const OdGeMatrix3d &matrix1, const OdGeMatrix3d &matrix2)
 
OdGeMatrix3dinvert ()
 
OdGeMatrix3d inverse () const
 
OdGeMatrix3d inverse (const OdGeTol &tol) const
 
bool inverse (OdGeMatrix3d &inverseMatrix, double tol) const
 
bool isSingular (const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeMatrix3dtransposeIt ()
 
OdGeMatrix3d transpose () const
 
bool operator== (const OdGeMatrix3d &matrix) const
 
bool operator!= (const OdGeMatrix3d &matrix) const
 
bool isEqualTo (const OdGeMatrix3d &matrix, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isUniScaledOrtho (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isScaledOrtho (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPerspective (const OdGeTol &tol=OdGeContext::gTol) const
 
double det () const
 
OdGeMatrix3dsetTranslation (const OdGeVector3d &vect)
 
OdGeMatrix3dsetCoordSystem (const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
 
void getCoordSystem (OdGePoint3d &origin, OdGeVector3d &xAxis, OdGeVector3d &yAxis, OdGeVector3d &zAxis) const
 
OdGePoint3d getCsOrigin () const
 
OdGeVector3d getCsXAxis () const
 
OdGeVector3d getCsYAxis () const
 
OdGeVector3d getCsZAxis () const
 
OdGeMatrix3dsetToTranslation (const OdGeVector3d &vect)
 
OdGeMatrix3dsetToRotation (double angle, const OdGeVector3d &axis, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
OdGeMatrix3dsetToScaling (double scale, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
OdGeMatrix3dsetToScaling (const OdGeScale3d &scale, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
OdGeMatrix3dsetToMirroring (const OdGePlane &mirrorPlane)
 
OdGeMatrix3dsetToMirroring (const OdGePoint3d &mirrorPoint)
 
OdGeMatrix3dsetToMirroring (const OdGeLine3d &mirrorLine)
 
OdGeMatrix3dsetToProjection (const OdGePlane &projectionPlane, const OdGeVector3d &projectDir)
 
OdGeMatrix3dsetToAlignCoordSys (const OdGePoint3d &fromOrigin, const OdGeVector3d &fromXAxis, const OdGeVector3d &fromYAxis, const OdGeVector3d &fromZAxis, const OdGePoint3d &toOrigin, const OdGeVector3d &toXAxis, const OdGeVector3d &toYAxis, const OdGeVector3d &toZAxis)
 
OdGeMatrix3dsetToWorldToPlane (const OdGeVector3d &normal)
 
OdGeMatrix3dsetToWorldToPlane (const OdGePlane &plane)
 
OdGeMatrix3dsetToPlaneToWorld (const OdGeVector3d &normal)
 
OdGeMatrix3dsetToPlaneToWorld (const OdGePlane &plane)
 
OdGeVector3d translation () const
 
double scale () const
 
double norm () const
 
OdGeMatrix2d convertToLocal (OdGeVector3d &normal, double &elevation) const
 
const double * operator[] (int row) const
 
double * operator[] (int row)
 
double operator() (int row, int column) const
 
double & operator() (int row, int column)
 

Static Public Member Functions

static OdGeMatrix3d translation (const OdGeVector3d &vect)
 
static OdGeMatrix3d rotation (double angle, const OdGeVector3d &axis, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
static OdGeMatrix3d scaling (double scale, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
static OdGeMatrix3d scaling (const OdGeScale3d &scale, const OdGePoint3d &center=OdGePoint3d::kOrigin)
 
static OdGeMatrix3d mirroring (const OdGePlane &mirrorPlane)
 
static OdGeMatrix3d mirroring (const OdGePoint3d &mirrorPoint)
 
static OdGeMatrix3d mirroring (const OdGeLine3d &mirrorLine)
 
static OdGeMatrix3d projection (const OdGePlane &projectionPlane, const OdGeVector3d &projectDir)
 
static OdGeMatrix3d alignCoordSys (const OdGePoint3d &fromOrigin, const OdGeVector3d &fromXAxis, const OdGeVector3d &fromYAxis, const OdGeVector3d &fromZAxis, const OdGePoint3d &toOrigin, const OdGeVector3d &toXAxis, const OdGeVector3d &toYAxis, const OdGeVector3d &toZAxis)
 
static OdGeMatrix3d worldToPlane (const OdGeVector3d &normal)
 
static OdGeMatrix3d worldToPlane (const OdGePlane &plane)
 
static OdGeMatrix3d planeToWorld (const OdGeVector3d &normal)
 
static OdGeMatrix3d planeToWorld (const OdGePlane &plane)
 

Public Attributes

double entry [4][4]
 

Static Public Attributes

static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
 

Detailed Description

This class represents 3D transformation matrices that define affine (translation, rotation and/or scaling) transformations.

Corresponding C++ library: TD_Ge

Remarks
OdGeMatrix3d may be viewed as an array[4][4] of doubles.

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.

Constructor & Destructor Documentation

◆ OdGeMatrix3d()

OdGeMatrix3d::OdGeMatrix3d ( )

Default constructor for objects of the OdGeMatrix3d class.

Remarks
Constructs a matrix for 3D transformation operations and sets it to identity.

Member Function Documentation

◆ alignCoordSys()

static OdGeMatrix3d OdGeMatrix3d::alignCoordSys ( const OdGePoint3d fromOrigin,
const OdGeVector3d fromXAxis,
const OdGeVector3d fromYAxis,
const OdGeVector3d fromZAxis,
const OdGePoint3d toOrigin,
const OdGeVector3d toXAxis,
const OdGeVector3d toYAxis,
const OdGeVector3d toZAxis 
)
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.

Parameters
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.
Returns
Transformation matrix.

◆ convertToLocal()

OdGeMatrix2d OdGeMatrix3d::convertToLocal ( OdGeVector3d normal,
double &  elevation 
) const

Returns the matrix which transforms the plane specified by a normal and an elevation.

Parameters
normal[in/out] Normal to the plane.
elevation[in/out] Elevation of the plane.
Returns
Transformation matrix.
Remarks
Returns the normal and elevation of the transformed plane, as well as a 2D transformation matrix for transforming points in the original plane coordinates to the transformed plane coordinates.

◆ det()

double OdGeMatrix3d::det ( ) const

Returns the determinant of this matrix.

Returns
Determinant value.

◆ getCoordSystem()

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.

Parameters
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.

◆ getCsOrigin()

OdGePoint3d OdGeMatrix3d::getCsOrigin ( ) const

Returns the origin of the coordinate system to which this matrix maps the WCS.

Returns
Origin of the coordinate system.

◆ getCsXAxis()

OdGeVector3d OdGeMatrix3d::getCsXAxis ( ) const

Returns the X-axis of the coordinate system to which this matrix maps the WCS.

Returns
X-axis of the coordinate system.

◆ getCsYAxis()

OdGeVector3d OdGeMatrix3d::getCsYAxis ( ) const

Returns the Y-axis of the coordinate system to which this matrix maps the WCS.

Returns
Y-axis of the coordinate system.

◆ getCsZAxis()

OdGeVector3d OdGeMatrix3d::getCsZAxis ( ) const

Returns the Z-axis of the coordinate system to which this matrix maps the WCS.

Returns
Z-axis of the coordinate system.

◆ inverse() [1/3]

OdGeMatrix3d OdGeMatrix3d::inverse ( ) const

Calculates inversion of this matrix.

Returns
Inversion of this matrix.
Remarks
Throws eInvalidInput if determinant of this matrix is zero.

◆ inverse() [2/3]

OdGeMatrix3d OdGeMatrix3d::inverse ( const OdGeTol tol) const

Calculates inversion of this matrix.

Parameters
tol[in] Tolerance value.
Returns
Inverse of this matrix.
Remarks
Throws eInvalidInput if determinant of this matrix is less than tol.equalPoint().

◆ inverse() [3/3]

bool OdGeMatrix3d::inverse ( OdGeMatrix3d inverseMatrix,
double  tol 
) const

Retrieves the inverse of this matrix.

Parameters
inverseMatrix[out] Receives the inverse matrix.
tol[in] Tolerance value.
Returns
true if this matrix has an inverse; false otherwise.
Remarks
Matrix has an inverse if determinant of this matrix is not zero within tol.

◆ invert()

OdGeMatrix3d & OdGeMatrix3d::invert ( )

Sets this matrix to its inversion.

Returns
Reference to this matrix.
Remarks
Throws eInvalidInput if determinant of this matrix is zero.

◆ isEqualTo()

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.

Parameters
matrix[in] Matrix to compare with this matrix.
tol[in] Geomentric tolerance.
Returns
true if this matrix is identical to another matrix; false otherwise.

◆ isPerspective()

bool OdGeMatrix3d::isPerspective ( const OdGeTol tol = OdGeContext::gTol) const

Indicates whether the matrix can be used for perspective projections.

Parameters
tol[in] Geomentric tolerance.
Returns
true if the matrix can be used for perspective projections; false otherwise.
Remarks
Returns true if [3][0] or [3][1] or [3][2] elements have non-zero values considering passed tolerance.

◆ isScaledOrtho()

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.

Parameters
tol[in] Geomentric tolerance.
Returns
true if the columns vectors of the linear part of this matrix are mutually perpendicular; false otherwise.

◆ isSingular()

bool OdGeMatrix3d::isSingular ( const OdGeTol tol = OdGeContext::gTol) const

Checks whether this matrix is singular.

Parameters
tol[in] Geometric tolerance.
Returns
true if this matrix is singular, false otherwise.
Remarks
A matrix is singular if and only if its determinant is zero within the specified tolerance. A singular matrix cannot be inverted.

◆ isUniScaledOrtho()

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.

Parameters
tol[in] Geomentric tolerance.
Returns
true if the columns vectors of the linear part of this matrix are of equal length and mutually perpendicular; false otherwise.

◆ mirroring() [1/3]

static OdGeMatrix3d OdGeMatrix3d::mirroring ( const OdGeLine3d mirrorLine)
static

Returns the matrix that mirrors entities across the specified line.

Parameters
mirrorLine[in] Mirror line entity.
Returns
Mirroring matrix.

◆ mirroring() [2/3]

static OdGeMatrix3d OdGeMatrix3d::mirroring ( const OdGePlane mirrorPlane)
static

Returns the matrix that mirrors entities across the specified plane.

Parameters
mirrorPlane[in] Mirror plane.
Returns
Mirroring matrix.

◆ mirroring() [3/3]

static OdGeMatrix3d OdGeMatrix3d::mirroring ( const OdGePoint3d mirrorPoint)
static

Returns the matrix taht mirrors entities across the specified point.

Parameters
mirrorPoint[in] Mirror point.
Returns
Mirroring matrix.

◆ norm()

double OdGeMatrix3d::norm ( ) const

Returns the largest absolute value of the linear part of this matrix.

Returns
The largest absolute value of the linear part of this matrix.

◆ operator!=()

bool OdGeMatrix3d::operator!= ( const OdGeMatrix3d matrix) const

Negated comparison operator.

Parameters
matrix[in] Matrix to compare with this matrix.
Returns
true if compared matrices are not equal; false otherwise.

◆ operator()() [1/2]

double & OdGeMatrix3d::operator() ( int  row,
int  column 
)
inline

References matrix.entry[row][column] as matrix(row,column).

Parameters
row[in] Row.
column[in] Column.
Returns
Reference to the matrix element.

Returns a reference to a matrix element specified by the row and column.

Parameters
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.
Returns
Reference to the matrix element.

Definition at line 903 of file GeMatrix3d.h.

◆ operator()() [2/2]

double OdGeMatrix3d::operator() ( int  row,
int  column 
) const
inline

Returns matrix.entry[row][column] as matrix(row,column).

Parameters
row[in] Row.
column[in] Column.
Returns
Matrix element.

Returns a matrix element specified by the row and column.

Parameters
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.
Returns
Matrix element.

Definition at line 890 of file GeMatrix3d.h.

◆ operator*()

OdGeMatrix3d OdGeMatrix3d::operator* ( const OdGeMatrix3d matrix) const

Multiplication operator. Returns the product of this matrix and another matrix.

Parameters
matrix[in] Another matrix to multiply this matrix by.
Returns
Product of this matrix and another matrix.

◆ operator*=()

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.

Parameters
matrix[in] Another matrix to multiply this matrix by.
Returns
A reference to this OdGeMatrix3d object.

◆ operator==()

bool OdGeMatrix3d::operator== ( const OdGeMatrix3d matrix) const

Comparison operator.

Parameters
matrix[in] Matrix to compare with this matrix.
Returns
true if compared matrices are equal; false otherwise.

◆ operator[]() [1/2]

double * OdGeMatrix3d::operator[] ( int  row)
inline

References matrix.entry[row] as matrix[row].

Parameters
row[in] Row.
Returns
Pointer to the matrix row.

Returns a pointer to a matrix row.

Parameters
row[in] Row of a matrix. Must be in range from 0 to 3.
Returns
Pointer to the matrix row.

Definition at line 877 of file GeMatrix3d.h.

◆ operator[]() [2/2]

const double * OdGeMatrix3d::operator[] ( int  row) const
inline

Returns matrix.entry[row] as matrix[row].

Parameters
row[in] Row.
Returns
Pointer to a constant matrix row.

Returns a pointer to a constant matrix row.

Parameters
row[in] Row of a matrix. Must be in range from 0 to 3.
Returns
Pointer to a constant matrix row.

Definition at line 865 of file GeMatrix3d.h.

◆ planeToWorld() [1/2]

static OdGeMatrix3d OdGeMatrix3d::planeToWorld ( const OdGePlane plane)
static

Returns the matrix which maps the plane coordinate system to the WCS.

Parameters
plane[in] Plane.
Returns
Transformation matrix.

◆ planeToWorld() [2/2]

static OdGeMatrix3d OdGeMatrix3d::planeToWorld ( const OdGeVector3d normal)
static

Returns the matrix which maps the plane coordinate system to the WCS.

Parameters
normal[in] Normal to the plane.
Returns
Transformation matrix.
Remarks
If normal is specified, the origin of the plane is (0,0,0).

◆ postMultBy()

OdGeMatrix3d & OdGeMatrix3d::postMultBy ( const OdGeMatrix3d rightSide)

Sets this matrix to the product of this matrix and rightSide, and returns a reference to this matrix.

Parameters
rightSide[in] 3D matrix that will be multiplied by this matrix.
Returns
Reference to this matrix.

◆ preMultBy()

OdGeMatrix3d & OdGeMatrix3d::preMultBy ( const OdGeMatrix3d leftSide)

Sets this matrix to the product of leftSide and this matrix, and returns a reference to this matrix.

Parameters
leftSide[in] 3D matrix that will be multiplied by this matrix.
Returns
Reference to this matrix.

◆ projection()

static OdGeMatrix3d OdGeMatrix3d::projection ( const OdGePlane projectionPlane,
const OdGeVector3d projectDir 
)
static

Returns the matrix that parallely projects entities onto the specified plane in the specified direction.

Parameters
projectionPlane[in] Projection plane.
projectDir[in] Projection direction.
Returns
Projection matrix.

◆ rotation()

static OdGeMatrix3d OdGeMatrix3d::rotation ( double  angle,
const OdGeVector3d axis,
const OdGePoint3d center = OdGePoint3d::kOrigin 
)
static

Returns the matrix that rotates entities by an angle about an axis passing through the center.

Parameters
angle[in] Rotation angle.
axis[in] Rotation axis.
center[in] Center of rotation.
Returns
Rotation matrix.

◆ scale()

double OdGeMatrix3d::scale ( ) const

Returns the scale factor of this matrix.

Returns
Scale factor.
Remarks
The scale factor is the square root of the longest column vector of the linear part of this matrix.

◆ scaling() [1/2]

static OdGeMatrix3d OdGeMatrix3d::scaling ( const OdGeScale3d scale,
const OdGePoint3d center = OdGePoint3d::kOrigin 
)
static

Returns the matrix that scales entities by a scale factor relatively to the center.

Parameters
scale[in] Scale factor.
center[in] Center of scaling.
Returns
Scaling matrix.

◆ scaling() [2/2]

static OdGeMatrix3d OdGeMatrix3d::scaling ( double  scale,
const OdGePoint3d center = OdGePoint3d::kOrigin 
)
static

Returns the matrix that scales entities by a scale factor relatively to the center.

Parameters
scale[in] Scale factor.
center[in] Center of scaling.
Returns
Scaling matrix.

◆ setCoordSystem()

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.

Parameters
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.
Returns
Reference to this matrix.

◆ setToAlignCoordSys()

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.

Parameters
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.
Returns
Reference to this matrix.

◆ setToIdentity()

OdGeMatrix3d & OdGeMatrix3d::setToIdentity ( )

Sets this matrix to the identity matrix, and returns a reference to this matrix.

Returns
Reference to this matrix.

◆ setToMirroring() [1/3]

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.

Parameters
mirrorLine[in] Mirror line entity.
Returns
Reference to this matrix.

◆ setToMirroring() [2/3]

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.

Parameters
mirrorPlane[in] Mirror plane.
Returns
Reference to this matrix.

◆ setToMirroring() [3/3]

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.

Parameters
mirrorPoint[in] Mirror point.
Returns
Reference to this matrix.

◆ setToPlaneToWorld() [1/2]

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.

Parameters
plane[in] Plane.
Returns
Reference to this matrix.

◆ setToPlaneToWorld() [2/2]

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.

Parameters
normal[in] Normal to the plane.
Returns
Reference to this matrix.
Remarks
If the normal is specified, the origin of the plane is (0,0,0).

◆ setToProduct()

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.

Parameters
matrix1[in] First 3D matrix that is multiplied.
matrix2[in] Second 3D matrix that is multiplied.
Returns
Reference to this matrix.

◆ setToProjection()

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.

Parameters
projectionPlane[in] Projection plane.
projectDir[in] Projection direction.
Returns
Reference to this matrix.

◆ setToRotation()

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.

Parameters
angle[in] Rotation angle.
axis[in] Rotation axis.
center[in] Center of rotation.
Returns
Reference to this matrix.

◆ setToScaling() [1/2]

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.

Parameters
scale[in] Scale factor.
center[in] Center of scaling.
Returns
Reference to this matrix.

◆ setToScaling() [2/2]

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.

Parameters
scale[in] Scale factor.
center[in] Center of scaling.
Returns
Reference to this matrix.

◆ setToTranslation()

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.

Parameters
vect[in] Translation vector.
Returns
Reference to this matrix.

◆ setToWorldToPlane() [1/2]

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.

Parameters
plane[in] Plane.
Returns
Reference to this matrix.

◆ setToWorldToPlane() [2/2]

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.

Parameters
normal[in] Normal to the plane.
Returns
Reference to this matrix.
Remarks
If the normal is specified, the origin of the plane is (0,0,0).

◆ setTranslation()

OdGeMatrix3d & OdGeMatrix3d::setTranslation ( const OdGeVector3d vect)

Sets the translation part of the matrix to the specified vector.

Parameters
vect[in] Translation vector.
Returns
Reference to this matrix.

◆ translation() [1/2]

OdGeVector3d OdGeMatrix3d::translation ( ) const

Returns the translation vector of this matrix.

Returns
Translation vector.

◆ translation() [2/2]

static OdGeMatrix3d OdGeMatrix3d::translation ( const OdGeVector3d vect)
static

Returns the matrix of the translation by a vector.

Parameters
vect[in] Translation vector.
Returns
Matrix of the translation by the vector.

◆ transpose()

OdGeMatrix3d OdGeMatrix3d::transpose ( ) const

Returns the transpose of this matrix.

Returns
Transpose of this matrix.

◆ transposeIt()

OdGeMatrix3d & OdGeMatrix3d::transposeIt ( )

Sets this matrix to its transpose, and returns a reference to this matrix.

Returns
Reference to this matrix.

◆ validateZero()

void OdGeMatrix3d::validateZero ( const OdGeTol tol = OdGeContext::gTol)

Sets any values within tol of 0 to 0.

Parameters
tol[in] Validation tolerance.
Remarks
For correcting in case that Zero is corrupted.

◆ worldToPlane() [1/2]

static OdGeMatrix3d OdGeMatrix3d::worldToPlane ( const OdGePlane plane)
static

Returns the matrix which maps the WCS to the plane coordinate system.

Parameters
plane[in] Plane.
Returns
Transformation matrix.

◆ worldToPlane() [2/2]

static OdGeMatrix3d OdGeMatrix3d::worldToPlane ( const OdGeVector3d normal)
static

Returns the matrix which maps the WCS to the plane coordinate system.

Parameters
normal[in] Normal to the plane.
Returns
Transformation matrix.
Remarks
If normal is specified, the origin of the plane is (0,0,0).

Member Data Documentation

◆ entry

double OdGeMatrix3d::entry[4][4]

Matrix data by rows.

Definition at line 852 of file GeMatrix3d.h.

◆ kIdentity

GE_STATIC_EXPORT const OdGeMatrix3d OdGeMatrix3d::kIdentity
static

Multiplicative identity matrix.

Definition at line 97 of file GeMatrix3d.h.


The documentation for this class was generated from the following file: