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 TVector3 & GetOffset () const
const TMatrix33 & GetRotation () const
const TRotation & GetRotation2 () const
const real & GetUniformScaling () const
const TVector3 & GetHotPoint () const
const TVector3 & GetXYZScaling () const
const TMatrix33 & GetOrientation () const
TVector3 & GetOffset ()
real & GetUniformScaling ()
TVector3 & GetHotPoint ()
TVector3 & GetXYZScaling ()
TRotation & GetRotation2 ()
TMatrix33 & GetOrientation ()
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)
TVector3 & Transform (const TVector3 &point, TVector3 &result) const
TVector3 & InverseTransform (const TVector3 &point, TVector3 &result) const
TVector3 & TransformV (const TVector3 &point, TVector3 &result) const
TVector3 & InverseTransformV (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