Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

CSIBCTransfod Class Reference

#include <SIBCTransfod.h>

List of all members.

Public Methods

Friends


Detailed Description

Class describing an SRT transformation of an object.


Constructor & Destructor Documentation

CSIBCTransfod::CSIBCTransfod  
 

Default constructor for identity transformation.

CSIBCTransfod::CSIBCTransfod const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rotSclOri,
const CSIBCRotationd   in_rot,
const CSIBCVector3Dd   in_vctTrs
 

Constructor from individual components

Parameters:
in_vctScal  Scaling factors
in_rotScl  Scaling orientation,
in_rot  Orientation
in_vctTrs  Translation

CSIBCTransfod::CSIBCTransfod const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rot,
const CSIBCVector3Dd   in_vctTrs
 

Constructor

Parameters:
in_vctScl  Scaling factors
in_rot  Rotation
in_vctTrs  Translation

CSIBCTransfod::CSIBCTransfod const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rotSclOri
 

Constructor

Parameters:
in_vctScl  Scaling factors
in_rotScl  Scaling orientation


Member Function Documentation

CSIBCTransfod & 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
 

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_rotApplied  Rotation to apply.
in_eAlong  Apply rotation along LOCAL axes,
in_protAlong  Pointer to specific rotation axes when rotation is applied along OTHER rotation axes.
in_eAround  Apply rotation around LOCAL position, PARENT's position or OTHER position.
in_pvctAround  Pointer to specific position when rotation is applied around OTHER position.
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.

CSIBCTransfod & 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
 

Apply 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_vctSclApplied  Scaling factors to apply.
in_eAlong  Apply scaling along local axes,
ent axes
or other scaling axes axes.
Parameters:
in_protAlong  Pointer to specific scaling axes. When scaling is applied along OTHER scaling axes.
in_eAbout  Apply scaling about LOCAL position, PARENT's position or OTHER position.
in_pvctAbout  Pointer to specific position when scaling is applied about OTHER position.
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.

CSIBCTransfod & CSIBCTransfod::AddScalingOrientation CSIBCRotationd   in_rSclOriApplied,
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
 

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_rSclOriApplied  ScalingOrientation to apply.
in_eAlong  Apply rotation along LOCAL axes, PARENT axes or OTHER rotation axes.
in_pRotAlong  Pointer to specific rotation axes when rotation is applied along OTHER rotation axes.
in_eAround  Apply rotation around LOCAL position, PARENT position or OTHER position.
in_pVctAround  Pointer to specific position when rotation is applied around OTHER position.
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.

CSIBCTransfod & CSIBCTransfod::AddTranslation const CSIBCVector3Dd   in_vctTrsApplied,
const E3DTransfoSpace    in_eAlong = LOCAL_TRANSFO_SPACE,
CSIBCRotationd   in_protAlong = NULL
 

Apply a translation to this transformation ALONG local axes, parent's axes or any translation axes.

Parameters:
in_vctTrsApplied  Translation to apply.
in_eAlong  Apply translation along LOCAL axes, PARENT's axes or OTHER translation axes.
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.

CSIBCTransfod & CSIBCTransfod::Dif CSIBCTransfod &    in_xfo1,
CSIBCTransfod &    in_xfo2,
unsigned char    in_oWhichComponents = oSiTransfoAll,
CSIBCTransfod *    in_pXfo3 = NULL
 

Computes the product of a given transformation (T1) with the inverse of another one (T2), that is, compute this = T1 * T2(-1).

Parameters:
in_xfo1  First transformation to multiply.
in_xfo2  Second transformation which inverse must be right-multiplied by the first one
in_oWhichComponents  TransformationFlags Which components to combine (oSiTransfoAll by default).
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 , TransformationFlags

CSIBCXfoMatd & CSIBCTransfod::GetInvMatrix CSIBCXfoMatd   out_matXfo
 

Get the matrix representation of the inverse of this transformation.

Parameters:
out_matInvXfo  Destination for the copy
Return values:
CSIBCXfoMatd  Reference to the copied matrix

CSIBCXfoMatd & CSIBCTransfod::GetMatrix CSIBCXfoMatd   out_matXfo
 

Gets a copy of the internal matrix representation of this transformation

Parameters:
out_matXfo  Destination for the copy
Return values:
CSIBCXfoMatd  Reference to the copied matrix

const CSIBCXfoMatd * CSIBCTransfod::GetMatrix  
 

Gets the transformation matrix

Returns:
CSIBCXfoMatd Pointer to the internally stored transformation matrix
Note:
Much faster than getting the matrix itself (see the other implementation 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).

void CSIBCTransfod::GetRotation CSIBCVector3Dd   out_vctAxis,
double &    out_dAngle
 

Gets the rotation component under axis-angle representation.

Parameters:
out_vctAxis  Axis
out_dAngle  Angle

void CSIBCTransfod::GetRotation double &    out_dX,
double &    out_dY,
double &    out_dZ
 

Gets rotation component under Euler angles representation.

Parameters:
out_dX  X Euler angle in radians.
out_dY  Y Euler angle in radians.
out_dZ  Z Euler angle in radians.

CSIBCVector3Dd & CSIBCTransfod::GetRotation CSIBCVector3Dd   out_vctXYZAngles
 

Gets the rotation component under Euler angles representation.

Parameters:
out_vctXYZAngles  Euler angles representation.
Returns:
CSIBCVector3Dd Reference to out_vctXYZAngles

const CSIBCRotMatd * CSIBCTransfod::GetRotation  
 

Gets the pointer to the internal rotation matrix representation of the rotation component.

Returns:
CSIBCRotMatd Constant pointer to a rotation matrix that represents the rotation.
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).

CSIBCRotMatd & CSIBCTransfod::GetRotation CSIBCRotMatd   out_matRot
 

Gets the rotation component under rotation matrix representation.

Parameters:
out_matRot  Rotation matrix representation.
Returns:
CSIBCRotMatd Reference to out_matRot

CSIBCQuaterniond & CSIBCTransfod::GetRotation CSIBCQuaterniond   out_quat
 

Gets the rotation component under quaternion representation.

Parameters:
out_quat  Quaternion representation.
Returns:
CSIBCQuaterniond Reference to out_quat

CSIBCRotationd & CSIBCTransfod::GetRotation CSIBCRotationd   out_rot
 

Gets the rotation component.

Parameters:
out_rout  The rotation component
Returns:
CSIBCRotationd Reference to out_rot

void CSIBCTransfod::GetScaling CSIBCVector3Dd   out_vctScl,
CSIBCRotationd   out_rotSclOri
 

Gets the scaling factors and scaling orientation components.

Parameters:
out_vctScl  Output vector for scaling factors.
out_rotSclOri  Output rotation for scaling.

void CSIBCTransfod::GetScaling double &    out_dX,
double &    out_dY,
double &    out_dZ
 

Get the scaling factors component

Parameters:
out_dX  X scaling factor.
out_dY  Y scaling factor.
out_dZ  Z scaling factor.

CSIBCVector3Dd & CSIBCTransfod::GetScaling CSIBCVector3Dd   out_vctScl
 

Get the scaling factors component

Parameters:
out_vctScl  Output vector for scaling factors.
Returns:
CSIBCVector3Dd& Reference to out_vctScl

void CSIBCTransfod::GetScalingOrientation double &    out_rdX,
double &    out_rdY,
double &    out_rdZ
 

Gets the scaling orientation component.

Parameters:
out_rdX  X Euler angle in radians.
out_rdY  Y Euler angle in radians.
out_rdZ  Z Euler angle in radians.

CSIBCVector3Dd & CSIBCTransfod::GetScalingOrientation CSIBCVector3Dd   out_vctSclOri
 

Gets the scaling orientation component.

Parameters:
out_vctSclOri  Scaling orientation vector.
Returns:
CSIBCRotationd Reference to out_vctSclOri

CSIBCRotationd & CSIBCTransfod::GetScalingOrientation CSIBCRotationd   out_rotSclOri
 

Gets the scaling orientation component.

Parameters:
in_rotSclOri  Scaling orientation
Returns:
CSIBCRotationd Reference to in_rotSclOri

bool CSIBCTransfod::GetSIScalingFlag   const
 

Gets the softimage scaling flag

Return values:
true  Classical scaling
false  Proportional scaling

void CSIBCTransfod::GetTranslation double &    out_dX,
double &    out_dY,
double &    out_dZ
 

Gets the translation component.

Parameters:
out_dX  X translation.
out_dY  Y translation.
out_dZ  Z translation.

CSIBCVector3Dd & CSIBCTransfod::GetTranslation CSIBCVector3Dd   out_vctTrs
 

Gets the translation component.

Parameters:
out_vctTrs  Translation vector
Returns:
CSIBCVector3Dd Reference to out_vctTrs

CSIBCTransfod & CSIBCTransfod::Invert void   
 

Inverts the current transformation

Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Invert CSIBCTransfod &    in_xfo
 

Sets the transformation as the inverse of another transformation

Parameters:
in_xfo  Transformation
Returns:
Reference to this transformation

bool CSIBCTransfod::IsScalingOrientationExisting   const
 

Queries for the existence of scaling orientation in this transformation.

Returns:
Wheter or not scaling orientation is present

CSIBCTransfod & CSIBCTransfod::MapSpaceToSpace CSIBCTransfod &    in_xfoFrom,
CSIBCTransfod &    in_xfoTo
 

Maps this transformation from a given space to another one.

Parameters:
in_xfoFrom  Space into which this transformation is currently represented.
in_xfoTo  Space into which this transformation will be represented.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::MapSpaceToWorld CSIBCTransfod &    in_xfoFrom
 

Maps the transformation from a given space to the world space.

Parameters:
in_xfoFrom  Space into which this transformation is currently represented.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::MapWorldToSpace CSIBCTransfod &    in_xfoTo
 

Maps this transformation from the world space to a given space.

Parameters:
in_xfoTo  Space into which this transformation will be represented.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Mul CSIBCTransfod &    in_xfo,
unsigned char    in_oWhichComponents = oSiTransfoAll
 

Right multiplis this transformation by another transformation.

Parameters:
in_xfo  Transformation to multiply to the right.
in_oWhichComponents  TransformationFlags Which components to combine (oSiTransfoAll by default).
Returns:
Reference to this transformation
See also:
CSIBCTransfod::Div , TransformationFlags

CSIBCTransfod & CSIBCTransfod::Mul CSIBCTransfod &    in_xfo1,
CSIBCTransfod &    in_xfo2,
unsigned char    in_oWhichComponents = oSiTransfoAll
 

Combines two transformations into this one.

Parameters:
in_xfo1  First transformation to combine.
in_xfo2  Second transformation to combine.
in_oWhichComponents  TransformationFlags 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 combined 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 SOFTIMAGE scaling scheme, transformations must be combined using components representation. In classical scheme, they are combined by simply using product of matrices.

See also:
CSIBCTransfod::Div , TransformationFlags

CSIBCTransfod & CSIBCTransfod::Set const CSIBCVector3Dd   in_vct
 

Sets the transformation components from a translation

Parameters:
in_vct  Translation vector
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Set const CSIBCRotationd   in_rot
 

Sets the transformation components from a rotation

Parameters:
in_rot  Source rotation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Set const CSIBCXfoMatd   in_matXfo
 

Sets the transformation components from a transformation matrix

Parameters:
in_matXfo  Transformation matrix for setting this transformation.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Set const CSIBCTransfod &    in_xfo
 

Sets the transformation components from another transformation

Parameters:
in_xfo  Transformation to copy
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Set const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rot,
const CSIBCVector3Dd   in_vctTrs
 

Sets the transformation components.

Parameters:
in_vctScl  Scaling factors
in_rot  Orientation
in_vctTrs  Translation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::Set const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rotSclOri,
const CSIBCRotationd   in_rot,
const CSIBCVector3Dd   in_vctTrs
 

Sets the transformation components.

Parameters:
in_vctScl  Scaling factors
in_rotScl  Scaling orientation
in_rot  Orientation
in_vctTrs  Translation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetIdentity const unsigned char    in_oWhichComponents = oSiTransfoAll
 

Sets some or all components of this transformation to the identity.

Parameters:
in_oWhichTransfo  TransformationFlags Flag that detemines which transformation component must be affected
Returns:
Reference to this transformation
See also:
TransformationFlags

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCVector3Dd   in_vctX,
const CSIBCVector3Dd   in_vctY,
const CSIBCVector3Dd   in_vctZ
 

Sets the rotation from three orthonormal axes. No verification is performed about their orthonormality.

Parameters:
in_vctX  Unitary X axis (orthogonal to Y and Z).
in_vctY  Unitary Y axis (orthogonal to X and Z).
in_vctZ  Unitary Z axis (orthogonal to X and Y).
Returns:
Reference to this transformation

bool CSIBCTransfod::SetRotation const CSIBCVector3Dd   in_vctFrom,
const CSIBCVector3Dd   in_vctTo,
int &    out_bFlip
 

Sets the rotation from a FROM-TO vector representation.

Parameters:
in_vctFrom  Starting vector.
in_vctTo  Ending vector.
out_bFlip  Does the generated rotation produces a sudden flip? See comment in CSIBCRotationd::Set method.
Returns:
bool Reference to out_bFlip
See also:
CSIBCRotationd::Set.

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCVector3Dd   in_vctAxis,
const double    in_dAngle
 

Sets the rotation from an axis-angle

Parameters:
in_vctAxis  Axis of rotation
in_dAngle  Angle around the axis
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation const E3DAxisType    in_axis,
const double    in_dAngle
 

Sets the rotation from an axis-angle

Parameters:
in_axis  Axis of rotation
in_dAngle  Angle around the axis
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation double    in_dX,
double    in_dY,
double    in_dZ
 

Sets the rotation from Euler Angles

Parameters:
in_dX  X Euler angle in radians.
in_dY  Y Euler angle in radians.
in_dZ  Z Euler angle in radians.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCVector3Dd   in_vctXYZAngles
 

Sets the rotation from Euler Angles

Parameters:
in_vctXYZAngles  Euler angles
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCRotMatd   in_matRot
 

Sets the rotation from a rotation matrix.

Parameters:
in_matRot  Rotation matrix.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCQuaterniond   in_quat
 

Sets the rotation from a quaternion.

Parameters:
in_quat  Quaternion representation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetRotation const CSIBCRotationd   in_rot
 

Sets the rotation without affecting other components.

Parameters:
in_rot  Orientation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScaling const CSIBCVector3Dd   in_vctScl,
const CSIBCRotationd   in_rotSclOri
 

Sets the scaling factors and rotation

Parameters:
in_vctScl  Scaling factors
in_rotSclOri  Scaling orientation.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScaling double    in_dX,
double    in_dY,
double    in_dZ
 

Sets the scaling factors

Parameters:
in_dX  X scaling factor.
in_dY  Y scaling factor.
in_dZ  Z scaling factor.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScaling const CSIBCVector3Dd   in_vctScl
 

Sets the scaling factors

Parameters:
in_vctScl  Scaling factors
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScalingOrientation const double    in_dX,
const double    in_dY,
const double    in_dZ
 

Set scaling orientation without affecting other components.

Parameters:
in_dX  X Scaling orientation
in_dY  Y Scaling orientation
in_dZ  Z Scaling orientation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScalingOrientation const CSIBCVector3Dd   in_vctXYZSclOri
 

Set scaling orientation without affecting other components.

Parameters:
in_vctSclOri  Scaling orientation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetScalingOrientation const CSIBCRotationd   in_rotSclOri
 

Set scaling orientation without affecting other components.

Parameters:
in_rotSclOri  Scaling orientation
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetSIScalingFlag const bool    in_bSIScaling
 

Sets the softimage scaling flag

Parameters:
in_bSIScaling  true for classical scaling, false for proportional scaling
Returns:
CSIBCTransfod Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetTranslation double    in_dX,
double    in_dY,
double    in_dZ
 

Set the translation without affecting other components.

Parameters:
in_dX  X translation.
in_dY  Y translation.
in_dZ  Z translation.
Returns:
Reference to this transformation

CSIBCTransfod & CSIBCTransfod::SetTranslation const CSIBCVector3Dd   in_vctTrs
 

Set the translation without affecting other components.

Parameters:
in_vctTrs  Translation
Returns:
Reference to this transformation


Friends And Related Function Documentation

CSIBCXfoMatd& GetMapSpaceToSpace const E3DVectorType    in_eVctType,
CSIBCTransfod &    in_xfoFrom,
CSIBCTransfod &    in_xfoTo,
CSIBCXfoMatd   out_matXfo
[friend]
 

Gets a matrix to map a point, a line or a direction vector from a given space to another one.

Parameters:
in_eVctType  Get a mapping matrix for a point, a line or a direction vector?
in_xfoFrom  Space into which vectors are currently represented.
in_xfoTo  Space into which vectors will be represented.
out_matXfo  Output transformation matrix.
Returns:
Reference to the output transformation matrix.

CSIBCXfoMatd& GetMapSpaceToWorld const E3DVectorType    in_eVctType,
CSIBCTransfod &    in_xfoFrom,
CSIBCXfoMatd   out_matXfo
[friend]
 

Gets a matrix to map a point, a line or a direction vector from a given space to the world space.

Parameters:
in_eVctType  Get a mapping matrix for a point, a line or a direction vector?
in_xfoFrom  Space into which vectors are currently represented.
out_matXfo  Output transformation matrix.
Returns:
Reference to the output transformation matrix.

CSIBCXfoMatd& GetMapWorldToSpace const E3DVectorType    in_eVctType,
CSIBCTransfod &    in_xfoTo,
CSIBCXfoMatd   out_matXfo
[friend]
 

Gets a matrix to map a point, a line or a direction vector from the world space to a given space.

Parameters:
in_eVctType  Get a mapping matrix for a point, a line or a direction vector?
in_xfoTo  Space into which vectors will be represented.
out_matXfo  Output transformation matrix.
Returns:
Reference to the output transformation matrix.


The documentation for this class was generated from the following files: © Copyright 2001-2003 Avid Technology, Inc. All rights reserved.

© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.