# PublicUtilities.h File Reference

## Classes
class | TTreeUndoInfo
class | TSceneSelectionIterator< T >
class | TTreeSelectionIterator
class | TMasterObjectSelectionIterator
class | TMasterShaderSelectionIterator
class | TMasterClipSelectionIterator
class | TMasterSoundSelectionIterator
class | TSoundInstanceSelectionIterator
class | TTreeElementIterator
class | TTreeElementFilterIterator
class | TTreeElementSonsIterator
class | TTreeElementClosedBoxIterator
class | TTreePathIterator
class | TTargetPathIterator
class | FacetMeshIterator
class | FacetMeshFacetIterator
class | FacetMeshVertexIterator
struct | IndexedFacet
class | FacetMeshAccumulator
struct | FacetMeshAccumulator::VertexPlusIndex
## Functions
boolean | IsEqualObject (IMCUnknown *interface1, IMCUnknown *interface2)
boolean | Contains (I3DShTreeElement *This, I3DShTreeElement *SubTree)
void | TimeToString (const MicroTick time, const int16 fps, TMCString &str)
void | FrameToString (const MicroTick time, const int16 fps, TMCString &str)
template<class T >
void | GetSelectedObjects (ISceneSelection *inSelection, const MCIID &riid, TMCCountedPtrArray< T > &objects)
void | ComputeVisibleViewPane (const TMCRect &windowContentRect, const TMCRect &windowVisibleRect, TBBox2D &viewBox)
static boolean | NeverOpen (I3DShTreeElement *)
static boolean | AlwaysOpen (I3DShTreeElement *)
void | ConcatFacetMesh (FacetMesh *mesh1, FacetMesh *mesh2, FacetMesh **concat, uint32 *forceUvSpaceId=NULL)
void | CreateRotationMatrix (int32 axis, real32 angle, TMatrix33 &out)
void | MirrorMatrix (TMatrix33 &inout)
TIndex3 | GetEulerAnglesOrder (const EEulerAnglesOrder inOrder)
void | GetEulerAngles (const EEulerAnglesOrder inOrder, const TMatrix33 &inRotation, TVector3 &outAngles, boolean &outMirror)
void | SetEulerAngles (const EEulerAnglesOrder inOrder, const TVector3 &inAngles, boolean inMirror, TMatrix33 &outRotation)
void | GetEulerAxis (const EEulerAnglesOrder inOrder, const TVector3 &inAngles, boolean inMirror, TVector3 &outAxis0, TVector3 &outAxis1, TVector3 &outAxis2)
int32 | GetEulerHalfPIAngleIndex (const EEulerAnglesOrder inOrder)
void | ClampEulerAngles (const EEulerAnglesOrder inOrder, TVector3 &inoutClampedAngles)
void | InitTreeTransform (TTreeTransform &treeTransform)
void | CompleteAxis (const TVector3 &dn, TVector3 &a, TVector3 &b)
TTransform3D | AffineToTransform3D (const TTransform3D &AA)
TTransform3D | Inverse (const TTransform3D &AA)
void | Reset (TTransform3D &AA)
boolean | operator== (const TTransform3D &AA, const TTransform3D &BB)
boolean | operator!= (const TTransform3D &AA, const TTransform3D &BB)
TTransform3D | TreeTransform3DToAffine (const TTreeTransform &AA)
void | Transform (TVector3 &res, const TMatrix33 &AA, const TVector3 &VV)
void | Multiply (TMatrix33 &res, const TMatrix33 &AA, const TMatrix33 &BB)
void | Transpose (TMatrix33 &res, const TMatrix33 &AA)
void | TransformPoint (TVector3 &res, const TTransform3D &AA, const TVector3 &VV)
void | TransformVector (TVector3 &res, const TTransform3D &AA, const TVector3 &VV)
void | TransformVector (TVector3 &res, const TTreeTransform &AA, const TVector3 &VV)
TTreeTransform | operator* (const TTransform3D &AA, const TTreeTransform &BB)
TTreeTransform | operator* (const TTreeTransform &AA, const TTransform3D &BB)
void | SetToIdentity (TTreeTransform &AA)
TVector3 | TransformPoint (const TTransform3D &AA, const TVector3 &VV)
TVector3 | TransformVector (const TTransform3D &AA, const TVector3 &VV)
TVector3 | TransformNormal (const TTransform3D &invA, const TVector3 &VV)
TBBox3D | TransformBBox (const TTransform3D &transform, const TBBox3D &box)
boolean | RefractedDirection (TVector3 &transmittedDirection, real eta, const TVector3 &incomingDirection, const TVector3 &normal)
real | GetFresnelReflectance (const TVector3 &incomingDirection, const TVector3 &normal, const real invEta)
IShComponent * | GetPrimitiveComponent (I3DShObject *object)

## Function Documentation

TTransform3D AffineToTransform3D | ( | const TTransform3D & | AA | ) |

static boolean AlwaysOpen | ( | I3DShTreeElement * |  | ) | `[static]`

void ClampEulerAngles | ( | const EEulerAnglesOrder | inOrder,
|  | TVector3 & | inoutClampedAngles |
| ) |  |  |

void CompleteAxis | ( | const TVector3 & | dn,
|  | TVector3 & | a,
|  | TVector3 & | b |
| ) |  |  |

void ComputeVisibleViewPane | ( | const TMCRect & | windowContentRect,
|  | const TMCRect & | windowVisibleRect,
|  | TBBox2D & | viewBox |
| ) |  |  |

void ConcatFacetMesh | ( | FacetMesh * | mesh1,
|  | FacetMesh * | mesh2,
|  | FacetMesh ** | concat,
|  | uint32 * | forceUvSpaceId = `NULL` |
| ) |  |  |

boolean Contains | ( | I3DShTreeElement * | This,
|  | I3DShTreeElement * | SubTree |
| ) |  |  |

void CreateRotationMatrix | ( | int32 | axis,
|  | real32 | angle,
|  | TMatrix33 & | out |
| ) |  |  |

void FrameToString | ( | const MicroTick | time,
|  | const int16 | fps,
|  | TMCString & | str |
| ) |  |  |

void GetEulerAngles | ( | const EEulerAnglesOrder | inOrder,
|  | const TMatrix33 & | inRotation,
|  | TVector3 & | outAngles,
|  | boolean & | outMirror |
| ) |  |  |

TIndex3 GetEulerAnglesOrder | ( | const EEulerAnglesOrder | inOrder | ) |

void GetEulerAxis | ( | const EEulerAnglesOrder | inOrder,
|  | const TVector3 & | inAngles,
|  | boolean | inMirror,
|  | TVector3 & | outAxis0,
|  | TVector3 & | outAxis1,
|  | TVector3 & | outAxis2 |
| ) |  |  |

int32 GetEulerHalfPIAngleIndex | ( | const EEulerAnglesOrder | inOrder | ) |

real GetFresnelReflectance | ( | const TVector3 & | incomingDirection,
|  | const TVector3 & | normal,
|  | const real | invEta |
| ) |  |  |

IShComponent* GetPrimitiveComponent | ( | I3DShObject * | object | ) |

Returns the primitive component associated with object if there is one. Returns NULL if there is no primitive component (for instance if object is not an external primitive)

template<class T >

void GetSelectedObjects | ( | ISceneSelection * | inSelection,
|  | const MCIID & | riid,
|  | TMCCountedPtrArray< T > & | objects |
| ) |  |  | `[inline]`

void InitTreeTransform | ( | TTreeTransform & | treeTransform | ) |

TTransform3D Inverse | ( | const TTransform3D & | AA | ) |

boolean IsEqualObject | ( | IMCUnknown * | interface1,
|  | IMCUnknown * | interface2 |
| ) |  |  |

void MirrorMatrix | ( | TMatrix33 & | inout | ) |

void Multiply | ( | TMatrix33 & | res,
|  | const TMatrix33 & | AA,
|  | const TMatrix33 & | BB |
| ) |  |  |

static boolean NeverOpen | ( | I3DShTreeElement * |  | ) | `[static]`

boolean operator!= | ( | const TTransform3D & | AA,
|  | const TTransform3D & | BB |
| ) |  |  |

TTreeTransform operator* | ( | const TTreeTransform & | AA,
|  | const TTransform3D & | BB |
| ) |  |  |

TTreeTransform operator* | ( | const TTransform3D & | AA,
|  | const TTreeTransform & | BB |
| ) |  |  |

boolean operator== | ( | const TTransform3D & | AA,
|  | const TTransform3D & | BB |
| ) |  |  |

boolean RefractedDirection | ( | TVector3 & | transmittedDirection,
|  | real | eta,
|  | const TVector3 & | incomingDirection,
|  | const TVector3 & | normal |
| ) |  |  |

void Reset | ( | TTransform3D & | AA | ) |

void SetEulerAngles | ( | const EEulerAnglesOrder | inOrder,
|  | const TVector3 & | inAngles,
|  | boolean | inMirror,
|  | TMatrix33 & | outRotation |
| ) |  |  |

void SetToIdentity | ( | TTreeTransform & | AA | ) |

void TimeToString | ( | const MicroTick | time,
|  | const int16 | fps,
|  | TMCString & | str |
| ) |  |  |

void Transform | ( | TVector3 & | res,
|  | const TMatrix33 & | AA,
|  | const TVector3 & | VV |
| ) |  |  |

TBBox3D TransformBBox | ( | const TTransform3D & | transform,
|  | const TBBox3D & | box |
| ) |  |  | `[inline]`

TVector3 TransformNormal | ( | const TTransform3D & | invA,
|  | const TVector3 & | VV |
| ) |  |  | `[inline]`

TVector3 TransformPoint | ( | const TTransform3D & | AA,
|  | const TVector3 & | VV |
| ) |  |  | `[inline]`

void TransformPoint | ( | TVector3 & | res,
|  | const TTransform3D & | AA,
|  | const TVector3 & | VV |
| ) |  |  |

TVector3 TransformVector | ( | const TTransform3D & | AA,
|  | const TVector3 & | VV |
| ) |  |  | `[inline]`

void TransformVector | ( | TVector3 & | res,
|  | const TTreeTransform & | AA,
|  | const TVector3 & | VV |
| ) |  |  |

void TransformVector | ( | TVector3 & | res,
|  | const TTransform3D & | AA,
|  | const TVector3 & | VV |
| ) |  |  |

void Transpose | ( | TMatrix33 & | res,
|  | const TMatrix33 & | AA |
| ) |  |  |

TTransform3D TreeTransform3DToAffine | ( | const TTreeTransform & | AA | ) |