TTreeTransform Class Reference
[Data Structures]

Inheritance diagram for TTreeTransform:
TMCObject

List of all members.

Classes

class  TRotation

Public Types

enum  ETreeTransformMode { kCarrara, kPoser }

Public Member Functions

 TTreeTransform ()
 TTreeTransform (const TTreeTransform &aT)
boolean IsIdentity () const
boolean IsDirect () const
void Reset ()
void Expand (real scale)
boolean operator== (const TTreeTransform &tt) const
boolean operator!= (const TTreeTransform &tt) const
void operator= (const TTreeTransform &tt)
TVector3 operator* (const TVector3 &point) const
TTreeTransform BAD_Multiply (const TTreeTransform &b) const
void SetMode (ETreeTransformMode mode)
void SetOffset (const TVector3 &offset)
void SetRotation (const TRotation &rotation)
void SetRotation (const TMatrix33 &rotation)
void SetRotation (const TVector3 &i, const TVector3 &j, const TVector3 &k)
void SetUniformScaling (const real &scaling)
void SetHotPoint (const TVector3 &hotPoint)
void SetXYZScaling (const TVector3 &XYZScaling)
void SetOrientation (const TMatrix33 &orientation)
void SetPhyThetaPsy (real phy, real theta, real psy, boolean isDirect)
ETreeTransformMode GetMode () const
const TVector3GetOffset () const
const TMatrix33GetRotation () const
const TRotationGetRotation2 () const
const realGetUniformScaling () const
const TVector3GetHotPoint () const
const TVector3GetXYZScaling () const
const TMatrix33GetOrientation () const
TVector3GetOffset ()
realGetUniformScaling ()
TVector3GetHotPoint ()
TVector3GetXYZScaling ()
TRotationGetRotation2 ()
TMatrix33GetOrientation ()
void GetPhyThetaPsy (real &phy, real &theta, real &psy, boolean &isDirect) const
void GetTransform3D (TTransform3D &aT) const
void GetInverseTransform3D (TTransform3D &aT) const
void GetTransform3D (TMatrix33 &RR, TVector3 &TT) const
void GetRotationSpaceRight (TMatrix33 &TR, boolean inverse) const
void GetRotationSpaceLeft (TMatrix33 &TL, boolean inverse) const
void GetScalingSpaceRight (TMatrix33 &TR, boolean inverse) const
void GetScalingSpaceLeft (TMatrix33 &TL, boolean inverse) const
void GetCombinedTranslation (TVector3 &TT) const
TVector3 GetHotPointInParent () const
void GetPlane (TPlane &aplane) const
void SetFromTransform3D (const TTransform3D &AA)
 Sets this transform to match the given TTransform3D.
void SetFromInterpolate (const real lambda, const TTreeTransform q1, const TTreeTransform q2)
void Translate (const TVector3 &vector)
void TranslateHP (const TVector3 &vector)
void TranslateHPL (const TVector3 &vector)
void RotateAxis (const TVector3 &center, const real sin, const real cos, const TVector3 &AXIS, const real &constrainAngle=kRealZero)
void RotateAxis (const TVector3 &center, const real angle, const TVector3 &AXIS)
void Rotate (const TVector3 &center, const TVector3 &PP, const TVector3 &QQ, const TVector3 &AXIS, const real &constrainAngle=kRealZero)
void Rotate (const TVector3 &center, const TMatrix33 &r)
void RotateL (const TMatrix33 &a)
void RotateR (const TMatrix33 &b)
TVector3Transform (const TVector3 &point, TVector3 &result) const
TVector3InverseTransform (const TVector3 &point, TVector3 &result) const
TVector3TransformV (const TVector3 &point, TVector3 &result) const
TVector3InverseTransformV (const TVector3 &point, TVector3 &result) const
TBBox3D TransformBBox (const TBBox3D &box) const
TBBox3D InverseTransformBBox (const TBBox3D &box) const
TVector3 ScaleV (const TVector3 &) const
void RecomputeEulerAngles (const TVector3 &refEuler)
void GetNewEulerAngles (const TVector3 &refEuler, TVector3 &newEulerAngles) const
boolean ComputeOffsetTransform (const TTreeTransform &transform1, const TTreeTransform &transform2)
boolean ApplyOffsetTransform (const TTreeTransform &offset)
void ConvertMode (ETreeTransformMode mode)
 Convert the transform mode keeping the cooresponding TTransform3D unchanged.

Protected Attributes

ETreeTransformMode fMode
 Transform mode.
TVector3 fHotPoint
 Vector from local 0,0,0 to HotPoint.
TMatrix33 fOrientation
 Orientation matrix.
TRotation fRotation
 Rotation matrix around HotPoint.
TVector3 fOffset
 Vector from parent 0,0,0 to HotPoint.
real fUniformScaling
 Uniform scaling.
TVector3 fXYZScaling
 XYZ (non-uniform) scaling around hot point.

Detailed Description

TTreeTransform is the full representation of a tree's transform

The formula to get a transform 3d from a tree transform depends on its mode.

See also:
TTreeTransform::ETreeTransformMode

Member Enumeration Documentation

Tr : translation Rot : rotation S : scaling Thp : hot point translation Ori : orientation

Enumerator:
kCarrara 

M = Tr * Rot * S * Ori * Thp.

kPoser 

M = Tr * (Ori * Thp)^-1 * Rot * S * (Ori * Thp).


Constructor & Destructor Documentation

TTreeTransform::TTreeTransform (  ) 
TTreeTransform::TTreeTransform ( const TTreeTransform aT  ) 

Member Function Documentation

boolean TTreeTransform::ApplyOffsetTransform ( const TTreeTransform offset  ) 
TTreeTransform TTreeTransform::BAD_Multiply ( const TTreeTransform b  )  const
boolean TTreeTransform::ComputeOffsetTransform ( const TTreeTransform transform1,
const TTreeTransform transform2 
)
void TTreeTransform::ConvertMode ( ETreeTransformMode  mode  ) 

Convert the transform mode keeping the cooresponding TTransform3D unchanged.

void TTreeTransform::Expand ( real  scale  ) 
void TTreeTransform::GetCombinedTranslation ( TVector3 TT  )  const
TVector3& TTreeTransform::GetHotPoint (  )  [inline]
const TVector3& TTreeTransform::GetHotPoint (  )  const [inline]
TVector3 TTreeTransform::GetHotPointInParent (  )  const
void TTreeTransform::GetInverseTransform3D ( TTransform3D aT  )  const
ETreeTransformMode TTreeTransform::GetMode (  )  const [inline]
void TTreeTransform::GetNewEulerAngles ( const TVector3 refEuler,
TVector3 newEulerAngles 
) const
TVector3& TTreeTransform::GetOffset (  )  [inline]
const TVector3& TTreeTransform::GetOffset (  )  const [inline]
TMatrix33& TTreeTransform::GetOrientation (  )  [inline]
const TMatrix33& TTreeTransform::GetOrientation (  )  const [inline]
void TTreeTransform::GetPhyThetaPsy ( real phy,
real theta,
real psy,
boolean isDirect 
) const [inline]
void TTreeTransform::GetPlane ( TPlane aplane  )  const
const TMatrix33& TTreeTransform::GetRotation (  )  const [inline]
TRotation& TTreeTransform::GetRotation2 (  )  [inline]
const TRotation& TTreeTransform::GetRotation2 (  )  const [inline]
void TTreeTransform::GetRotationSpaceLeft ( TMatrix33 TL,
boolean  inverse 
) const
void TTreeTransform::GetRotationSpaceRight ( TMatrix33 TR,
boolean  inverse 
) const
void TTreeTransform::GetScalingSpaceLeft ( TMatrix33 TL,
boolean  inverse 
) const
void TTreeTransform::GetScalingSpaceRight ( TMatrix33 TR,
boolean  inverse 
) const
void TTreeTransform::GetTransform3D ( TMatrix33 RR,
TVector3 TT 
) const
void TTreeTransform::GetTransform3D ( TTransform3D aT  )  const
real& TTreeTransform::GetUniformScaling (  )  [inline]
const real& TTreeTransform::GetUniformScaling (  )  const [inline]
TVector3& TTreeTransform::GetXYZScaling (  )  [inline]
const TVector3& TTreeTransform::GetXYZScaling (  )  const [inline]
TVector3& TTreeTransform::InverseTransform ( const TVector3 point,
TVector3 result 
) const
TBBox3D TTreeTransform::InverseTransformBBox ( const TBBox3D box  )  const
TVector3& TTreeTransform::InverseTransformV ( const TVector3 point,
TVector3 result 
) const
boolean TTreeTransform::IsDirect (  )  const
boolean TTreeTransform::IsIdentity (  )  const
boolean TTreeTransform::operator!= ( const TTreeTransform tt  )  const [inline]
TVector3 TTreeTransform::operator* ( const TVector3 point  )  const
void TTreeTransform::operator= ( const TTreeTransform tt  ) 
boolean TTreeTransform::operator== ( const TTreeTransform tt  )  const
void TTreeTransform::RecomputeEulerAngles ( const TVector3 refEuler  ) 
void TTreeTransform::Reset (  ) 
void TTreeTransform::Rotate ( const TVector3 center,
const TMatrix33 r 
)
void TTreeTransform::Rotate ( const TVector3 center,
const TVector3 PP,
const TVector3 QQ,
const TVector3 AXIS,
const real constrainAngle = kRealZero 
)
void TTreeTransform::RotateAxis ( const TVector3 center,
const real  angle,
const TVector3 AXIS 
)
void TTreeTransform::RotateAxis ( const TVector3 center,
const real  sin,
const real  cos,
const TVector3 AXIS,
const real constrainAngle = kRealZero 
)
void TTreeTransform::RotateL ( const TMatrix33 a  ) 
void TTreeTransform::RotateR ( const TMatrix33 b  ) 
TVector3 TTreeTransform::ScaleV ( const TVector3  )  const
void TTreeTransform::SetFromInterpolate ( const real  lambda,
const TTreeTransform  q1,
const TTreeTransform  q2 
)
void TTreeTransform::SetFromTransform3D ( const TTransform3D AA  ) 

Sets this transform to match the given TTransform3D.

void TTreeTransform::SetHotPoint ( const TVector3 hotPoint  )  [inline]
void TTreeTransform::SetMode ( ETreeTransformMode  mode  )  [inline]
void TTreeTransform::SetOffset ( const TVector3 offset  )  [inline]
void TTreeTransform::SetOrientation ( const TMatrix33 orientation  )  [inline]
void TTreeTransform::SetPhyThetaPsy ( real  phy,
real  theta,
real  psy,
boolean  isDirect 
) [inline]
void TTreeTransform::SetRotation ( const TVector3 i,
const TVector3 j,
const TVector3 k 
)
void TTreeTransform::SetRotation ( const TMatrix33 rotation  ) 
void TTreeTransform::SetRotation ( const TRotation rotation  )  [inline]
void TTreeTransform::SetUniformScaling ( const real scaling  )  [inline]
void TTreeTransform::SetXYZScaling ( const TVector3 XYZScaling  )  [inline]
TVector3& TTreeTransform::Transform ( const TVector3 point,
TVector3 result 
) const
TBBox3D TTreeTransform::TransformBBox ( const TBBox3D box  )  const
TVector3& TTreeTransform::TransformV ( const TVector3 point,
TVector3 result 
) const
void TTreeTransform::Translate ( const TVector3 vector  ) 
void TTreeTransform::TranslateHP ( const TVector3 vector  ) 

Translates the hot point

Parameters:
vector the translation vector in PARENT coordinates
void TTreeTransform::TranslateHPL ( const TVector3 vector  ) 

Translates the hot point

Parameters:
vector the translation vector in LOCAL coordinates

Member Data Documentation

Vector from local 0,0,0 to HotPoint.

Transform mode.

See also:
ETreeTransformMode

Vector from parent 0,0,0 to HotPoint.

Orientation matrix.

Rotation matrix around HotPoint.

Uniform scaling.

XYZ (non-uniform) scaling around hot point.


The documentation for this class was generated from the following file:
Generated on Mon Apr 26 22:48:10 2010 for Carrara SDK Doc by  doxygen 1.6.3