# TTreeTransform Class Reference
[Data Structures]

Inheritance diagram for TTreeTransform:

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

enum TTreeTransform::ETreeTransformMode

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

TVector3 TTreeTransform::fHotPoint`[protected]`

Vector from local 0,0,0 to HotPoint.

ETreeTransformMode TTreeTransform::fMode`[protected]`

Transform mode.

See also:
  ETreeTransformMode

TVector3 TTreeTransform::fOffset`[protected]`

Vector from parent 0,0,0 to HotPoint.

TMatrix33 TTreeTransform::fOrientation`[protected]`

Orientation matrix.

TRotation TTreeTransform::fRotation`[protected]`

Rotation matrix around HotPoint.

real TTreeTransform::fUniformScaling`[protected]`

Uniform scaling.

TVector3 TTreeTransform::fXYZScaling`[protected]`

XYZ (non-uniform) scaling around hot point.

The documentation for this class was generated from the following file:

- Transforms.h