CFx SDK Documentation
2022 SP0
|
#include <GeScale3d.h>
Public Member Functions | |
OdGeScale3d () | |
OdGeScale3d (double factor) | |
OdGeScale3d (double xFactor, double yFactor, double zFactor) | |
OdGeScale3d | operator* (const OdGeScale3d &scaleVec) const |
OdGeScale3d | operator* (double factor) const |
OdGeScale3d & | operator*= (const OdGeScale3d &scaleVec) |
OdGeScale3d & | operator*= (double factor) |
OdGeScale3d & | preMultBy (const OdGeScale3d &leftSide) |
OdGeScale3d & | postMultBy (const OdGeScale3d &rightSide) |
OdGeScale3d & | setToProduct (const OdGeScale3d &scaleVec1, const OdGeScale3d &scaleVec2) |
OdGeScale3d & | setToProduct (const OdGeScale3d &scaleVec, double factor) |
OdGeScale3d | inverse () const |
OdGeScale3d & | invert () |
bool | isProportional (const OdGeTol &tol=OdGeContext::gTol) const |
bool | operator== (const OdGeScale3d &scaleVec) const |
bool | operator!= (const OdGeScale3d &scaleVec) const |
bool | isEqualTo (const OdGeScale3d &scaleVec, const OdGeTol &tol=OdGeContext::gTol) const |
double | operator[] (unsigned int i) const |
double & | operator[] (unsigned int i) |
OdGeScale3d & | set (double xFactor, double yFactor, double zFactor) |
operator OdGeMatrix3d () const | |
void | getMatrix (OdGeMatrix3d &xfm) const |
OdGeScale3d & | extractScale (const OdGeMatrix3d &xfm) |
OdGeScale3d & | removeScale (OdGeMatrix3d &xfm) |
bool | isValid () const |
Public Attributes | |
double | sx |
double | sy |
double | sz |
Static Public Attributes | |
static GE_STATIC_EXPORT const OdGeScale3d | kIdentity |
Friends | |
OdGeScale3d | operator* (double factor, const OdGeScale3d &scaleVec) |
This class represents scaling transformations (scale vectors) in 3D space.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
Definition at line 46 of file GeScale3d.h.
|
inline |
factor | [in] Uniform scale factor. |
xFactor | [in] The X scale factor. |
yFactor | [in] The Y scale factor. |
zFactor | [in] The Z scale factor. |
source | [in] Object to be cloned. |
Definition at line 56 of file GeScale3d.h.
|
inline |
Definition at line 59 of file GeScale3d.h.
|
inline |
Definition at line 63 of file GeScale3d.h.
OdGeScale3d& OdGeScale3d::extractScale | ( | const OdGeMatrix3d & | xfm | ) |
Returns the scale vector corresponding to the lengths of the column vectors of the transformation matrix.
xfm | [out] Receives the 3D transformation matrix. |
void OdGeScale3d::getMatrix | ( | OdGeMatrix3d & | xfm | ) | const |
Returns the transformation matrix equivalent to this scale vector.
xfm | [out] Receives the 3D transformation matrix. |
OdGeScale3d OdGeScale3d::inverse | ( | ) | const |
Returns the inverse of this scale vector.
OdGeScale3d& OdGeScale3d::invert | ( | ) |
Sets this scale vector to its inverse, and returns a reference to this scale vector.
bool OdGeScale3d::isEqualTo | ( | const OdGeScale3d & | scaleVec, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
Returns true if and only if scaleVec is identical to this one, within the specified tolerance.
scaleVec | [in] Any 2D scale vector. |
tol | [in] Geometric tolerance. |
bool OdGeScale3d::isProportional | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Returns true if and only if the scaling matrix corresponding to this scale vector isUniScaledOrtho ().
tol | [in] Geometric tolerance. |
|
inline |
Returns true if this scale vector has nonzero coordinates or false if at least one coordinate is zero.
Definition at line 258 of file GeScale3d.h.
OdGeScale3d::operator OdGeMatrix3d | ( | ) | const |
Returns the equivalent 3D tranformation matrix.
bool OdGeScale3d::operator!= | ( | const OdGeScale3d & | scaleVec | ) | const |
OdGeScale3d OdGeScale3d::operator* | ( | const OdGeScale3d & | scaleVec | ) | const |
scaleVec | [in] Any 3D scale vector. |
factor | [in] Uniform scale factor. |
OdGeScale3d OdGeScale3d::operator* | ( | double | factor | ) | const |
OdGeScale3d& OdGeScale3d::operator*= | ( | const OdGeScale3d & | scaleVec | ) |
scaleVec | [in] Any 3D scale vector. |
factor | [in] Uniform scale factor. |
scl * [xs ys zs] = [scl*xs scl*ys scl*zs] [xs1 ys1 zs1] * [xs2 ys2 zs2] = [xs1*xs2 ys1*ys2 zs1*zs2]
OdGeScale3d& OdGeScale3d::operator*= | ( | double | factor | ) |
bool OdGeScale3d::operator== | ( | const OdGeScale3d & | scaleVec | ) | const |
|
inline |
Definition at line 199 of file GeScale3d.h.
|
inline |
i | [in] Index of component. |
Returns or references the ith component of the scale vector.
0 returns or references the X scale factor. 1 returns or references the Y scale factor. 2 returns or references the Z scale factor.
Definition at line 197 of file GeScale3d.h.
OdGeScale3d& OdGeScale3d::postMultBy | ( | const OdGeScale3d & | rightSide | ) |
Sets this scale vector to the product (this scale vector) * (rightSide), and returns a reference to this scale vector.
rightSide | [in] Any 3D scale vector. |
OdGeScale3d& OdGeScale3d::preMultBy | ( | const OdGeScale3d & | leftSide | ) |
Sets this scale vector to the product leftSide * (this scale vector), and returns a reference to this scale vector.
leftSide | [in] Any 3D scale vector. |
OdGeScale3d& OdGeScale3d::removeScale | ( | OdGeMatrix3d & | xfm | ) |
Returns the scale vector corresponding to the lengths of the column vectors of the transformation matrix, and sets the scale factor of the matrix to 1 .
xfm | [out] Receives the 2D transformation matrix. |
|
inline |
Sets this scale vector to the specified X and Y factors, and returns a reference to this vectors.
xFactor | [in] The X scale factor. |
yFactor | [in] The Y scale factor. |
zFactor | [in] The Z scale factor. |
Definition at line 210 of file GeScale3d.h.
OdGeScale3d& OdGeScale3d::setToProduct | ( | const OdGeScale3d & | scaleVec, |
double | factor | ||
) |
Sets this scale vector to the product factor * scaleVec, and returns a reference to this scale vector.
factor | [in] Uniform scale factor. |
scaleVec | [in] Any 2D scale vector. |
scl * [xs ys zs] = [scl*xs scl*ys scl*zs] [xs1 ys1 zs1] * [xs2 ys2 zs2] = [xs1*xs2 ys1*ys2 zs1*zs2]
OdGeScale3d& OdGeScale3d::setToProduct | ( | const OdGeScale3d & | scaleVec1, |
const OdGeScale3d & | scaleVec2 | ||
) |
Sets this scale vector to the product scaleVec1 * scaleVec2 and returns a reference to this scale vector.
scaleVec1 | [in] Any 2D scale vector. |
scaleVec2 | [in] Any 2D scale vector. |
scl * [xs ys zs] = [scl*xs scl*ys scl*zs] [xs1 ys1 zs1] * [xs2 ys2 zs2] = [xs1*xs2 ys1*ys2 zs1*zs2]
|
friend |
|
static |
Definition at line 68 of file GeScale3d.h.
double OdGeScale3d::sx |
Definition at line 260 of file GeScale3d.h.
double OdGeScale3d::sy |
Definition at line 261 of file GeScale3d.h.
double OdGeScale3d::sz |
Definition at line 262 of file GeScale3d.h.