CFx SDK Documentation 2024 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 negateX=false) |
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 |
Default constructor for the OdGeScale3d class.
Definition at line 56 of file GeScale3d.h.
|
inline |
Constructor for the OdGeScale3d class.
factor | [in] Uniform scale factor. |
Definition at line 67 of file GeScale3d.h.
|
inline |
Constructor for the OdGeScale3d class.
xFactor | [in] The X scale factor. |
yFactor | [in] The Y scale factor. |
zFactor | [in] The Z scale factor. |
Definition at line 81 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 3D scale vector to be compared with this 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 345 of file GeScale3d.h.
OdGeScale3d::operator OdGeMatrix3d | ( | ) | const |
Returns the equivalent 3D tranformation matrix.
bool OdGeScale3d::operator!= | ( | const OdGeScale3d & | scaleVec | ) | const |
Inequality operator for the OdGeScale3d object. Returns true if this scale vector is not equal to the input scale vector.
scaleVec | [in] A scale vector to be compared with this scale vector. |
OdGeScale3d OdGeScale3d::operator* | ( | const OdGeScale3d & | scaleVec | ) | const |
Multiplication operator for the OdGeScale3d object.
scaleVec | [in] Any 3D scale vector scale factors of which are multiplied. |
<pre> scl * [xs ys] = [scl*xs scl*ys] [xs1 ys1] * [xs2 ys2] = [xs1*xs2 ys1*ys2] </pre>
OdGeScale3d OdGeScale3d::operator* | ( | double | factor | ) | const |
Multiplication operator for the OdGeScale3d object. Returns the resulting scale object.
factor | [in] Uniform scale factor. |
<pre> scl * [xs1 ys1] = [scl*xs1 scl*ys1] [xs1 ys1 ] * [xs2 ys2] = [xs1*xs2 ys1*ys2] </pre>
OdGeScale3d & OdGeScale3d::operator*= | ( | const OdGeScale3d & | scaleVec | ) |
Multiplication operator for the OdGeScale3d object.
scaleVec | [in] Any 3D scale vector scale factors of which are multiplied. |
OdGeScale3d & OdGeScale3d::operator*= | ( | double | factor | ) |
Multiplication operator for the OdGeScale3d object. Returns a reference to the resulting scale object.
factor | [in] Uniform scale factor. |
<pre> scl * [xs1 ys1] = [scl*xs1 scl*ys1] [xs1 ys1 ] * [xs2 ys2] = [xs1*xs2 ys1*ys2] </pre>
bool OdGeScale3d::operator== | ( | const OdGeScale3d & | scaleVec | ) | const |
Equality operator for the OdGeScale3d object. Returns true if this scale vector is equal to the input scale vector.
scaleVec | [in] A scale vector to be compared with this scale vector. |
|
inline |
References the ith component of the scale vector.
i | [in] Index of component. |
Definition at line 283 of file GeScale3d.h.
|
inline |
Returns the ith component of the scale vector.
i | [in] Index of component. |
Definition at line 271 of file GeScale3d.h.
|
inline |
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 that is multiplied with this scale vector. |
Definition at line 173 of file GeScale3d.h.
|
inline |
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 that is multiplied with this scale vector. |
Definition at line 159 of file GeScale3d.h.
OdGeScale3d & OdGeScale3d::removeScale | ( | OdGeMatrix3d & | xfm, |
bool | negateX = false |
||
) |
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 3D transformation matrix. |
negateX | [in] Specifies which implementation is used. |
|
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 294 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 3D scale vector that is multiplied with the provided scale uniform scale factor. |
<pre> scl * [xs ys zs] = [scl*xs scl*ys scl*zs] [xs1 ys1 zs1] * [xs2 ys2 zs2] = [xs1*xs2 ys1*ys2 zs1*zs2] </pre>
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 3D scale vector that is multiplied with the second scale vector. |
scaleVec2 | [in] Any 3D scale vector that is multiplied with the first scale vector. |
<pre> scl * [xs ys zs] = [scl*xs scl*ys scl*zs] [xs1 ys1 zs1] * [xs2 ys2 zs2] = [xs1*xs2 ys1*ys2 zs1*zs2] </pre>
|
friend |
|
static |
Definition at line 86 of file GeScale3d.h.
double OdGeScale3d::sx |
Definition at line 347 of file GeScale3d.h.
double OdGeScale3d::sy |
Definition at line 348 of file GeScale3d.h.
double OdGeScale3d::sz |
Definition at line 349 of file GeScale3d.h.