# I3DShTreeElement Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShTreeElement:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | GetScene (I3DShScene **scene)=0
virtual I3DShScene *MCCOMAPI | GetSceneNoAddRef ()=0
virtual MCCOMErr MCCOMAPI | SetName (const TMCString &name)=0
virtual MCCOMErr MCCOMAPI | GetName (TMCString &name)=0
virtual void MCCOMAPI | GetFirst (I3DShTreeElement **result)=0
virtual void MCCOMAPI | GetLast (I3DShTreeElement **result)=0
virtual void MCCOMAPI | GetLeft (I3DShTreeElement **result)=0
virtual void MCCOMAPI | GetRight (I3DShTreeElement **result)=0
virtual void MCCOMAPI | GetTop (I3DShTreeElement **result)=0
virtual I3DShTreeElement *MCCOMAPI | GetTop () const =0
virtual int32 MCCOMAPI | GetIndexInTop ()=0
virtual boolean MCCOMAPI | IsAncestorOf (const I3DShTreeElement *wouldBeHeir) const =0
virtual MCCOMErr MCCOMAPI | Unlink (I3DShTreeElement **treeElement, RelinkTreeElementInfo *outRelink=NULL)=0
virtual MCCOMErr MCCOMAPI | Relink (RelinkTreeElementInfo *inRelink)=0
virtual MCCOMErr MCCOMAPI | InsertFirst (I3DShTreeElement *newSon)=0
virtual MCCOMErr MCCOMAPI | InsertLast (I3DShTreeElement *newSon)=0
virtual MCCOMErr MCCOMAPI | InsertLeft (I3DShTreeElement *newBrother)=0
virtual MCCOMErr MCCOMAPI | InsertRight (I3DShTreeElement *newBrother)=0
virtual real32 MCCOMAPI | GetPrimScalingFactor () const =0
virtual void MCCOMAPI | SetScalingFactor (real scalingFactor)=0
virtual MCCOMErr MCCOMAPI | GetHotPoint (TVector3 &hotPoint)=0
virtual MCCOMErr MCCOMAPI | SetHotPoint (const TVector3 &hotPoint)=0
virtual MCCOMErr MCCOMAPI | CenterElementOnHotPoint ()=0
virtual MCCOMErr MCCOMAPI | CenterHotPointOnElement ()=0
virtual MCCOMErr MCCOMAPI | TranslateHotPoint (TVector3 &delta)=0
virtual MCCOMErr MCCOMAPI | ComClone (I3DShTreeElement **treeElement, ECloneMode cloneMode, boolean cloneAll)=0
virtual void MCCOMAPI | InvalidateBoundingBox ()=0
virtual void MCCOMAPI | GetBoundingBoxWithoutLightsAndCameras (TBBox3D &bbox, boolean rendering=true, boolean onlyVisible=false)=0
virtual void MCCOMAPI | GetBoundingBox (TBBox3D &bbox, ETreeDeformBBoxModes deformMode, boolean rendering=true)=0
virtual void MCCOMAPI | GetSubtreeBoundingBox (TBBox3D &bbox, ETreeDeformBBoxModes deformMode, boolean rendering=true)=0
virtual boolean MCCOMAPI | CanBeDistorted ()=0
virtual MCCOMErr MCCOMAPI | BeginMove ()=0
virtual void MCCOMAPI | PostMoveChange (boolean invalidateDeformedGeometry=false)=0
virtual MCCOMErr MCCOMAPI | EndMove (boolean invalidateDeformedGeometry=false)=0
virtual MCCOMErr MCCOMAPI | GetXYZScaling (TVector3 &xyzScaling)=0
virtual MCCOMErr MCCOMAPI | SetXYZScaling (TVector3 &xyzScaling)=0
virtual void MCCOMAPI | SetPropagateUniformScaling (boolean inPropagateUniformScaling)=0
| Sets whether the uniform scaling is applied to the children.
virtual boolean MCCOMAPI | GetPropagateUniformScaling () const =0
virtual boolean MCCOMAPI | GetPropagateXYZScaling () const =0
virtual boolean MCCOMAPI | ApplyScalingToChildrenOffsets () const =0
virtual void MCCOMAPI | SetApplyScalingToChildrenOffsets (boolean enable)=0
| Sets the XYZ and uniform scaling policy regarding children offset scaling.
virtual int16 MCCOMAPI | GetNbrFreedom ()=0
virtual MCCOMErr MCCOMAPI | GetFreedomRange (int16 index, real *min, real *max)=0
virtual MCCOMErr MCCOMAPI | GetFreedomTransform (TMatrix33 &RR, TVector3 &TT)=0
virtual MCCOMErr MCCOMAPI | GetFreedomDerivative (int16 index, TMatrix33 &RR, TVector3 &TT)=0
virtual MCCOMErr MCCOMAPI | GetFreedomSecondDerivative (int16 index1, int16 index2, TMatrix33 &RR, TVector3 &TT)=0
virtual MCCOMErr MCCOMAPI | IncrementFreedomValue (int16 index, real *value)=0
virtual void MCCOMAPI | MarkFreedomAsModified (int16 index)=0
virtual void MCCOMAPI | GetGlobalHotPoint (int16 index, TVector3 &outGlobalHP)=0
virtual void MCCOMAPI | AddDependentIKeffector (TTreeId inUniqueID)=0
virtual void MCCOMAPI | RemoveDependentIKeffector (TTreeId inUniqueID)=0
virtual const TMCArray < TTreeId > &MCCOMAPI | GetDependentIKeffectors ()=0
virtual MCCOMErr MCCOMAPI | GetFullName (TMCString &fullName)=0
virtual MCCOMErr MCCOMAPI | InsertModifier (I3DShModifier *modifier, uint32 index, ECloneMode cloneMode)=0
virtual MCCOMErr MCCOMAPI | RemoveModifier (uint32 index)=0
virtual uint32 MCCOMAPI | GetModifiersCount ()=0
virtual MCCOMErr MCCOMAPI | GetModifierByIndex (I3DShModifier **modifier, uint32 index)=0
virtual MCCOMErr MCCOMAPI | SetModifiers (const TMCCountedPtrArray< I3DShModifier > *modifiers, ECloneMode cloneMode)=0
virtual MCCOMErr MCCOMAPI | LinksChanged (boolean updateIK)=0
virtual MCCOMErr MCCOMAPI | BeginGetRenderables (const TRenderableAndTfmArray *&instances, boolean inOnlyShown=false)=0
virtual MCCOMErr MCCOMAPI | EndGetRenderables ()=0
virtual MCCOMErr MCCOMAPI | GetConstraint (I3DShConstraint **link) const =0
virtual MCCOMErr MCCOMAPI | SetConstraint (I3DShConstraint *link, ECloneMode cloneMode)=0
virtual MCCOMErr MCCOMAPI | SetConstraintByID (int32 kindID)=0
virtual boolean MCCOMAPI | IsConstraintEnabled ()=0
virtual void MCCOMAPI | SetConstraintProtected (boolean onOff)=0
virtual boolean MCCOMAPI | GetConstraintProtected ()=0
virtual uint32 MCCOMAPI | GetDataComponentsCount ()=0
virtual MCCOMErr MCCOMAPI | GetDataComponentByIndex (I3DShDataComponent **dataComp, uint32 index)=0
virtual MCCOMErr MCCOMAPI | SetDataComponentByID (I3DShDataComponent *dataComp, ECloneMode cloneMode)=0
virtual MCCOMErr MCCOMAPI | GetDataComponentByID (I3DShDataComponent **dataComp, IDType kindID)=0
virtual MCCOMErr MCCOMAPI | InsertDataComponent (I3DShDataComponent *dataComp)=0
virtual MCCOMErr MCCOMAPI | InsertDataComponentByID (int32 kindID, int32 index)=0
virtual MCCOMErr MCCOMAPI | RemoveDataComponent (uint32 index)=0
virtual IActorDataComponent *MCCOMAPI | GetActorDataComponent ()=0
| Returns the actor data component of the tree (if any).
virtual IFigureDataComponent *MCCOMAPI | GetFigureDataComponent ()=0
| Returns the figure data component of the tree (if any).
virtual void MCCOMAPI | SetData (TDataKey dataKey, IMCUnknown *data)=0
virtual MCCOMErr MCCOMAPI | GetData (TDataKey dataKey, IMCUnknown **data)=0
virtual void MCCOMAPI | ReleaseData (TDataKey dataKey)=0
virtual void MCCOMAPI | ReleaseData ()=0
virtual boolean MCCOMAPI | IsOpen ()=0
virtual int32 MCCOMAPI | GetEditor () const =0
virtual MCCOMErr MCCOMAPI | GetAnimationMethod (I3DShAnimationMethod **animationMethod) const =0
virtual void MCCOMAPI | SetAnimationMethod (I3DShAnimationMethod *animationMethod, ECloneMode cloneMode, real conversionQuality=0.0f, boolean usePreviousAnimationData=false)=0
virtual const TTreeTransform &MCCOMAPI | GetLocalTreeTransform () const =0
virtual const TTransform3D &MCCOMAPI | GetGlobalTransform3D (EFrameType frameType=kCurrentFrame) const =0
virtual const TTransform3D &MCCOMAPI | GetInverseGlobalTransform3D () const =0
virtual void MCCOMAPI | GetLocalTreeTransform (TTreeTransform &mat)=0
virtual void MCCOMAPI | SetLocalTreeTransform (const TTreeTransform &mat, boolean applyConstraint=kApplyConstraint, boolean lockChildren=false, boolean moveAnimation=false, ETreeTransformMode mode=kXTreeBehaviorDefault, boolean ignoreObjScaling=false, boolean removeConstraint=true)=0
virtual void MCCOMAPI | GetGlobalTreeTransform (TTreeTransform &mat)=0
virtual void MCCOMAPI | GetGlobalTreeTransform2 (TGlobalTreeTransform &mat)=0
virtual void MCCOMAPI | SetGlobalTreeTransform (const TTreeTransform &mat, ETreeTransformMode mode=kXTreeBehaviorDefault, boolean applyConstraint=kApplyConstraint, boolean lockChildren=false, boolean moveAnimation=false, boolean ignoreObjScaling=false)=0
virtual void MCCOMAPI | SetGlobalTreeTransform2 (const TGlobalTreeTransform &mat, ETreeTransformMode mode=kXTreeBehaviorDefault, boolean applyConstraint=kApplyConstraint, boolean lockChildren=false, boolean moveAnimation=false, boolean ignoreObjScaling=false)=0
virtual void MCCOMAPI | GetGlobalTransform3D (TTransform3D &mat) const =0
virtual void MCCOMAPI | GetInverseGlobalTransform3D (TTransform3D &mat) const =0
virtual void MCCOMAPI | SetGlobalTransform3D (const TTransform3D &mat, ETreeTransformMode mode=kXTreeBehaviorDefault)=0
virtual void MCCOMAPI | GetFatherGlobalTransform (TFatherTransform &mat) const =0
virtual const TTreeTransform &MCCOMAPI | GetUnconstrainedLocalTreeTransform () const =0
virtual void MCCOMAPI | GetUnconformedLocalTreeTransform (TTreeTransform &outLocalT) const =0
virtual MCCOMErr MCCOMAPI | CloneSubTree (ECloneMode cloneMode, I3DShTreeElement **clone)=0
virtual void MCCOMAPI | GetUndoInfo (TTreeUndoInfo &undoInfo) const =0
virtual void MCCOMAPI | SetFromUndoInfo (const TTreeUndoInfo &toInfo, const TTreeUndoInfo *fromInfo)=0
virtual MCCOMErr MCCOMAPI | GetTopIfConstrained (I3DShTreeElement **treeElement) const
virtual MCCOMErr MCCOMAPI | GetWireFrameArray (TMCClassArray< TWireFrameInfo > &wireFrameArray)=0
virtual void MCCOMAPI | SetWireFramesState (EWireFrameState wfState)=0
virtual boolean MCCOMAPI | IsPickable () const =0
virtual boolean MCCOMAPI | IsBBoxPickable () const =0
virtual boolean MCCOMAPI | IsControllingAtmosphere () const =0
virtual MCCOMErr MCCOMAPI | UpdateAtmosphere ()=0
virtual void MCCOMAPI | RemoveConstraint (I3DShConstraint **outLink)=0
virtual void MCCOMAPI | RestoreConstraint (I3DShConstraint *inLink)=0
virtual boolean MCCOMAPI | GetVisibilityFlag () const =0
virtual void MCCOMAPI | SetVisibilityFlag (boolean inVisible)=0
virtual boolean MCCOMAPI | Exists () const =0
virtual boolean MCCOMAPI | GetIsShown () const =0
virtual void MCCOMAPI | SetIsShown (boolean inIsShown)=0
virtual boolean MCCOMAPI | GetShadowCasting ()=0
virtual MCCOMErr MCCOMAPI | SetShadowCasting (boolean shadowCasting)=0
virtual boolean MCCOMAPI | GetReceiveShadow ()=0
virtual void MCCOMAPI | SetReceiveShadow (boolean receiveShadow)=0
virtual boolean MCCOMAPI | GetAnimateTree () const =0
virtual void MCCOMAPI | SetAnimateTree (boolean animateTree)=0
virtual void MCCOMAPI | ClearInstanceCache ()=0
virtual boolean MCCOMAPI | IsExcludedFromTripleBuffer (boolean lookAtParents)=0
virtual boolean MCCOMAPI | IsConstrained () const =0
virtual uint32 MCCOMAPI | IsOperationAllowed (const ETreeOperation operation)=0
virtual ISelectableObject *MCCOMAPI | GetSelectableInterface ()=0
virtual MCCOMErr MCCOMAPI | DoOpenClose (boolean openIt)=0
virtual MCCOMErr MCCOMAPI | OpenClose (boolean openIt)=0
virtual uint32 MCCOMAPI | GetIKModifierIndex () const =0
virtual uint32 MCCOMAPI | GetIKTerminatorIndex (boolean *outExcludeFromChain) const =0
virtual TTreeId MCCOMAPI | GetTreePermanentID ()=0
virtual void MCCOMAPI | SetTreePermanentID (TTreeId)=0
virtual TTreeIdPath MCCOMAPI | GetTreeIDPath () const =0
virtual void MCCOMAPI | ResetTreePermanentID ()=0
virtual void MCCOMAPI | SetMasterGroup (I3DShMasterGroup *masterGroup, boolean invalidateCache=true)=0
virtual I3DShMasterGroup *MCCOMAPI | GetMasterGroup ()=0
virtual const TMCString &MCCOMAPI | GetName () const =0
virtual ISelectableObject *MCCOMAPI | GetThisSelectable ()=0
virtual void MCCOMAPI | PostSelectionChange (boolean invalidateDeformedGeometry=false)=0
virtual boolean MCCOMAPI | CanImportData (I3DImportData *inImportData)=0
| Returns true if the tree can import the given data on the given instance.
virtual boolean MCCOMAPI | ImportData (I3DImportData *inImportData)=0
| Imports the given data on the tree, returns false if the import was aborted.
virtual void MCCOMAPI | SetScalingLockMode (const EScalingLockMode &inMode)=0
| Sets the prefered scalingLockmode on the tree.
virtual EScalingLockMode MCCOMAPI | GetScalingLockMode () const =0
| Gets the prefered scalingLockmode for this tree.
virtual void MCCOMAPI | ConformTo (const TConformingInfo &inInfo)=0
virtual void MCCOMAPI | GetConformingInfo (TConformingInfo &outInfo) const =0
| returns invalid path when object is not comformed
virtual boolean MCCOMAPI | IsConformed () const =0
virtual void MCCOMAPI | UnConform ()=0
| Removes the conforming link.
virtual I3DShTreeElement *MCCOMAPI | GetConformTarget () const =0
virtual void MCCOMAPI | CallTransformHasChanged () const =0
| Call only when you REALLY changed the transform as this will invalidate the skining, conforming...
virtual void MCCOMAPI | GetSubtreeBoundingBox2 (TBBox3D &bbox, TTransform3D &transform, ETreeDeformBBoxModes deformMode, boolean rendering=true, boolean withAllHelperObject=true)=0
virtual int16 MCCOMAPI | WhatIAm () const =0

## Detailed Description

A tree element is a node in the hierarchy of the scene. It can be a group, or a primitive instance or a scene instance...

A tree element stores the transform of the object

## Member Function Documentation

virtual void MCCOMAPI I3DShTreeElement::AddDependentIKeffector | ( | TTreeId | inUniqueID | ) | `[pure virtual]`

When this tree is an IK target, the effectors can register themselves to get movement notification

Parameters:

  | inUniqueID | The unique ID of the tree.

virtual boolean MCCOMAPI I3DShTreeElement::ApplyScalingToChildrenOffsets | ( |  | ) | const`[pure virtual]`

Returns true when the XYZ and uniform scaling when not propagated scale the children offset (ie. the children are translated)

virtual MCCOMErr MCCOMAPI I3DShTreeElement::BeginGetRenderables | ( | const TRenderableAndTfmArray *& | instances,
|  | boolean | inOnlyShown = `false` |
| ) |  |  | `[pure virtual]`

Called to get all the renderable of this tree element and its children.

Parameters:

  | instances | The list of renderables when the new renderable should be append.
  | inOnlyShown | True if only the renderable that are visible in the 3DView should be appended.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::BeginMove | ( |  | ) | `[pure virtual]`

Called when a tree starts moving.

virtual void MCCOMAPI I3DShTreeElement::CallTransformHasChanged | ( |  | ) | const`[pure virtual]`

Call only when you REALLY changed the transform as this will invalidate the skining, conforming...

virtual boolean MCCOMAPI I3DShTreeElement::CanBeDistorted | ( |  | ) | `[pure virtual]`

Returns true if a non uniform scaling can be applied to this tree element.

virtual boolean MCCOMAPI I3DShTreeElement::CanImportData | ( | I3DImportData * | inImportData | ) | `[pure virtual]`

Returns true if the tree can import the given data on the given instance.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::CenterElementOnHotPoint | ( |  | ) | `[pure virtual]`

Moves the tree element so that its center matches the hotpoint.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::CenterHotPointOnElement | ( |  | ) | `[pure virtual]`

Moves the hot point so that its center matches the hotpoint.

virtual void MCCOMAPI I3DShTreeElement::ClearInstanceCache | ( |  | ) | `[pure virtual]`

Clears the renderable cache that is stored at the Tree Element level

virtual MCCOMErr MCCOMAPI I3DShTreeElement::CloneSubTree | ( | ECloneMode | cloneMode,
|  | I3DShTreeElement ** | clone |
| ) |  |  | `[pure virtual]`

Creates a copy of the sub tree.

Parameters:

  | cloneMode | The clone mode (see ECloneMode).
  | clone | The copy of the sub tree.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::ComClone | ( | I3DShTreeElement ** | treeElement,
|  | ECloneMode | cloneMode,
|  | boolean | cloneAll |
| ) |  |  | `[pure virtual]`

Creates a copy of the tree element.

Parameters:

  | treeElement | The copy that is created.
  | cloneMode | The clone mode (see ECloneMode).
  | cloneAll | True if the whole subtree should be copied.

virtual void MCCOMAPI I3DShTreeElement::ConformTo | ( | const TConformingInfo & | inInfo | ) | `[pure virtual]`

Conforms a tree to another

Parameters:

  | target | relative path to the object this tree will be conformed to (both are in the same mastergroup)

virtual MCCOMErr MCCOMAPI I3DShTreeElement::DoOpenClose | ( | boolean | openIt | ) | `[pure virtual]`

Use this call to open or close a tree that has children

Parameters:

  | openIt | True if the tree should be open.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::EndGetRenderables | ( |  | ) | `[pure virtual]`

Called after BeginGetRenderables,

virtual MCCOMErr MCCOMAPI I3DShTreeElement::EndMove | ( | boolean | invalidateDeformedGeometry = `false` | ) | `[pure virtual]`

Called when a tree has been moved or modified.

Parameters:

  | invalidateDeformedGeometry | True if the deformer should be invalidated.

virtual boolean MCCOMAPI I3DShTreeElement::Exists | ( |  | ) | const`[pure virtual]`

Returns true if the tree element is visible in the rendering. This function checks the visibility status of the groups containing this tree element.

virtual IActorDataComponent* MCCOMAPI I3DShTreeElement::GetActorDataComponent | ( |  | ) | `[pure virtual]`

Returns the actor data component of the tree (if any).

virtual boolean MCCOMAPI I3DShTreeElement::GetAnimateTree | ( |  | ) | const`[pure virtual]`

True if the tree element can be animated.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetAnimationMethod | ( | I3DShAnimationMethod ** | animationMethod | ) | const`[pure virtual]`

Returns the animation method that is associated with this tree element.

Parameters:

  | animationMethod | A pointer to the animation method.

virtual void MCCOMAPI I3DShTreeElement::GetBoundingBox | ( | TBBox3D & | bbox,
|  | ETreeDeformBBoxModes | deformMode,
|  | boolean | rendering = `true` |
| ) |  |  | `[pure virtual]`

Returns the bounding box of the tree element.

Parameters:

  | bbox | The bounding box of the tree element.
  | deformMode | The deformation mode (see ETreeDeformBBoxModes).
  | rendering | True if you want a bounding box for rendering or just for previewing

virtual void MCCOMAPI I3DShTreeElement::GetBoundingBoxWithoutLightsAndCameras | ( | TBBox3D & | bbox,
|  | boolean | rendering = `true`,
|  | boolean | onlyVisible = `false` |
| ) |  |  | `[pure virtual]`

Returns the (deformed) bounding box of the tree and its children without taking into account the lights and cameras.

Parameters:

  | bbox | The bounding box that is returned.
  | rendering | True if you want a bounding box for rendering or just for previewing

virtual void MCCOMAPI I3DShTreeElement::GetConformingInfo | ( | TConformingInfo & | outInfo | ) | const`[pure virtual]`

returns invalid path when object is not comformed

virtual I3DShTreeElement* MCCOMAPI I3DShTreeElement::GetConformTarget | ( |  | ) | const`[pure virtual]`

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetConstraint | ( | I3DShConstraint ** | link | ) | const`[pure virtual]`

Returns the constraint applied to this tree element.

Parameters:

  | link | A pointer to the constraint.

virtual boolean MCCOMAPI I3DShTreeElement::GetConstraintProtected | ( |  | ) | `[pure virtual]`

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetData | ( | TDataKey | dataKey,
|  | IMCUnknown ** | data |
| ) |  |  | `[pure virtual]`

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetDataComponentByID | ( | I3DShDataComponent ** | dataComp,
|  | IDType | kindID |
| ) |  |  | `[pure virtual]`

Returns the data component of a given type.

Parameters:

  | dataComp | A pointer to the data component.
  | kindID | The class ID of the data component.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetDataComponentByIndex | ( | I3DShDataComponent ** | dataComp,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Gets a data component by index.

Parameters:

  | dataComp | A pointer to the data component that is returned.
  | index | The index in the list of data components.

virtual uint32 MCCOMAPI I3DShTreeElement::GetDataComponentsCount | ( |  | ) | `[pure virtual]`

Returns the number of data components applied to this tree element.

virtual const TMCArray<TTreeId>& MCCOMAPI I3DShTreeElement::GetDependentIKeffectors | ( |  | ) | `[pure virtual]`

Returns an array of the unique ID of the effects that influence the motion of the tree.

virtual int32 MCCOMAPI I3DShTreeElement::GetEditor | ( |  | ) | const`[pure virtual]`

Returns the classID of the module that can edit this tree element.

virtual void MCCOMAPI I3DShTreeElement::GetFatherGlobalTransform | ( | TFatherTransform & | mat | ) | const`[pure virtual]`

Returns the global transform of the parent.

Parameters:

  | mat | The global transform of the parent.

virtual IFigureDataComponent* MCCOMAPI I3DShTreeElement::GetFigureDataComponent | ( |  | ) | `[pure virtual]`

Returns the figure data component of the tree (if any).

virtual void MCCOMAPI I3DShTreeElement::GetFirst | ( | I3DShTreeElement ** | result | ) | `[pure virtual]`

Returns the first son of the tree element.

Parameters:

  | result | A pointer to the first son of the tree element.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetFreedomDerivative | ( | int16 | index,
|  | TMatrix33 & | RR,
|  | TVector3 & | TT |
| ) |  |  | `[pure virtual]`

Returns the derivatives of the transform relative to a degree of freedom. A partial derivative transformation is a transformation where each element is derived by a freedom degree.

Parameters:

  | index | The index (1-based) of the degree of freedom of tree element (see GetNbrFreedom()).
  | RR | The rotation matrix derivative
  | TT | The transation derivative

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetFreedomRange | ( | int16 | index,
|  | real * | min,
|  | real * | max |
| ) |  |  | `[pure virtual]`

Returns the limits of the variations of a given degree of freedom.

Parameters:

  | index | The index (1-based) of the degree of freedom of tree element. (see GetNbrFreedom()).
  | min | The minimum value.
  | max | The maximum value.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetFreedomSecondDerivative | ( | int16 | index1,
|  | int16 | index2,
|  | TMatrix33 & | RR,
|  | TVector3 & | TT |
| ) |  |  | `[pure virtual]`

Returns the second order partial derivative of the transform. A partial derivative transformation is a transformation where each element is derived by a freedom degree.

Parameters:

  | index1 | The index (1-based) of the first degree of freedom used to derivate the transform (see GetNbrFreedom()).
  | index2 | The index (1-based) of the second degree of freedom used to derivate the transform (see GetNbrFreedom()).
  | RR | The rotation matrix derivative
  | TT | The transation derivative

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetFreedomTransform | ( | TMatrix33 & | RR,
|  | TVector3 & | TT |
| ) |  |  | `[pure virtual]`

Returns the rotation matrix and translation vector due to the freedom values. When the freedom values are initialized the function GetTransform must return the identity matrix for the rotation and a null vector for the translation.

Parameters:

  | RR | The rotation matrix
  | TT | The transation

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetFullName | ( | TMCString & | fullName | ) | `[pure virtual]`

Returns the "path name" of the tree element (nodes separated by kPathNameSeparator)

Parameters:

  | fullName | The full path name of the tree.

virtual void MCCOMAPI I3DShTreeElement::GetGlobalHotPoint | ( | int16 | index,
|  | TVector3 & | outGlobalHP |
| ) |  |  | `[pure virtual]`

Returns the hot point in global coordinates.

Parameters:

  | index | The index (1-based) of the degree of freedom of tree element (see GetNbrFreedom()).
  | outGlobalHP | The hotpoint.

virtual void MCCOMAPI I3DShTreeElement::GetGlobalTransform3D | ( | TTransform3D & | mat | ) | const`[pure virtual]`

Returns the global transform of the tree.

Parameters:

  | mat | The global transform of the tree element.

virtual const TTransform3D& MCCOMAPI I3DShTreeElement::GetGlobalTransform3D | ( | EFrameType | frameType = `kCurrentFrame` | ) | const`[pure virtual]`

Returns the global transform of the tree element.

Parameters:

  | frameType | This parameter allows you to get the transform at the previous frame or next frame if it was stored using I3DShScene::StoreCurrentState.

virtual void MCCOMAPI I3DShTreeElement::GetGlobalTreeTransform | ( | TTreeTransform & | mat | ) | `[pure virtual]`

Returns the global transform of the object. Note that this method only works if the local transform of the parents do not have non uniform scaling. It is recommended to use GetGlobalTransform3D() instead whenever it is possible.

Parameters:

  | mat | The global transform.

virtual void MCCOMAPI I3DShTreeElement::GetGlobalTreeTransform2 | ( | TGlobalTreeTransform & | mat | ) | `[pure virtual]`

Returns the global transform of the object.

Parameters:

  | mat | The global transform.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetHotPoint | ( | TVector3 & | hotPoint | ) | `[pure virtual]`

Returns the hot point of the tree element. The hot point is the center of rotation.

Parameters:

  | hotPoint | The position of the hot point.

virtual uint32 MCCOMAPI I3DShTreeElement::GetIKModifierIndex | ( |  | ) | const`[pure virtual]`

Returns the index of the (first) IK modifier on the tree, or kUnusedIndex if there is none

virtual uint32 MCCOMAPI I3DShTreeElement::GetIKTerminatorIndex | ( | boolean * | outExcludeFromChain | ) | const`[pure virtual]`

Parameters:

  | outExcludeFromChain | When there is a terminator, tells if the tree should be excluded from the chain Returns the index of the (first) IK terminator on the tree, or kUnusedIndex if there is none

virtual int32 MCCOMAPI I3DShTreeElement::GetIndexInTop | ( |  | ) | `[pure virtual]`

Returns the index of this tree in its parent.

virtual void MCCOMAPI I3DShTreeElement::GetInverseGlobalTransform3D | ( | TTransform3D & | mat | ) | const`[pure virtual]`

Returns the inverse of the global transform of this tree element.

Parameters:

  | mat | The inverse of the global transform.

virtual const TTransform3D& MCCOMAPI I3DShTreeElement::GetInverseGlobalTransform3D | ( |  | ) | const`[pure virtual]`

Returns the inverse of the global transform of the tree element.

virtual boolean MCCOMAPI I3DShTreeElement::GetIsShown | ( |  | ) | const`[pure virtual]`

Returns true if the tree element is visible in the 3D view.

virtual void MCCOMAPI I3DShTreeElement::GetLast | ( | I3DShTreeElement ** | result | ) | `[pure virtual]`

Returns the last son of the tree element.

Parameters:

  | result | A pointer to the last son of the tree element.

virtual void MCCOMAPI I3DShTreeElement::GetLeft | ( | I3DShTreeElement ** | result | ) | `[pure virtual]`

Returns the tree element that is on the left of this tree element (previous son of the parent).

Parameters:

  | result | The previous tree element.

virtual void MCCOMAPI I3DShTreeElement::GetLocalTreeTransform | ( | TTreeTransform & | mat | ) | `[pure virtual]`

Returns the local transform of the tree element (takes conforming into account)

Parameters:

  | mat | The local transform.

virtual const TTreeTransform& MCCOMAPI I3DShTreeElement::GetLocalTreeTransform | ( |  | ) | const`[pure virtual]`

Returns the local transform of the tree element.

virtual I3DShMasterGroup* MCCOMAPI I3DShTreeElement::GetMasterGroup | ( |  | ) | `[pure virtual]`

Returns a pointer to the masterGroup that contains this tree

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetModifierByIndex | ( | I3DShModifier ** | modifier,
|  | uint32 | index |
| ) |  |  | `[pure virtual]`

Gets a modifier by index.

Parameters:

  | modifier | A pointer to the modifier.
  | index | The index in the list of modifiers.

virtual uint32 MCCOMAPI I3DShTreeElement::GetModifiersCount | ( |  | ) | `[pure virtual]`

Returns the number of modifiers in the modifier list.

virtual const TMCString& MCCOMAPI I3DShTreeElement::GetName | ( |  | ) | const`[pure virtual]`

Returns a reference to the tree's name.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetName | ( | TMCString & | name | ) | `[pure virtual]`

Returns the name of the tree element.

Parameters:

  | name |

virtual int16 MCCOMAPI I3DShTreeElement::GetNbrFreedom | ( |  | ) | `[pure virtual]`

Returns the number of degree of freedom of this tree element and its parents. Note that it is not the same as the number of degree of freedom of the constraint applied to the tree element. It is the sum of the degree of freedom of this tree element and its parents.

virtual real32 MCCOMAPI I3DShTreeElement::GetPrimScalingFactor | ( |  | ) | const`[pure virtual]`

Returns the scaling factor associated with the local object (primitive, etc)

virtual boolean MCCOMAPI I3DShTreeElement::GetPropagateUniformScaling | ( |  | ) | const`[pure virtual]`

Returns true when the uniform scaling is applied to the children Returns false then the uniform scaling is only applied to the tree

virtual boolean MCCOMAPI I3DShTreeElement::GetPropagateXYZScaling | ( |  | ) | const`[pure virtual]`

Returns true when the XYZ scaling is applied to the children Returns false then the XYZ scaling is only applied to the tree

virtual boolean MCCOMAPI I3DShTreeElement::GetReceiveShadow | ( |  | ) | `[pure virtual]`

Returns true if this tree element can receive shadows.

virtual void MCCOMAPI I3DShTreeElement::GetRight | ( | I3DShTreeElement ** | result | ) | `[pure virtual]`

Returns the tree element that is on the right of this tree element (next son of the parent).

Parameters:

  | result | The next tree element.

virtual EScalingLockMode MCCOMAPI I3DShTreeElement::GetScalingLockMode | ( |  | ) | const`[pure virtual]`

Gets the prefered scalingLockmode for this tree.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetScene | ( | I3DShScene ** | scene | ) | `[pure virtual]`

Returns a pointer to the scene that contains this tree element.

Parameters:

  | scene | Pointer to the scene pointer should be returned.

virtual I3DShScene* MCCOMAPI I3DShTreeElement::GetSceneNoAddRef | ( |  | ) | `[pure virtual]`

Returns a pointer to the scene that contains this tree

virtual ISelectableObject* MCCOMAPI I3DShTreeElement::GetSelectableInterface | ( |  | ) | `[pure virtual]`

Returns the selectable interface supported by the tree.

virtual boolean MCCOMAPI I3DShTreeElement::GetShadowCasting | ( |  | ) | `[pure virtual]`

Returns true if this tree element can cast shadows.

virtual void MCCOMAPI I3DShTreeElement::GetSubtreeBoundingBox | ( | TBBox3D & | bbox,
|  | ETreeDeformBBoxModes | deformMode,
|  | boolean | rendering = `true` |
| ) |  |  | `[pure virtual]`

Returns the bounding box of the entire subtree

Parameters:

  | bbox | The bounding box.
  | deformMode | The deformation mode (see ETreeDeformBBoxModes).
  | rendering | True if you want a bounding box for rendering or just for previewing

virtual void MCCOMAPI I3DShTreeElement::GetSubtreeBoundingBox2 | ( | TBBox3D & | bbox,
|  | TTransform3D & | transform,
|  | ETreeDeformBBoxModes | deformMode,
|  | boolean | rendering = `true`,
|  | boolean | withAllHelperObject = `true` |
| ) |  |  | `[pure virtual]`

Returns the bounding box of the entire subtree

Parameters:

  | bbox | The bounding box.
  | transform | local transform to apply to subtrees.
  | deformMode | The deformation mode (see ETreeDeformBBoxModes).
  | rendering | True if you want a bounding box for rendering or just for previewing
  | withAllHelperObject | False if you want a bounding box without all helper objects (without Magnets for example)

virtual ISelectableObject* MCCOMAPI I3DShTreeElement::GetThisSelectable | ( |  | ) | `[pure virtual]`

Trees are selectable objects.

virtual I3DShTreeElement* MCCOMAPI I3DShTreeElement::GetTop | ( |  | ) | const`[pure virtual]`

Returns the parent of the tree element.

virtual void MCCOMAPI I3DShTreeElement::GetTop | ( | I3DShTreeElement ** | result | ) | `[pure virtual]`

Returns the parent of the tree element.

Parameters:

  | result | A pointer to the parent of the tree element.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetTopIfConstrained | ( | I3DShTreeElement ** | treeElement | ) | const`[inline, virtual]`

Deprecated:

virtual TTreeIdPath MCCOMAPI I3DShTreeElement::GetTreeIDPath | ( |  | ) | const`[pure virtual]`

Returns the tree absolute Path

virtual TTreeId MCCOMAPI I3DShTreeElement::GetTreePermanentID | ( |  | ) | `[pure virtual]`

Returns the tree PermanentID ( 0 == no ID )

virtual void MCCOMAPI I3DShTreeElement::GetUnconformedLocalTreeTransform | ( | TTreeTransform & | outLocalT | ) | const`[pure virtual]`

Returns the local transform of the tree that doesn't take into account the tree's conforming, but takes into account the constraint

virtual const TTreeTransform& MCCOMAPI I3DShTreeElement::GetUnconstrainedLocalTreeTransform | ( |  | ) | const`[pure virtual]`

Returns the local transform of the tree that doesn't take into account the tree's constraint. When there is a constraint GetLocalTreeTransform == GetUnconstrainedLocalTreeTransform() * constraintTransform

virtual void MCCOMAPI I3DShTreeElement::GetUndoInfo | ( | TTreeUndoInfo & | undoInfo | ) | const`[pure virtual]`

Returns the undo info.

Parameters:

  | undoInfo | the undo info.

virtual boolean MCCOMAPI I3DShTreeElement::GetVisibilityFlag | ( |  | ) | const`[pure virtual]`

Returns true if the tree element is marked as visible. Note that this function does not take into account the groups that could contains this tree element. To determine the visibility of a tree element you should use Exists() instead.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetWireFrameArray | ( | TMCClassArray< TWireFrameInfo > & | wireFrameArray | ) | `[pure virtual]`

Returns the list of all component anim attached to the tree that implement the I3DExWF interface

Parameters:

  | wireFrameArray | the array to fill with the wireframes

virtual MCCOMErr MCCOMAPI I3DShTreeElement::GetXYZScaling | ( | TVector3 & | xyzScaling | ) | `[pure virtual]`

Returns the non uniform scaling.

Parameters:

  | xyzScaling | The non uniform scaling.

virtual boolean MCCOMAPI I3DShTreeElement::ImportData | ( | I3DImportData * | inImportData | ) | `[pure virtual]`

Imports the given data on the tree, returns false if the import was aborted.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::IncrementFreedomValue | ( | int16 | index,
|  | real * | value |
| ) |  |  | `[pure virtual]`

Modify the value of a degree of freedom by adding an increment

Parameters:

  | index | The index (1-based) of the degree of freedom of tree element (see GetNbrFreedom()).
  | value | The increment value

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertDataComponent | ( | I3DShDataComponent * | dataComp | ) | `[pure virtual]`

Inserts a data component.

Parameters:

  | dataComp | A data component to insert.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertDataComponentByID | ( | int32 | kindID,
|  | int32 | index |
| ) |  |  | `[pure virtual]`

Inserts a data component.

Parameters:

  | kindID | The class ID of the data component.
  | index | The index in the list of data component.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertFirst | ( | I3DShTreeElement * | newSon | ) | `[pure virtual]`

Inserts as the first son

Parameters:

  | newSon | The tree element to insert.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertLast | ( | I3DShTreeElement * | newSon | ) | `[pure virtual]`

Inserts as the last son.

Parameters:

  | newSon | The tree element to insert.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertLeft | ( | I3DShTreeElement * | newBrother | ) | `[pure virtual]`

Inserts as the first left brother

Parameters:

  | newBrother | The tree element to insert.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertModifier | ( | I3DShModifier * | modifier,
|  | uint32 | index,
|  | ECloneMode | cloneMode |
| ) |  |  | `[pure virtual]`

Inserts a modifier in the modifier list of the tree.

Parameters:

  | modifier | The modifier that should be inserted.
  | index | The index in the modifier list.
  | cloneMode | The clone mode (see ECloneMode).

virtual MCCOMErr MCCOMAPI I3DShTreeElement::InsertRight | ( | I3DShTreeElement * | newBrother | ) | `[pure virtual]`

Insert as the first right brother

Parameters:

  | newBrother | The tree element to insert.

virtual void MCCOMAPI I3DShTreeElement::InvalidateBoundingBox | ( |  | ) | `[pure virtual]`

Invalidates the bounding box of the tree.

virtual boolean MCCOMAPI I3DShTreeElement::IsAncestorOf | ( | const I3DShTreeElement * | wouldBeHeir | ) | const`[pure virtual]`

Returns true if this tree is a parent of the given tree (is same trees returns false).

Parameters:

  | wouldBeHeir | A pointer to a tree who could be a child of this tree.

virtual boolean MCCOMAPI I3DShTreeElement::IsBBoxPickable | ( |  | ) | const`[pure virtual]`

Returns true if the tree element can be selected by its bounding box (primitive instances usually reply no to allow accurate picking)

virtual boolean MCCOMAPI I3DShTreeElement::IsConformed | ( |  | ) | const`[pure virtual]`

virtual boolean MCCOMAPI I3DShTreeElement::IsConstrained | ( |  | ) | const`[pure virtual]`

Returns true if the tree has a constraint.

virtual boolean MCCOMAPI I3DShTreeElement::IsConstraintEnabled | ( |  | ) | `[pure virtual]`

virtual boolean MCCOMAPI I3DShTreeElement::IsControllingAtmosphere | ( |  | ) | const`[pure virtual]`

Should return true iff the tree element is linked to the atmosphere and can be used to control some of the atmosphere's parameters (e.g. Sun lights).

virtual boolean MCCOMAPI I3DShTreeElement::IsExcludedFromTripleBuffer | ( | boolean | lookAtParents | ) | `[pure virtual]`

Returns true if the tree is to be excluded from the triple buffer (because it is in the selection or because of side effects like IK or Skinning) If lookAtParents is true, this call will return true if one of the tree's parents is excluded from the TBuf.

Parameters:

  | lookAtParents |

virtual boolean MCCOMAPI I3DShTreeElement::IsOpen | ( |  | ) | `[pure virtual]`

Returns true if its children can be edited.

virtual uint32 MCCOMAPI I3DShTreeElement::IsOperationAllowed | ( | const ETreeOperation | operation | ) | `[pure virtual]`

Return kOpAllowed if the given operation is allowed otherwise return the reason why it is not allowed or after which operation it could be allowed Some operations are blocked in certain states and should not be performed if this methods says so (or you could get weird results).

Parameters:

  | operation | The operation you plan on doing on the tree.

virtual boolean MCCOMAPI I3DShTreeElement::IsPickable | ( |  | ) | const`[pure virtual]`

Returns true if the tree element can be picked in the 3D view.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::LinksChanged | ( | boolean | updateIK | ) | `[pure virtual]`

Called when a constraint has been changed..

Parameters:

  | updateIK | when true, updates the ik chains of the sons

virtual void MCCOMAPI I3DShTreeElement::MarkFreedomAsModified | ( | int16 | index | ) | `[pure virtual]`

Mark a freedom degree as modified.

Parameters:

  | index | The index (1-based) of the degree of freedom of tree element (see GetNbrFreedom()).

virtual MCCOMErr MCCOMAPI I3DShTreeElement::OpenClose | ( | boolean | openIt | ) | `[pure virtual]`

Low level call. Use DoOpenClose() instead.

virtual void MCCOMAPI I3DShTreeElement::PostMoveChange | ( | boolean | invalidateDeformedGeometry = `false` | ) | `[pure virtual]`

Called to notify the scene that a tree has moved.

Parameters:

  | invalidateDeformedGeometry | True if the deformer should be invalidated.

virtual void MCCOMAPI I3DShTreeElement::PostSelectionChange | ( | boolean | invalidateDeformedGeometry = `false` | ) | `[pure virtual]`

Called to notify the scene that a tree has been added or removed from the selection..

Parameters:

  | invalidateDeformedGeometry | True if the deformer should be invalidated.

virtual void MCCOMAPI I3DShTreeElement::ReleaseData | ( |  | ) | `[pure virtual]`

virtual void MCCOMAPI I3DShTreeElement::ReleaseData | ( | TDataKey | dataKey | ) | `[pure virtual]`

virtual MCCOMErr MCCOMAPI I3DShTreeElement::Relink | ( | RelinkTreeElementInfo * | inRelink | ) | `[pure virtual]`

Rehook tree element based upon Unlink()

Parameters:

  | inRelink | The info coming from Unlink()

virtual void MCCOMAPI I3DShTreeElement::RemoveConstraint | ( | I3DShConstraint ** | outLink | ) | `[pure virtual]`

Removes the constraint from the tree element.

Parameters:

  | outLink | A pointer to the constraint that was removed.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::RemoveDataComponent | ( | uint32 | index | ) | `[pure virtual]`

Removes a data component.

Parameters:

  | index | The index of the data component.

virtual void MCCOMAPI I3DShTreeElement::RemoveDependentIKeffector | ( | TTreeId | inUniqueID | ) | `[pure virtual]`

When this tree is an IK target, the effectors can register themselves to get movement notification

Parameters:

  | inUniqueID | The unique ID of the tree.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::RemoveModifier | ( | uint32 | index | ) | `[pure virtual]`

Removes a modifier from the modifier list.

Parameters:

  | index | The index of the modifier to remove.

virtual void MCCOMAPI I3DShTreeElement::ResetTreePermanentID | ( |  | ) | `[pure virtual]`

Reset the tree PermanentID to 0.

Warning: the tree permanentID will be lost. This method should be used causiously.

virtual void MCCOMAPI I3DShTreeElement::RestoreConstraint | ( | I3DShConstraint * | inLink | ) | `[pure virtual]`

Restore a constraint (see RemoveConstraint())

Parameters:

  | inLink | A pointer to the constraint

virtual void MCCOMAPI I3DShTreeElement::SetAnimateTree | ( | boolean | animateTree | ) | `[pure virtual]`

Sets whether a tree element can be animated.

Parameters:

  | animateTree | True if this tree element can be animated.

virtual void MCCOMAPI I3DShTreeElement::SetAnimationMethod | ( | I3DShAnimationMethod * | animationMethod,
|  | ECloneMode | cloneMode,
|  | real | conversionQuality = `0.0f`,
|  | boolean | usePreviousAnimationData = `false` |
| ) |  |  | `[pure virtual]`

Set a new animation method on the tree or convert the data from the previous animation method into the new one.

Parameters:

  | animationMethod | The new animation method.
  | cloneMode | The clone mode (see ECloneMode).
  | conversionQuality | used only if usePreviousAnimationData is set to true.
  | usePreviousAnimationData | Set to true to convert the data from the previous animation method to the new one.

virtual void MCCOMAPI I3DShTreeElement::SetApplyScalingToChildrenOffsets | ( | boolean | enable | ) | `[pure virtual]`

Sets the XYZ and uniform scaling policy regarding children offset scaling.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetConstraint | ( | I3DShConstraint * | link,
|  | ECloneMode | cloneMode |
| ) |  |  | `[pure virtual]`

Sets the constraint applied to this tree element.

Parameters:

  | link | A pointer to the constraint.
  | cloneMode | The clone mode (see ECloneMode).

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetConstraintByID | ( | int32 | kindID | ) | `[pure virtual]`

Sets a contraint by class ID.

Parameters:

  | kindID | The class ID of the constraint.

virtual void MCCOMAPI I3DShTreeElement::SetConstraintProtected | ( | boolean | onOff | ) | `[pure virtual]`

virtual void MCCOMAPI I3DShTreeElement::SetData | ( | TDataKey | dataKey,
|  | IMCUnknown * | data |
| ) |  |  | `[pure virtual]`

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetDataComponentByID | ( | I3DShDataComponent * | dataComp,
|  | ECloneMode | cloneMode |
| ) |  |  | `[pure virtual]`

Sets a data component.

Parameters:

  | dataComp | A pointer to the data component.
  | cloneMode | The clone mode (see ECloneMode).

virtual void MCCOMAPI I3DShTreeElement::SetFromUndoInfo | ( | const TTreeUndoInfo & | toInfo,
|  | const TTreeUndoInfo * | fromInfo |
| ) |  |  | `[pure virtual]`

virtual void MCCOMAPI I3DShTreeElement::SetGlobalTransform3D | ( | const TTransform3D & | mat,
|  | ETreeTransformMode | mode = `kXTreeBehaviorDefault` |
| ) |  |  | `[pure virtual]`

Sets the global transform of the tree element.

Parameters:

  | mat | The global transform of the tree element.
  | mode | See ETreeTransformMode.

virtual void MCCOMAPI I3DShTreeElement::SetGlobalTreeTransform | ( | const TTreeTransform & | mat,
|  | ETreeTransformMode | mode = `kXTreeBehaviorDefault`,
|  | boolean | applyConstraint = `kApplyConstraint`,
|  | boolean | lockChildren = `false`,
|  | boolean | moveAnimation = `false`,
|  | boolean | ignoreObjScaling = `false` |
| ) |  |  | `[pure virtual]`

Sets the global transform of the tree NOTE: this function should be avoided as much as possible as it cannot work in some cases (non uniform scaling on parents, or a transform build from the local transforms of an uncompatible hierarchy

Parameters:

  | mat | The global transform.
  | mode | If kXTreeBehaviorTrackT the current rotation will be kept
  | applyConstraint | when false, the constraint on the tree (if any) will be ignored. you should use kApplyConstraint (true) and kIgnoreConstraint(false)
  | lockChildren | If true the position of the children of this tree element will be corrected to lock their positions in global space (WARNING: setting this flags on will modified the transform of the children, you need to be carefull (with the undo for instance).
  | moveAnimation | If true, the whole animation is moved not only the transform at this time
  | ignoreObjScaling | If true, will ignore the instance's own scaling factor. If false, the transform matrix will be divided by this factor. In practice, this parameter should be false if the matrix has originally been obtained by a call to a GetXXXXTransform method and it should be true otherwise

virtual void MCCOMAPI I3DShTreeElement::SetGlobalTreeTransform2 | ( | const TGlobalTreeTransform & | mat,
|  | ETreeTransformMode | mode = `kXTreeBehaviorDefault`,
|  | boolean | applyConstraint = `kApplyConstraint`,
|  | boolean | lockChildren = `false`,
|  | boolean | moveAnimation = `false`,
|  | boolean | ignoreObjScaling = `false` |
| ) |  |  | `[pure virtual]`

Sets the global transform of the tree NOTE: this function should be avoided as much as possible as it cannot work in some cases (non uniform scaling on parents, or a transform build from the local transforms of an uncompatible hierarchy

Parameters:

  | mat | The global transform.
  | ignoreObjScaling | If true, will ignore the instance's own scaling factor. If false, the transform mat will be divided by this factor. In practice, this parameter should be false if the matrix has originally been obtained by a call to a GetXXXXTransform method and it should be true otherwise
  | mode | If kXTreeBehaviorTrackT the current rotation will be kept
  | applyConstraint | when false, the constraint on the tree (if any) will be ignored. you should use kApplyConstraint (true) and kIgnoreConstraint(false)
  | lockChildren | If true the position of the children of this tree element will be corrected to lock their positions in global space (WARNING: setting this flags on will modified the transform of the children, you need to be carefull (with the undo for instance).
  | moveAnimation | If true, the whole animation is moved not only the transform at this time
  | ignoreObjScaling | If true, will ignore the instance's own scaling factor. If false, the transform matrix will be divided by this factor. In practice, this parameter should be false if the matrix has originally been obtained by a call to a GetXXXXTransform method and it should be true otherwise

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetHotPoint | ( | const TVector3 & | hotPoint | ) | `[pure virtual]`

Sets the hot point of the tree element. The hot point is the center of rotation.

Parameters:

  | hotPoint | The position of the hot point.

virtual void MCCOMAPI I3DShTreeElement::SetIsShown | ( | boolean | inIsShown | ) | `[pure virtual]`

Sets whether the tree element is visible in the 3D view.

Parameters:

  | inIsShown | True if the tree element is visible in the 3D view.

virtual void MCCOMAPI I3DShTreeElement::SetLocalTreeTransform | ( | const TTreeTransform & | mat,
|  | boolean | applyConstraint = `kApplyConstraint`,
|  | boolean | lockChildren = `false`,
|  | boolean | moveAnimation = `false`,
|  | ETreeTransformMode | mode = `kXTreeBehaviorDefault`,
|  | boolean | ignoreObjScaling = `false`,
|  | boolean | removeConstraint = `true` |
| ) |  |  | `[pure virtual]`

Sets the local tree transform

Parameters:

  | mat | The new local transform.
  | applyConstraint | use kApplyConstraint and kIgnoreConstraint
  | lockChildren | If true the position of the children of this tree element will be corrected to lock their positions in global space (WARNING: setting this flags on will modified the transform of the children, you need to be carefull (with the undo for instance).
  | moveAnimation | If true, the whole animation is moved not only the transform at this time.
  | mode | If kXTreeBehaviorTrackT the current rotation will be kept
  | ignoreObjScaling | If true, will ignore the instance's own scaling factor. If false, the transform matrix will be divided by this factor. In practice, this parameter should be false if the matrix has originally been obtained by a call to a GetXXXXTransform method and it should be true otherwise
  | removeConstraint | If true, the transform of the constraint will be removed from mat

virtual void MCCOMAPI I3DShTreeElement::SetMasterGroup | ( | I3DShMasterGroup * | masterGroup,
|  | boolean | invalidateCache = `true` |
| ) |  |  | `[pure virtual]`

Sets the master groups that contains the tree, must be called each time a tree is inserted in a scene.

Parameters:

  | masterGroup | A pointer to the masterGroup containing the tree, NULL if the tree is outside a scene
  | invalidateCache | If True will invalidate all the caches.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetModifiers | ( | const TMCCountedPtrArray< I3DShModifier > * | modifiers,
|  | ECloneMode | cloneMode |
| ) |  |  | `[pure virtual]`

Sets the list of modifiers.

Parameters:

  | modifiers | The list of modifiers.
  | cloneMode | The clone mode (see ECloneMode).

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetName | ( | const TMCString & | name | ) | `[pure virtual]`

Sets the name of the tree element.

Parameters:

  | name | The new name of the tree.

virtual void MCCOMAPI I3DShTreeElement::SetPropagateUniformScaling | ( | boolean | inPropagateUniformScaling | ) | `[pure virtual]`

Sets whether the uniform scaling is applied to the children.

virtual void MCCOMAPI I3DShTreeElement::SetReceiveShadow | ( | boolean | receiveShadow | ) | `[pure virtual]`

Sets whether this tree element can receive shadows.

Parameters:

  | receiveShadow | True if this tree element can receive shadows.

virtual void MCCOMAPI I3DShTreeElement::SetScalingFactor | ( | real | scalingFactor | ) | `[pure virtual]`

Sets the scaling factor for this tree element. Note that this should only be used on helper objects since it will have no effect on primitives.

virtual void MCCOMAPI I3DShTreeElement::SetScalingLockMode | ( | const EScalingLockMode & | inMode | ) | `[pure virtual]`

Sets the prefered scalingLockmode on the tree.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetShadowCasting | ( | boolean | shadowCasting | ) | `[pure virtual]`

Sets whether this tree element can cast shadows.

Parameters:

  | shadowCasting | True if this tree element can cast shadows.

virtual void MCCOMAPI I3DShTreeElement::SetTreePermanentID | ( | TTreeId |  | ) | `[pure virtual]`

Sets the tree PermanentID ( if tree has no ID )

virtual void MCCOMAPI I3DShTreeElement::SetVisibilityFlag | ( | boolean | inVisible | ) | `[pure virtual]`

Sets whether the tree element is visible. (this parameter is animated)

Parameters:

  | inVisible | True if the tree element is visible.

virtual void MCCOMAPI I3DShTreeElement::SetWireFramesState | ( | EWireFrameState | wfState | ) | `[pure virtual]`

Changes the state of all the wireframes attached to the tree.

Parameters:

  | wfState | The new state

virtual MCCOMErr MCCOMAPI I3DShTreeElement::SetXYZScaling | ( | TVector3 & | xyzScaling | ) | `[pure virtual]`

Sets the non uniform scaling.

Parameters:

  | xyzScaling | The non uniform scaling.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::TranslateHotPoint | ( | TVector3 & | delta | ) | `[pure virtual]`

Translates hotpoint of delta (In local coordinates)

Parameters:

  | delta | The translation in local coordinates.

virtual void MCCOMAPI I3DShTreeElement::UnConform | ( |  | ) | `[pure virtual]`

Removes the conforming link.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::Unlink | ( | I3DShTreeElement ** | treeElement,
|  | RelinkTreeElementInfo * | outRelink = `NULL` |
| ) |  |  | `[pure virtual]`

Unhook tree element from father, and returns old father

Parameters:

  | treeElement | The old father.
  | outRelink | Data to relink the tree element.

virtual MCCOMErr MCCOMAPI I3DShTreeElement::UpdateAtmosphere | ( |  | ) | `[pure virtual]`

This function is called each time this tree element (or one of its wireframes) is tracked if IsControllingAtmosphere() returned true, to update the current scene's atmosphere according to the tree element

virtual int16 MCCOMAPI I3DShTreeElement::WhatIAm | ( |  | ) | const`[pure virtual]`

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

- I3dShTreeElement.h