CSIBCTransfod Class Reference
Class describing an SRT transformation of an object.
More...#include <SIBCTransfod.h>
List of all members.
|
|
Public Member Functions
|
| |
CSIBCTransfod () |
| |
CSIBCTransfod (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rotScl, const CSIBCRotationd &in_rot, const CSIBCVector3Dd &in_vctTrs) |
| |
CSIBCTransfod (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rot, const CSIBCVector3Dd &in_vctTrs) |
| |
CSIBCTransfod (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rotScl) |
| bool |
GetSIScalingFlag () const |
| CSIBCTransfod & |
SetSIScalingFlag (const bool in_bSIScaling) |
| bool |
IsScalingOrientationExisting () const |
| CSIBCVector3Dd & |
GetScaling (CSIBCVector3Dd &out_vctScl) |
| void |
GetScaling (double &out_dX, double &out_dY, double &out_dZ) |
| void |
GetScaling (CSIBCVector3Dd &out_vctScl, CSIBCRotationd &out_rotSclOri) |
| CSIBCRotationd & |
GetScalingOrientation (CSIBCRotationd &in_rotSclOri) |
| CSIBCVector3Dd & |
GetScalingOrientation (CSIBCVector3Dd &out_vctSclOri) |
| void |
GetScalingOrientation (double &out_rdX, double &out_rdY, double &out_rdZ) |
| CSIBCRotationd & |
GetRotation (CSIBCRotationd &out_rot) |
| CSIBCQuaterniond & |
GetRotation (CSIBCQuaterniond &out_quat) |
| CSIBCRotMatd & |
GetRotation (CSIBCRotMatd &out_matRot) |
| const CSIBCRotMatd * |
GetRotation () |
| CSIBCVector3Dd & |
GetRotation (CSIBCVector3Dd &out_vctXYZAngles) |
| void |
GetRotation (double &out_dX, double &out_dY, double &out_dZ) |
| void |
GetRotation (CSIBCVector3Dd &out_vctAxis, double &out_dAngle) |
| CSIBCVector3Dd & |
GetTranslation (CSIBCVector3Dd &out_vctTrs) |
| void |
GetTranslation (double &out_dX, double &out_dY, double &out_dZ) |
| const CSIBCXfoMatd * |
GetMatrix () |
| CSIBCXfoMatd & |
GetMatrix (CSIBCXfoMatd &out_matXfo) |
| CSIBCXfoMatd & |
GetInvMatrix (CSIBCXfoMatd &out_matInvXfo) |
| CSIBCTransfod & |
Set (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rotScl, const CSIBCRotationd &in_rot, const CSIBCVector3Dd &in_vctTrs) |
| CSIBCTransfod & |
Set (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rot, const CSIBCVector3Dd &in_vctTrs) |
| CSIBCTransfod & |
Set (const CSIBCTransfod &in_xfo) |
| CSIBCTransfod & |
Set (const CSIBCXfoMatd &in_matXfo) |
| CSIBCTransfod & |
Set (const CSIBCRotationd &in_rot) |
| CSIBCTransfod & |
Set (const CSIBCVector3Dd &in_vct) |
| CSIBCTransfod & |
SetScaling (const CSIBCVector3Dd &in_vctScl) |
| CSIBCTransfod & |
SetScaling (double in_dX, double in_dY, double in_dZ) |
| CSIBCTransfod & |
SetScaling (const CSIBCVector3Dd &in_vctScl, const CSIBCRotationd &in_rotSclOri) |
| CSIBCTransfod & |
SetScalingOrientation (const CSIBCRotationd &in_rotSclOri) |
| CSIBCTransfod & |
SetScalingOrientation (const CSIBCVector3Dd &in_vctSclOri) |
| CSIBCTransfod & |
SetScalingOrientation (const double in_dX, const double in_dY, const double in_dZ) |
| CSIBCTransfod & |
SetRotation (const CSIBCRotationd &in_rot) |
| CSIBCTransfod & |
SetRotation (const CSIBCQuaterniond &in_quat) |
| CSIBCTransfod & |
SetRotation (const CSIBCRotMatd &in_matRot) |
| CSIBCTransfod & |
SetRotation (const CSIBCVector3Dd &in_vctXYZAngles) |
| CSIBCTransfod & |
SetRotation (double in_dX, double in_dY, double in_dZ) |
| CSIBCTransfod & |
SetRotation (const E3DAxisType in_axis, const double in_dAngle) |
| CSIBCTransfod & |
SetRotation (const CSIBCVector3Dd &in_vctAxis, const double in_dAngle) |
| bool |
SetRotation (const CSIBCVector3Dd &in_vctFrom, const CSIBCVector3Dd &in_vctTo, int &out_bFlip) |
| CSIBCTransfod & |
SetRotation (const CSIBCVector3Dd &in_vctX, const CSIBCVector3Dd &in_vctY, const CSIBCVector3Dd &in_vctZ) |
| CSIBCTransfod & |
SetTranslation (const CSIBCVector3Dd &in_vctTrs) |
| CSIBCTransfod & |
SetTranslation (double in_dX, double in_dY, double in_dZ) |
| CSIBCTransfod & |
SetIdentity (const unsigned char in_oWhichTransfo=oSiTransfoAll) |
| CSIBCTransfod & |
Invert (CSIBCTransfod &in_xfo) |
| CSIBCTransfod & |
Invert () |
| CSIBCTransfod & |
Mul (CSIBCTransfod &in_xfo1, CSIBCTransfod &in_xfo2, unsigned char in_oWhichComponents=oSiTransfoAll) |
| CSIBCTransfod & |
Mul (CSIBCTransfod &in_xfo, unsigned char in_oWhichComponents=oSiTransfoAll) |
| CSIBCTransfod & |
Dif (CSIBCTransfod &in_xfo1, CSIBCTransfod &in_xfo2, unsigned char in_oWhichComponents=oSiTransfoAll, CSIBCTransfod *in_pXfo3=NULL) |
| CSIBCTransfod & |
MapSpaceToWorld (CSIBCTransfod &in_xfoFrom) |
| CSIBCTransfod & |
MapWorldToSpace (CSIBCTransfod &in_xfoTo) |
| CSIBCTransfod & |
MapSpaceToSpace (CSIBCTransfod &in_xfoFrom, CSIBCTransfod &in_xfoTo) |
| CSIBCTransfod & |
AddScaling (const CSIBCVector3Dd &in_vctSclApplied, const E3DTransfoSpace in_eAlong=LOCAL_TRANSFO_SPACE, CSIBCRotationd *in_protAlong=NULL, const E3DTransfoSpace in_eAbout=LOCAL_TRANSFO_SPACE, const CSIBCVector3Dd *in_pvctAbout=NULL, const E3DSclType in_eSclType=XYZ_SCL_TYPE) |
| CSIBCTransfod & |
AddRotation (CSIBCRotationd &in_rotApplied, const E3DTransfoSpace in_eAlong=LOCAL_TRANSFO_SPACE, CSIBCRotationd *in_protAlong=NULL, const E3DTransfoSpace in_eAround=LOCAL_TRANSFO_SPACE, const CSIBCVector3Dd *in_pvctAround=NULL, bool in_bIncrementEulerAngles=false) |
| CSIBCTransfod & |
AddTranslation (const CSIBCVector3Dd &in_vctTrsApplied, const E3DTransfoSpace in_eAlong=LOCAL_TRANSFO_SPACE, CSIBCRotationd *in_protAlong=NULL) |
| CSIBCTransfod & |
AddScalingOrientation (CSIBCRotationd &in_rotApplied, const E3DTransfoSpace in_eAlong=LOCAL_TRANSFO_SPACE, CSIBCRotationd *in_protAlong=NULL, const E3DTransfoSpace in_eAround=LOCAL_TRANSFO_SPACE, const CSIBCVector3Dd *in_pvctAround=NULL, bool in_bIncrementEulerAngles=false) |
Friends
|
| CSIBCXfoMatd & |
GetMapSpaceToWorld (const E3DVectorType in_eVctType, CSIBCTransfod &in_xfoFrom, CSIBCXfoMatd &out_matXfo) |
| CSIBCXfoMatd & |
GetMapWorldToSpace (const E3DVectorType in_eVctType, CSIBCTransfod &in_xfoTo, CSIBCXfoMatd &out_matXfo) |
| CSIBCXfoMatd & |
GetMapSpaceToSpace (const E3DVectorType in_eVctType, CSIBCTransfod &in_xfoFrom, CSIBCTransfod &in_xfoTo, CSIBCXfoMatd &out_matXfo) |
Detailed Description
Class describing an SRT transformation of an object.
Constructor & Destructor Documentation
Default constructor for identity transformation.
Constructor from individual components
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rotScl |
Scaling orientation, |
| [in] |
in_rot |
Orientation |
| [in] |
in_vctTrs |
Translation |
Constructor
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rot |
Rotation |
| [in] |
in_vctTrs |
Translation |
Constructor
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rotScl |
Scaling orientation |
Member Function Documentation
| bool GetSIScalingFlag |
( |
|
) |
const |
Returns the Softimage scaling flag
- Return values:
-
|
|
true |
for classical scaling |
|
|
false |
for proportional scaling |
Sets the Softimage scaling flag
- Parameters:
-
| [in] |
in_bSIScaling |
Flags to indicate how to perform scaling. Possible values:
true for classical scaling
false for proportional scaling
|
- Returns:
- Reference to this transformation
| bool IsScalingOrientationExisting |
( |
|
) |
const |
Queries for the existence of scaling orientation in this transformation.
- Return values:
-
|
|
true |
if scaling orientation is present |
|
|
false |
otherwise |
Returns the scaling factors component in a vector.
- Parameters:
-
| [out] |
out_vctScl |
Output vector for scaling factors. |
- Returns:
- Reference to
out_vctScl
| void GetScaling |
( |
double & |
out_dX, |
|
|
|
double & |
out_dY, |
|
|
|
double & |
out_dZ |
|
|
|
) |
|
|
|
Returns the scaling factors component in three doubles representing the X, Y, and Z values.
- Parameters:
-
| [out] |
out_dX |
X scaling factor. |
| [out] |
out_dY |
Y scaling factor. |
| [out] |
out_dZ |
Z scaling factor. |
Returns the scaling factors and scaling orientation components.
- Parameters:
-
| [out] |
out_vctScl |
Output vector for scaling factors. |
| [out] |
out_rotSclOri |
Output rotation for scaling. |
Returns the scaling orientation component.
- Parameters:
-
| [in] |
in_rotSclOri |
Scaling orientation |
- Returns:
- Reference to
in_rotSclOri
Returns the scaling orientation component.
- Parameters:
-
| [out] |
out_vctSclOri |
Scaling orientation vector. |
- Returns:
- Reference to
out_vctSclOri
| void GetScalingOrientation |
( |
double & |
out_rdX, |
|
|
|
double & |
out_rdY, |
|
|
|
double & |
out_rdZ |
|
|
|
) |
|
|
|
Returns the scaling orientation component.
- Parameters:
-
| [out] |
out_rdX |
X Euler angle in radians. |
| [out] |
out_rdY |
Y Euler angle in radians. |
| [out] |
out_rdZ |
Z Euler angle in radians. |
Returns the rotation component.
- Parameters:
-
| [out] |
out_rot |
The rotation component |
- Returns:
- Reference to
out_rot
Returns the rotation component under quaternion representation.
- Parameters:
-
| [out] |
out_quat |
Quaternion representation. |
- Returns:
- Reference to
out_quat
Returns the rotation component under rotation matrix representation.
- Parameters:
-
| [out] |
out_matRot |
Rotation matrix representation. |
- Returns:
- Reference to
out_matRot
Returns the pointer to the internal rotation matrix representation of the rotation component.
- Note:
- Doing this is much faster than copying the whole matrix into another object when no changes have to be done on it. However, you have to be careful when using this function. Make sure the pointer it returns is not stored permanently in a way that it becomes invalid (when the object is destroyed for example).
- Returns:
- Constant pointer to a rotation matrix that represents the rotation.
Returns the rotation component under Euler angles representation.
- Parameters:
-
| [out] |
out_vctXYZAngles |
Euler angles representation. |
- Returns:
- Reference to
out_vctXYZAngles
| void GetRotation |
( |
double & |
out_dX, |
|
|
|
double & |
out_dY, |
|
|
|
double & |
out_dZ |
|
|
|
) |
|
|
|
Returns the rotation component under Euler angles representation.
- Parameters:
-
| [out] |
out_dX |
X Euler angle in radians. |
| [out] |
out_dY |
Y Euler angle in radians. |
| [out] |
out_dZ |
Z Euler angle in radians. |
| void GetRotation |
( |
CSIBCVector3Dd & |
out_vctAxis, |
|
|
|
double & |
out_dAngle |
|
|
|
) |
|
|
|
Returns the rotation component under axis-angle representation.
- Parameters:
-
| [out] |
out_vctAxis |
Axis |
| [out] |
out_dAngle |
Angle |
Returns the translation component.
- Parameters:
-
| [out] |
out_vctTrs |
Translation vector |
- Returns:
- Reference to
out_vctTrs
| void GetTranslation |
( |
double & |
out_dX, |
|
|
|
double & |
out_dY, |
|
|
|
double & |
out_dZ |
|
|
|
) |
|
|
|
Returns the translation component.
- Parameters:
-
| [out] |
out_dX |
X translation. |
| [out] |
out_dY |
Y translation. |
| [out] |
out_dZ |
Z translation. |
Returns the transformation matrix.
- Note:
- Using this function is much faster than getting the matrix itself (see the other implementations of GetMatrix) when no changes have to be done on it. BUT PLEASE BE CAREFUL WHEN USING THIS FUNCTION. Make sure the pointer it returns is not stored permanently in a way that it becomes invalid (when the object is destroyed for example).
- Returns:
- Pointer to the internally stored transformation matrix
Returns a copy of the internal matrix representation of this transformation.
- Parameters:
-
| [out] |
out_matXfo |
Destination for the copy |
- Returns:
- Reference to the copied matrix
Returns the matrix representation of the inverse of this transformation.
- Parameters:
-
| [out] |
out_matInvXfo |
Destination for the copy |
- Returns:
- Reference to the copied matrix
Sets the transformation components.
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rotScl |
Scaling orientation |
| [in] |
in_rot |
Orientation |
| [in] |
in_vctTrs |
Translation |
- Returns:
- Reference to this transformation
Sets the transformation components.
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rot |
Orientation |
| [in] |
in_vctTrs |
Translation |
- Returns:
- Reference to this transformation
Sets the transformation components from another transformation
- Parameters:
-
| [in] |
in_xfo |
Transformation to copy |
- Returns:
- Reference to this transformation
Sets the transformation components from a transformation matrix
- Parameters:
-
| [in] |
in_matXfo |
Transformation matrix for setting this transformation. |
- Returns:
- Reference to this transformation
Sets the transformation components from a rotation
- Parameters:
-
| [in] |
in_rot |
Source rotation |
- Returns:
- Reference to this transformation
Sets the transformation components from a translation
- Parameters:
-
| [in] |
in_vct |
Translation vector |
- Returns:
- Reference to this transformation
Sets the scaling factors using an input vector.
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
- Returns:
- Reference to this transformation
| CSIBCTransfod& SetScaling |
( |
double |
in_dX, |
|
|
|
double |
in_dY, |
|
|
|
double |
in_dZ |
|
|
|
) |
|
|
|
Sets the scaling factors using three input doubles representing the X, Y, and Z factors.
- Parameters:
-
| [in] |
in_dX |
X scaling factor. |
| [in] |
in_dY |
Y scaling factor. |
| [in] |
in_dZ |
Z scaling factor. |
- Returns:
- Reference to this transformation
Sets the scaling factors and rotation
- Parameters:
-
| [in] |
in_vctScl |
Scaling factors |
| [in] |
in_rotSclOri |
Scaling orientation. |
- Returns:
- Reference to this transformation
Sets scaling orientation without affecting other components.
- Parameters:
-
| [in] |
in_rotSclOri |
Scaling orientation |
- Returns:
- Reference to this transformation
Sets scaling orientation using the input vector without affecting other components.
- Parameters:
-
| [in] |
in_vctSclOri |
Scaling orientation |
- Returns:
- Reference to this transformation
| CSIBCTransfod& SetScalingOrientation |
( |
const double |
in_dX, |
|
|
|
const double |
in_dY, |
|
|
|
const double |
in_dZ |
|
|
|
) |
|
|
|
Set scaling orientation using three input doubles representing the X, Y, and Z orientation without affecting other components.
- Parameters:
-
| [in] |
in_dX |
X Scaling orientation |
| [in] |
in_dY |
Y Scaling orientation |
| [in] |
in_dZ |
Z Scaling orientation |
- Returns:
- Reference to this transformation
Sets the rotation using an input rotation without affecting other components.
- Parameters:
-
- Returns:
- Reference to this transformation
Sets the rotation from a quaternion.
- Parameters:
-
| [in] |
in_quat |
Quaternion representation |
- Returns:
- Reference to this transformation
Sets the rotation from a rotation matrix.
- Parameters:
-
| [in] |
in_matRot |
Rotation matrix. |
- Returns:
- Reference to this transformation
Sets the rotation from Euler Angles using an input vector.
- Parameters:
-
| [in] |
in_vctXYZAngles |
Euler angles |
- Returns:
- Reference to this transformation
| CSIBCTransfod& SetRotation |
( |
double |
in_dX, |
|
|
|
double |
in_dY, |
|
|
|
double |
in_dZ |
|
|
|
) |
|
|
|
Sets the rotation from Euler Angles using three input doubles.
- Parameters:
-
| [in] |
in_dX |
X Euler angle in radians. |
| [in] |
in_dY |
Y Euler angle in radians. |
| [in] |
in_dZ |
Z Euler angle in radians. |
- Returns:
- Reference to this transformation
Sets the rotation from an axis-angle
- Parameters:
-
| [in] |
in_axis |
Axis of rotation to use |
| [in] |
in_dAngle |
Angle around the axis |
- Returns:
- Reference to this transformation
Sets the rotation from an axis-angle
- Parameters:
-
| [in] |
in_vctAxis |
Axis of rotation as a vector |
| [in] |
in_dAngle |
Angle around the axis |
- Returns:
- Reference to this transformation
Sets the rotation from a FROM-TO vector representation.
- Parameters:
-
| [in] |
in_vctFrom |
Starting vector. |
| [in] |
in_vctTo |
Ending vector. |
| [out] |
out_bFlip |
Set to true if in_vctFrom and in_vctTo are diametrically opposed, in this case, an arbitrary rotation is chosen between in_vctFrom and in_vctTo, false otherwise. |
- Return values:
-
|
|
true |
if the operation was successful and the rotation object was set |
|
|
false |
if one or both of the input vectors is the null vector |
- See also:
- Set( const CSIBCVector3Dd& in_vctFrom, const CSIBCVector3Dd& in_vctTo, int& out_bFlip )
Sets the rotation from three orthonormal axes. No verification is performed about their orthonormality.
- Parameters:
-
| [in] |
in_vctX |
Unitary X axis (orthogonal to Y and Z). |
| [in] |
in_vctY |
Unitary Y axis (orthogonal to X and Z). |
| [in] |
in_vctZ |
Unitary Z axis (orthogonal to X and Y). |
- Returns:
- Reference to this transformation
Sets the translation without affecting other components using an input vector.
- Parameters:
-
| [in] |
in_vctTrs |
Translation to set |
- Returns:
- Reference to this transformation
| CSIBCTransfod& SetTranslation |
( |
double |
in_dX, |
|
|
|
double |
in_dY, |
|
|
|
double |
in_dZ |
|
|
|
) |
|
|
|
Set the translation without affecting other components using three input doubles.
- Parameters:
-
| [in] |
in_dX |
X translation. |
| [in] |
in_dY |
Y translation. |
| [in] |
in_dZ |
Z translation. |
- Returns:
- Reference to this transformation
Sets some or all components of this transformation to the identity.
- Parameters:
-
| [in] |
in_oWhichTransfo |
Flag that detemines which transformation component must be affected |
- Returns:
- Reference to this transformation
- See also:
- Transformation Flags
Sets the transformation as the inverse of another transformation
- Parameters:
-
| [out] |
in_xfo |
Transformation to set |
- Returns:
- Reference to this transformation
Inverts the current transformation
- Returns:
- Reference to this transformation
Combines two transformations into this one.
- Parameters:
-
| [in] |
in_xfo1 |
First transformation to combine. |
| [in] |
in_xfo2 |
Second transformation to combine. |
| [in] |
in_oWhichComponents |
Which components to combine (oSiTransfoAll by default). |
- Returns:
- Reference to this transformation
- Note:
- Given the transformations
X1=(s1,u1,r1,t1) and X2=(s2,u2,r2,t2), we want to combine them into X=(s,u,r,t), where s stands for scaling factors, u for scaling orientation, r for rotation and t for translation. All components are under matrix representation.
Under the Softimage scaling scheme no shearing is possible and the u components are forced to be identity. The transformations are combined in the following way:
s = s1 * s2 (component wise product)
r = r1 * r2
t = t1 * s2 * r2 * t2 (where s2, r2 and t2 are matrices).
Under the Classical scaling scheme the shearing is possible. We could combine the transformations in the following way:
X = s1 * r1 * t1 * s2 * r2 * t2
which will introduce shearing if r1 is not identity and s2 is not uniform. But we could also introduce shearing explicitly by using u components:
X = u1(T) * s1 * u1 * r1 * t1 * u2(T) * s2 * u2 * r2 * t2
where u(T) stands for the transpose of u.
In the Softimage scaling scheme, transformations must be combined using component representation. In the Classical scheme, they are combined by simply using product of matrices.
- See also:
- CSIBCTransfod::Dif
Transformation Flags
Right-multiplies this transformation by another transformation.
- Parameters:
-
- Returns:
- Reference to this transformation
- See also:
- CSIBCTransfod::Dif
Transformation Flags
Computes the product of a given transformation (T1) with the inverse of another one (T2), that is, compute this = T1 * T2(-1).
- Parameters:
-
| [in] |
in_xfo1 |
First transformation to multiply. |
| [in] |
in_xfo2 |
Second transformation which inverse must be right-multiplied by the first one |
| [in] |
in_oWhichComponents |
Which components to combine (oSiTransfoAll by default). |
| [in] |
in_pXfo3 |
If non null, use *in_pXfo3 Euler angles as the target for the Euler angles associated with this. |
- Returns:
- Reference to this transformation
- Note:
- This is useful when we want to compensate a transformation when parenting -- we want to preserve
Tglobal of an object.
We know that Tnewlocal * Tparent = Toldglobal, then we need to compute Tnewlocal = Toldglobal * Tparent(-1) and when computing global transformation of child we will get Tnewglobal = Tnewlocal * Tparent = Toldglobal.
Or, when compensating a geometry when a given transformation is applied to the center of the object. Given an old vector Vlocal specified relative to a transformation Tglobal, then its global value is Vglobal = Vlocal * Tglobal. We apply T to the center. To preserve the vector globally we must compute Vnewlocal=Vlocal * Tglobal * T(-1).
This function is the reverse of the CSIBCTransfod::Mul function.
- See also:
- CSIBCTransfod::Mul
Transformation Flags
Maps the transformation from a given space to the world space.
- Parameters:
-
| [in] |
in_xfoFrom |
Space in which this transformation is currently represented. |
- Returns:
- Reference to this transformation
Maps this transformation from the world space to a given space.
- Parameters:
-
| [in] |
in_xfoTo |
Space in which this transformation will be represented. |
- Returns:
- Reference to this transformation
Maps this transformation from a given space to another one.
- Parameters:
-
| [in] |
in_xfoFrom |
Space in which this transformation is currently represented. |
| [in] |
in_xfoTo |
Space in which this transformation will be represented. |
- Returns:
- Reference to this transformation
Applies a scaling to the transformation along local axes, parent's axes or any scaling axes, and about local position, parent's position or any world position. Scaling can be Uniform, Volumic, or XYZ.
- Parameters:
-
| [in] |
in_vctSclApplied |
Scaling factors to apply. |
| [in] |
in_eAlong |
Apply scaling along local axes, parent axes or other scaling axes axes. |
| [in] |
in_protAlong |
Pointer to specific scaling axes. Use when scaling is applied along OTHER scaling axes. |
| [in] |
in_eAbout |
Apply scaling about LOCAL position, PARENT's position or OTHER position. |
| [in] |
in_pvctAbout |
Pointer to specific position when scaling is applied about OTHER position. |
| [in] |
in_eSclType |
Scaling type (defaults to XYZ_SCL_TYPE ) |
- Returns:
- Reference to this transformation
- Note:
- This function assumes that the transformation itself and the parameters (scaling axes and reference position) are ALL defined relative to the SAME SPACE. When the transformation is to be edited using parameters from different spaces, all must first be converted into the same common space as the transformation, or the opposite.
When the common space is the WORLD space, then PARENT's axes and PARENT's position mean WORLD axes and WORLD position. Note also that passing identity scaling axes (main X,Y and Z axes) and/or identity position (null vector) would give the same results as specifying that PARENT's axes and/or PARENT's position must be used. On the other hand, asking to use PARENT's axes or position will be more efficient.
Applies a rotation to this transformation ALONG local axes, parent's axes or any rotation axes, and AROUND local position, parent's position or any position.
- Parameters:
-
| [in] |
in_rotApplied |
Rotation to apply. |
| [in] |
in_eAlong |
Apply rotation along LOCAL axes, |
| [in] |
in_protAlong |
Pointer to specific rotation axes when rotation is applied along OTHER rotation axes. |
| [in] |
in_eAround |
Apply rotation around LOCAL position, PARENT's position or OTHER position. |
| [in] |
in_pvctAround |
Pointer to specific position when rotation is applied around OTHER position. |
| [in] |
in_bIncrementEulerAngles |
If true, update the Euler angles of the resulting rotation using the previous angles as the target. |
- Returns:
- Reference to this transformation
- Note:
- This function assumes that the transformation itself and the parameters (scaling axes and reference position) are ALL defined relative to the SAME SPACE. When the transformation is to be edited using parameters from different spaces, all must first be converted into the same common space as the transformation, or the opposite.
When the common space is the WORLD space, then PARENT's axes and PARENT's position mean WORLD axes and WORLD position. Note also that passing identity scaling axes (main X,Y and Z axes) and/or identity position (null vector) would give the same results as specifying that PARENT's axes and/or PARENT's position must be used. On the other hand, asking to use PARENT's axes or position will be more efficient.
Applies a translation to this transformation ALONG local axes, parent's axes or any translation axes.
- Parameters:
-
| [in] |
in_vctTrsApplied |
Translation to apply. |
| [in] |
in_eAlong |
Apply translation along LOCAL axes, PARENT's axes or OTHER translation axes. |
| [in] |
in_protAlong |
Pointer to specific translation axes when translation is applied along OTHER translation axes. |
- Returns:
- Reference to this transformation
- Note:
- This function assumes that the transformation itself and the parameters (scaling axes and reference position) are ALL defined relative to the SAME SPACE. When the transformation is to be edited using parameters from different spaces, all must first be converted into the same common space as the transformation, or the opposite.
When the common space is the WORLD space, then PARENT's axes and PARENT's position mean WORLD axes and WORLD position. Note also that passing identity scaling axes (main X,Y and Z axes) and/or identity position (null vector) would give the same results as specifying that PARENT's axes and/or PARENT's position must be used. On the other hand, asking to use PARENT's axes or position will be more efficient.
Applies a scaling orientation to this transformation ALONG local axes, parent axes or any rotation axes, and AROUND local position, parent position or any position.
- Parameters:
-
| [in] |
in_rotApplied |
Scaling orientation to apply. |
| [in] |
in_eAlong |
Apply rotation along LOCAL axes, PARENT axes or OTHER rotation axes. |
| [in] |
in_protAlong |
Pointer to specific rotation axes when rotation is applied along OTHER rotation axes. |
| [in] |
in_eAround |
Apply rotation around LOCAL position, PARENT position or OTHER position. |
| [in] |
in_pvctAround |
Pointer to specific position when rotation is applied around OTHER position. |
| [in] |
in_bIncrementEulerAngles |
If true, update the Euler angles of the resulting rotation using the previous angles as the target. |
- Returns:
- Reference to this transformation
- Note:
- This function assumes that the transformation itself and the parameters (scaling axes and reference position) are ALL defined relative to the SAME SPACE. When the transformation is to be edited using parameters from different spaces, all must first be converted into the same common space as the transformation, or the opposite.
When the common space is the WORLD space, then PARENT's axes and PARENT's position mean WORLD axes and WORLD position. Note also that passing identity scaling axes (main X,Y and Z axes) and/or identity position (null vector) would give the same results as specifying that PARENT's axes and/or PARENT's position must be used. On the other hand, asking to use PARENT's axes or position will be more efficient.
Friends And Related Function Documentation
Returns a matrix to map a point, a line or a direction vector from a given space to the world space.
- Parameters:
-
| [in] |
in_eVctType |
Get a mapping matrix for a point, a line or a direction vector? |
| [in] |
in_xfoFrom |
Space into which vectors are currently represented. |
| [out] |
out_matXfo |
Output transformation matrix. |
- Returns:
- Reference to the output transformation matrix.
Returns a matrix to map a point, a line or a direction vector from the world space to a given space.
- Parameters:
-
| [in] |
in_eVctType |
Get a mapping matrix for a point, a line or a direction vector? |
| [in] |
in_xfoTo |
Space into which vectors will be represented. |
| [out] |
out_matXfo |
Output transformation matrix. |
- Returns:
- Reference to the output transformation matrix.
Returns a matrix to map a point, a line or a direction vector from a given space to another one.
- Parameters:
-
| [in] |
in_eVctType |
Get a mapping matrix for a point, a line or a direction vector? |
| [in] |
in_xfoFrom |
Space into which vectors are currently represented. |
| [in] |
in_xfoTo |
Space into which vectors will be represented. |
| [out] |
out_matXfo |
Output transformation matrix. |
- Returns:
- Reference to the output transformation matrix.
The documentation for this class was generated from the following file: