# I3DDBActionServer Struct Reference
[Shell Utilities]

Inheritance diagram for I3DDBActionServer:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | CreateObjectByKindAndID (I3DShTreeElement **outTree, IDType inKind, IDType inID, I3DShScene *inSceneContext)=0
virtual MCCOMErr MCCOMAPI | PostInsertObjectAction (ISceneDocument *inDocument, IDType inKind, IDType inID, I3DShTreeElement *inRoot, EInsertTreePos inInsertTreePos, const TTreeTransform &inTransform, boolean inAutoPlace)=0
virtual MCCOMErr MCCOMAPI | PostInsertObjectAction (ISceneDocument *inDocument, I3DShObject *inObject, I3DShTreeElement *inRoot, EInsertTreePos inInsertTreePos, const TTreeTransform &inTransform, boolean inAutoPlace)=0
virtual MCCOMErr MCCOMAPI | PostImportFileAction (ISceneDocument *inDocument, I3DShTreeElement *inImportRoot, IMCFile *inFile, MCFileTypeID inFileFormat, boolean inFromNativeBrowser, boolean inRememberPath, TAutoPlaceInfo *inAutoPlaceInfo=NULL)=0
virtual MCCOMErr MCCOMAPI | PostInsertTreeListAction (ISceneDocument *inDocument, const TMCCountedPtrArray< I3DShTreeElement > &inTreeList, I3DShTreeElement *inRoot, EInsertTreePos inInsertTreePos, const TTreeTransform &inTransform, boolean inAutoPlace, I3DShScene *fromScene, TMCSmartPtr< IMFAction > *outAction=NULL)=0
virtual MCCOMErr MCCOMAPI | PostInsertMasterObjectAction (ISceneDocument *inDocument, I3DShObject *inObject, I3DShMasterShader *inShader, I3DShTreeElement *inRoot, const TTreeTransform &inTransform, boolean inAutoPlace, boolean inAutoSwitchToModeler=true)=0
virtual MCCOMErr MCCOMAPI | PostInsertMasterObjectAction (ISceneDocument *inDocument, I3DShObject *inObject, I3DShMasterShader *inShader)=0
virtual MCCOMErr MCCOMAPI | PostInsertMasterShaderAction (ISceneDocument *inDocument, I3DShMasterShader *inMaster)=0
virtual MCCOMErr MCCOMAPI | PostInsertMasterClipAction (ISceneDocument *inDocument, I3DShMasterClip *inMaster)=0
virtual MCCOMErr MCCOMAPI | PostInsertMasterSoundAction (ISceneDocument *inDocument, IShMasterSound *inMaster)=0
virtual MCCOMErr MCCOMAPI | PostInsertSoundChannelAction (ISceneDocument *inDocument)=0
virtual MCCOMErr MCCOMAPI | PostRemoveSoundChannelAction (ISceneDocument *inDocument, uint32 inChannel)=0
virtual MCCOMErr MCCOMAPI | PostRemoveMasterSoundAction (ISceneDocument *inDocument, IShMasterSound *inMaster)=0
virtual MCCOMErr MCCOMAPI | PostChangeTransformAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, TMCArray< TTreeTransform > &inTransforms, TMCArray< TVector3 > &inHotPoints, boolean inIsGlobal, boolean inRemoveConstraints, boolean inCheckForConstraints, boolean inNotifyAboutModifiers, boolean inLockChildren)=0
virtual MCCOMErr MCCOMAPI | PostChangeNameAction (ISceneDocument *inDocument, I3DShTreeElement *inTree, const TMCString &inNewName)=0
virtual MCCOMErr MCCOMAPI | PostChangeNameAction (ISceneDocument *inDocument, I3DShObject *inObject, const TMCString &inNewName)=0
virtual MCCOMErr MCCOMAPI | PostChangeNameAction (ISceneDocument *inDocument, I3DShMasterShader *inMasterShader, const TMCString &inNewName)=0
virtual MCCOMErr MCCOMAPI | PostChangeNameAction (ISceneDocument *inDocument, I3DShMasterClip *inMasterClip, const TMCString &inNewName)=0
virtual MCCOMErr MCCOMAPI | PostChangeExistsAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inExists)=0
virtual MCCOMErr MCCOMAPI | PostChangeShownAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inShown)=0
virtual MCCOMErr MCCOMAPI | PostChangeShadowCastingAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inShadowCasting)=0
virtual MCCOMErr MCCOMAPI | PostChangeReceiveShadowAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inShadowCatching)=0
virtual MCCOMErr MCCOMAPI | PostChangePropagateScalingAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inPropagateScaling)=0
virtual MCCOMErr MCCOMAPI | PostChangeScalingLockModeAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, const EScalingLockMode &inScalingLockMode)=0
virtual MCCOMErr MCCOMAPI | PostChangeSelectChildrenWhenClosedAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, boolean inSelectChildrenWhenClosed)=0
virtual MCCOMErr MCCOMAPI | PostChangeURLAction (ISceneDocument *inDocument, I3DShInstance *inInstance, const TMCString &inURLName, int16 inURLKind)=0
virtual MCCOMErr MCCOMAPI | PostChangeComponentAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, IShParameterComponent *inComponent, IDType family, boolean canUndo, boolean isNewComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeComponentAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, TMCCountedPtrArray< IShParameterComponent > &inComponents, IDType family, boolean canUndo, boolean isNewComponent)=0
virtual MCCOMErr MCCOMAPI | PostInsertModifierAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, I3DShModifier *inComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeAnimationMethodAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, I3DShAnimationMethod *inComponent, boolean inConvertOldData=true)=0
virtual MCCOMErr MCCOMAPI | PostChangeAnimationMethodAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, TMCCountedPtrArray< I3DShAnimationMethod > &inComponents, boolean inConvertOldData=true)=0
virtual MCCOMErr MCCOMAPI | PostChangeTweenerAction (ISceneDocument *inDocument, TMCPtrArray< I3DShTweenerChainLink > &inLinks, I3DShTweener *inComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeModifierList (ISceneDocument *inDocument, I3DShTreeElement *inTrees, TMCPtrArray< I3DShModifier > &modifierList)=0
virtual MCCOMErr MCCOMAPI | PostChangeAttributesSetControlerList (ISceneDocument *inDocument, I3DShAttributesSet *inAttributesSet, TMCPtrArray< I3DShAttributesSetControler > &controlerList, boolean localControllers)=0
virtual MCCOMErr MCCOMAPI | PostApplyShaderToChildrenAction (ISceneDocument *inDocument, TMCPtrArray< I3DShShadableTree > &inShadableTrees, I3DShMasterShader *inShader)=0
virtual MCCOMErr MCCOMAPI | PostChangeMasterShaderAction (ISceneDocument *inDocument, TMCPtrArray< I3DShShadableTree > &inShadableTrees, I3DShMasterShader *inComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeUVSpaceMasterShaderAction (ISceneDocument *inDocument, I3DShInstance *inInstance, int32 uvSpace, I3DShMasterShader *inComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeInstanceMasterShadersAction (ISceneDocument *inDocument, I3DShInstance *inInstance, const TMCPtrArray< I3DShMasterShader > &inComponent)=0
virtual MCCOMErr MCCOMAPI | PostChangeSceneComponentAction (ISceneDocument *inDocument, IShParameterComponent *inComponent, IDType familyID, boolean canUndo)=0
virtual MCCOMErr MCCOMAPI | PostChangePostRendererList (ISceneDocument *inDocument, TMCCountedPtrArray< I3DShPostRenderer > &postRendererList, boolean canUndo)=0
virtual MCCOMErr MCCOMAPI | PostChangeMoveTree (ISceneDocument *inDocument, TMCCountedPtrArray< I3DShTreeElement > *treeList, I3DShTreeElement *insertionTree, EInsertTreePos insertTreePos, boolean canUndo)=0
virtual MCCOMErr MCCOMAPI | PostChangeTransformAction2 (ISceneDocument *inDocument, TMCPtrArray< I3DShTreeElement > &inTrees, TMCPtrArray< TTreeUndoInfo > &inOldTransforms, TMCArray< TTreeTransform > &inTransforms, TMCArray< TVector3 > &inHotPoints, boolean inIsGlobal, boolean inRemoveConstraints, boolean inCheckForConstraints, boolean inNotifyAboutModifiers, boolean inLockChildren, TMCPtrArray< TMCClassArray< TTreeUndoInfo > > *inChildrenOldTransforms)=0

## Detailed Description

Utility functions for making changes to the 3D database as a result of user interaction. Do not use these functions for simply altering the 3D database (e.g., importing a file format)---they should be used only when the user changes something in the UI to make a change (e.g., selects a new component in the properties module). All actions are undoable and properly restore the selection during undo and redo. They generally take a list of target objects in order to facilitate drag and drop onto a multiple selection. If only a single target object is desired, simply make a list with one element.

Actions are important because they are the base of the undo

It is important to understand that an action is not synchonous. The functions post the action in the action queue but they do not execute the action right away. The action is executed next time the application goes through its main loop.

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DDBActionServer::CreateObjectByKindAndID | ( | I3DShTreeElement ** | outTree,
|  | IDType | inKind,
|  | IDType | inID,
|  | I3DShScene * | inSceneContext |
| ) |  |  | `[pure virtual]`

Creates an object.

Parameters:

  | outTree | A point to the object that is returned.
  | inKind | The family ID of the object ('prim' for primitive, 'came' for camera, 'lite' for lights, 'data' for a helper objects)
  | inID | The class ID of the object.
  | inSceneContext | Used only to generate a unique name.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostApplyShaderToChildrenAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShShadableTree > & | inShadableTrees,
|  | I3DShMasterShader * | inShader |
| ) |  |  | `[pure virtual]`

Posts an undoable action that apply the shader of a tree to all its children

Parameters:

  | inDocument | The document in which the action is performed.
  | inTreeElement | The tree element

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeAnimationMethodAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | TMCCountedPtrArray< I3DShAnimationMethod > & | inComponents,
|  | boolean | inConvertOldData = `true` |
| ) |  |  | `[pure virtual]`

Posts an action that change the animation method of several trees

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the animation method should be changed.
  | inComponents | The new animation methods (must have the same elemcount than inTrees
  | inConvertOldData | True if the old animation data should be converted to the new animation method.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeAnimationMethodAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | I3DShAnimationMethod * | inComponent,
|  | boolean | inConvertOldData = `true` |
| ) |  |  | `[pure virtual]`

Posts an action that change the animation method of several trees

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the animation method should be changed.
  | inComponent | The new animation method
  | inConvertOldData | True if the old animation data should be converted to the new animation method.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeAttributesSetControlerList | ( | ISceneDocument * | inDocument,
|  | I3DShAttributesSet * | inAttributesSet,
|  | TMCPtrArray< I3DShAttributesSetControler > & | controlerList,
|  | boolean | localControllers |
| ) |  |  | `[pure virtual]`

Posts an action that changes the controlers of an attributes set

Parameters:

  | inDocument | The document in which the action is performed.
  | inAttributesSet | The attributes set on which the controler list should be changed.
  | controlerList | The new controler list.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeComponentAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | TMCCountedPtrArray< IShParameterComponent > & | inComponents,
|  | IDType | family,
|  | boolean | canUndo,
|  | boolean | isNewComponent |
| ) |  |  | `[pure virtual]`

Posts an action when a component is changed on several tree elements

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the component should be changed.
  | inComponents | The new components (must have the same elemcount than inTrees)
  | family | The family ID of the component.
  | canUndo | True if the action should be undoable.
  | isNewComponent | True if you change the component, False if it is only the values that change

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeComponentAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | IShParameterComponent * | inComponent,
|  | IDType | family,
|  | boolean | canUndo,
|  | boolean | isNewComponent |
| ) |  |  | `[pure virtual]`

Posts an action when a component is changed on a tree element

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the component should be changed.
  | inComponent | The new component
  | family | The family ID of the component.
  | canUndo | True if the action should be undoable.
  | isNewComponent | True if you change the component, False if it is only the values that change

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeExistsAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inExists |
| ) |  |  | `[pure virtual]`

Posts an action that enables/disables the displacement mapping on an instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree element on which the action is performed.
  | enable | The new state of the displacement mapping (enabled/disabled). Posts an action that changes the Exists (visible) flag on a tree.
  | inDocument | The document in which the action is performed.
  | inTree | The tree element on which the action is performed.
  | inExists | The new state of the Exists flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeInstanceMasterShadersAction | ( | ISceneDocument * | inDocument,
|  | I3DShInstance * | inInstance,
|  | const TMCPtrArray< I3DShMasterShader > & | inComponent |
| ) |  |  | `[pure virtual]`

Posts an action that modifies all the shaders applied to an instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inInstance | The tree elements where the the new master shader will be applied.
  | inComponent | List of Master Shaders that will be applied (it must contains uvSpaceCount+1 element).

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeMasterShaderAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShShadableTree > & | inShadableTrees,
|  | I3DShMasterShader * | inComponent |
| ) |  |  | `[pure virtual]`

Posts an action that modifies the shader applied to a number of tree elements.

Parameters:

  | inDocument | The document in which the action is performed.
  | inShadableTrees | The tree elements where the the new master shader will be applied.
  | inComponent | The Master Shader that will be applied.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeModifierList | ( | ISceneDocument * | inDocument,
|  | I3DShTreeElement * | inTrees,
|  | TMCPtrArray< I3DShModifier > & | modifierList |
| ) |  |  | `[pure virtual]`

Posts an action that changes the modifiers of a tree

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the modifier list should be changed.
  | modifierList | The new modifier list.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeMoveTree | ( | ISceneDocument * | inDocument,
|  | TMCCountedPtrArray< I3DShTreeElement > * | treeList,
|  | I3DShTreeElement * | insertionTree,
|  | EInsertTreePos | insertTreePos,
|  | boolean | canUndo |
| ) |  |  | `[pure virtual]`

Posts an action that moves trees under a new tree

Parameters:

  | inDocument | The document in which the action is performed.
  | treeList | The trees to move.
  | insertionTree | The tree where to inserted the others.
  | insertTreePos | The position where to insert the trees relative to the insertionTree.
  | canUndo | True if the action is undoable.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeNameAction | ( | ISceneDocument * | inDocument,
|  | I3DShMasterClip * | inMasterClip,
|  | const TMCString & | inNewName |
| ) |  |  | `[pure virtual]`

Posts an action that changes the name of a master clip.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMasterClip | The master clip whose name should be changed.
  | inNewName | The new name of the master shader.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeNameAction | ( | ISceneDocument * | inDocument,
|  | I3DShMasterShader * | inMasterShader,
|  | const TMCString & | inNewName |
| ) |  |  | `[pure virtual]`

Posts an action that changes the name of a master shader.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMasterShader | The master shader whose name should be changed.
  | inNewName | The new name of the master shader.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeNameAction | ( | ISceneDocument * | inDocument,
|  | I3DShObject * | inObject,
|  | const TMCString & | inNewName |
| ) |  |  | `[pure virtual]`

Posts an action that changes the name of a master object.

Parameters:

  | inDocument | The document in which the action is performed.
  | inObject | The master object whose name should be changed.
  | inNewName | The new name of the master object.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeNameAction | ( | ISceneDocument * | inDocument,
|  | I3DShTreeElement * | inTree,
|  | const TMCString & | inNewName |
| ) |  |  | `[pure virtual]`

Posts an action that changes the name of a tree element.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree element whose name should be changed.
  | inNewName | The new name of the tree element.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangePostRendererList | ( | ISceneDocument * | inDocument,
|  | TMCCountedPtrArray< I3DShPostRenderer > & | postRendererList,
|  | boolean | canUndo |
| ) |  |  | `[pure virtual]`

Posts an action that changes the list of postrender filters.

Parameters:

  | inDocument | The document in which the action is performed.
  | postRendererList | The list of postrender filters.
  | canUndo | True if the action is undoable.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangePropagateScalingAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inPropagateScaling |
| ) |  |  | `[pure virtual]`

Posts an action that changes the (uniform) scaling propagation flag on a tree.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree on which the action is performed.
  | inPropagateScaling | The new state of the (uniform) scaling propagation flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeReceiveShadowAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inShadowCatching |
| ) |  |  | `[pure virtual]`

Posts an action that changes the receive shadow flag on a tree.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree on which the action is performed.
  | inShadowCatching | The new state of the receive shadow flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeScalingLockModeAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | const EScalingLockMode & | inScalingLockMode |
| ) |  |  | `[pure virtual]`

Posts an action that changes the scaling LockMode on a tree.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree on which the action is performed.
  | inScalingLockMode | The new value of the lockmode.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeSceneComponentAction | ( | ISceneDocument * | inDocument,
|  | IShParameterComponent * | inComponent,
|  | IDType | familyID,
|  | boolean | canUndo |
| ) |  |  | `[pure virtual]`

Posts an action that changes a component on the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inComponent | The new component
  | familyID | The family ID of the component.
  | canUndo | True if the action is undoable.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeSelectChildrenWhenClosedAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inSelectChildrenWhenClosed |
| ) |  |  | `[pure virtual]`

Posts an action that changes the SelectChildrenWhenClosed flag on a group.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree element on which the action is performed.
  | inShown | The new state of the Shown flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeShadowCastingAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inShadowCasting |
| ) |  |  | `[pure virtual]`

Posts an action that changes the cast shadow flag on a tree.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree on which the action is performed.
  | inShadowCasting | The new state of the cast shadow flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeShownAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | boolean | inShown |
| ) |  |  | `[pure virtual]`

Posts an action that changes the Shown (visible in 3D view) flag on a tree.

Parameters:

  | inDocument | The document in which the action is performed.
  | inTree | The tree element on which the action is performed.
  | inShown | The new state of the Shown flag.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeTransformAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | TMCArray< TTreeTransform > & | inTransforms,
|  | TMCArray< TVector3 > & | inHotPoints,
|  | boolean | inIsGlobal,
|  | boolean | inRemoveConstraints,
|  | boolean | inCheckForConstraints,
|  | boolean | inNotifyAboutModifiers,
|  | boolean | inLockChildren |
| ) |  |  | `[pure virtual]`

Changes the transform of one or more trees. If inIsGlobal is true, then the transforms are set as global transforms, otherwise as local. If inRemoveConstraints is true (and inCheckForConstraints false), the user is not asked, but the constraints (if any) are overriden.

If inHotPoints has data in it (i.e., the array has the same number of elements as the inTransforms), then the corresponding hot point is set AFTER the transform is set:

       tree->SetHotPoint(zeroVec);
       tree->SetTransform(t[i]);
       tree->SetHotPoint(hp[i]);

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The trees whose transform should be changed.
  | inTransforms | The new transform for each tree.
  | inHotPoints | The new hotpoints for each tree.
  | inIsGlobal | True if we are setting a global transform.
  | inRemoveConstraints | True if constraints should be removed.
  | inCheckForConstraints | If true and if there is a constraint on one of the trees, the user is asked whether he/she wants to use or override the constraint.
  | inNotifyAboutModifiers | If true and if there is a space modifier (behavior) on a tree, then the user is warned that the transform may be altered to fit the behavior.
  | inLockChildren | True if the position of the children of the tree elements need to be corrected to lock their positions in global space.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeTransformAction2 | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | TMCPtrArray< TTreeUndoInfo > & | inOldTransforms,
|  | TMCArray< TTreeTransform > & | inTransforms,
|  | TMCArray< TVector3 > & | inHotPoints,
|  | boolean | inIsGlobal,
|  | boolean | inRemoveConstraints,
|  | boolean | inCheckForConstraints,
|  | boolean | inNotifyAboutModifiers,
|  | boolean | inLockChildren,
|  | TMCPtrArray< TMCClassArray< TTreeUndoInfo > > * | inChildrenOldTransforms |
| ) |  |  | `[pure virtual]`

Changes the transform of one or more trees. If inIsGlobal is true, then the transforms are set as global transforms, otherwise as local. If inRemoveConstraints is true (and inCheckForConstraints false), the user is not asked, but the constraints (if any) are overriden.

If inHotPoints has data in it (i.e., the array has the same number of elements as the inTransforms), then the corresponding hot point is set AFTER the transform is set:

       tree->SetHotPoint(zeroVec);
       tree->SetTransform(t[i]);
       tree->SetHotPoint(hp[i]);

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The trees whose transform should be changed.
  | inOldTransforms | Transforms for undo.
  | inTransforms | The new transform for each tree.
  | inHotPoints | The new hotpoints for each tree.
  | inIsGlobal | True if we are setting a global transform.
  | inRemoveConstraints | True if constraints should be removed.
  | inCheckForConstraints | If true and if there is a constraint on one of the trees, the user is asked whether he/she wants to use or override the constraint.
  | inNotifyAboutModifiers | If true and if there is a space modifier (behavior) on a tree, then the user is warned that the transform may be altered to fit the behavior.
  | inLockChildren | True if the position of the children of the tree elements need to be corrected to lock their positions in global space.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeTweenerAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTweenerChainLink > & | inLinks,
|  | I3DShTweener * | inComponent |
| ) |  |  | `[pure virtual]`

Posts an action that change a tweener

Parameters:

  | inDocument | The document in which the action is performed.
  | inLinks | The links where the tweener is changed.
  | inComponent | The new tweener.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeURLAction | ( | ISceneDocument * | inDocument,
|  | I3DShInstance * | inInstance,
|  | const TMCString & | inURLName,
|  | int16 | inURLKind |
| ) |  |  | `[pure virtual]`

Posts an action that changes the url associated with an instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inInstance | The instance to modify.
  | inURLName | The new URL.
  | inURLKind | The URL kind.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostChangeUVSpaceMasterShaderAction | ( | ISceneDocument * | inDocument,
|  | I3DShInstance * | inInstance,
|  | int32 | uvSpace,
|  | I3DShMasterShader * | inComponent |
| ) |  |  | `[pure virtual]`

Posts an action that modifies the shader applied to a uv space of an instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inInstance | The tree elements where the the new master shader will be applied.
  | uvSpace | The uv space id.
  | inComponent | The Master Shader that will be applied.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostImportFileAction | ( | ISceneDocument * | inDocument,
|  | I3DShTreeElement * | inImportRoot,
|  | IMCFile * | inFile,
|  | MCFileTypeID | inFileFormat,
|  | boolean | inFromNativeBrowser,
|  | boolean | inRememberPath,
|  | TAutoPlaceInfo * | inAutoPlaceInfo = `NULL` |
| ) |  |  | `[pure virtual]`

Posts an action that imports a file in the given scene document

Parameters:

  | inDocument | The document in which the action is performed.
  | inImportRoot | The tree under which the imported data is inserted.
  | inFile | The file to import
  | inFileFormat | The id of the import format to use
  | inFromNativeBrowser | True if the file to import is a Carrara Browser file
  | inFromNativeBrowser | True if the path should be added to the recent files list
  | inAutoPlaceInfo | Info for positioning the imported data in the scene (NULL for default placement)

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertMasterClipAction | ( | ISceneDocument * | inDocument,
|  | I3DShMasterClip * | inMaster |
| ) |  |  | `[pure virtual]`

Posts an action that inserts a Master Clip in the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMaster | The master clip that should be inserted.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertMasterObjectAction | ( | ISceneDocument * | inDocument,
|  | I3DShObject * | inObject,
|  | I3DShMasterShader * | inShader |
| ) |  |  | `[pure virtual]`

Posts an action that inserts the object in the scene and creates a new instance of it. Also adds the shader and uses it on the new instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inObject | The master object that should be inserted.
  | inShader | The master shader that should be inserted.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertMasterObjectAction | ( | ISceneDocument * | inDocument,
|  | I3DShObject * | inObject,
|  | I3DShMasterShader * | inShader,
|  | I3DShTreeElement * | inRoot,
|  | const TTreeTransform & | inTransform,
|  | boolean | inAutoPlace,
|  | boolean | inAutoSwitchToModeler = `true` |
| ) |  |  | `[pure virtual]`

Posts an action that inserts a master object in the scene and creates a new instance of it. Also adds the shader and uses it on the new instance.

Parameters:

  | inDocument | The document in which the action is performed.
  | inObject | The master object that should be inserted.
  | inShader | The master shader that should be inserted.
  | inRoot | The tree under which the object is inserted.
  | inTransform | The position of the inserted object.
  | inAutoPlace | True if the object should be automatically place.
  | inAutoSwitchToModeler | False if the action should not switch to the modeler

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertMasterShaderAction | ( | ISceneDocument * | inDocument,
|  | I3DShMasterShader * | inMaster |
| ) |  |  | `[pure virtual]`

Posts an action that inserts a Master Shader in the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMaster | The master shader that should be inserted.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertMasterSoundAction | ( | ISceneDocument * | inDocument,
|  | IShMasterSound * | inMaster |
| ) |  |  | `[pure virtual]`

Posts an action that inserts the specified master sound in the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMaster | The master sound that should be inserted.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertModifierAction | ( | ISceneDocument * | inDocument,
|  | TMCPtrArray< I3DShTreeElement > & | inTrees,
|  | I3DShModifier * | inComponent |
| ) |  |  | `[pure virtual]`

Posts an action that inserts a modifier on a tree element

Parameters:

  | inDocument | The document in which the action is performed.
  | inTrees | The list of trees on which the modifier should be inserted.
  | inComponent | The new component

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertObjectAction | ( | ISceneDocument * | inDocument,
|  | I3DShObject * | inObject,
|  | I3DShTreeElement * | inRoot,
|  | EInsertTreePos | inInsertTreePos,
|  | const TTreeTransform & | inTransform,
|  | boolean | inAutoPlace |
| ) |  |  | `[pure virtual]`

Posts an action that creates a new instance of the object (which must already be in the scene).

Parameters:

  | inDocument | The document in which the action is performed.
  | inObject | The object to instanciate (must already be in the scene).
  | inRoot | The tree under which the object is inserted.
  | inInsertTreePos | The position in the tree.
  | inTransform | The position of the inserted object.
  | inAutoPlace | True if the object should be automatically place.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertObjectAction | ( | ISceneDocument * | inDocument,
|  | IDType | inKind,
|  | IDType | inID,
|  | I3DShTreeElement * | inRoot,
|  | EInsertTreePos | inInsertTreePos,
|  | const TTreeTransform & | inTransform,
|  | boolean | inAutoPlace |
| ) |  |  | `[pure virtual]`

Posts an action that creates a new object in the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inKind | The family ID of the object ('prim' for example).
  | inID | The class ID of the object
  | inRoot | The tree under which the object is inserted.
  | inInsertTreePos | The position in the tree.
  | inTransform | The position of the inserted object.
  | inAutoPlace | True if the object should be automatically place.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertSoundChannelAction | ( | ISceneDocument * | inDocument | ) | `[pure virtual]`

Posts an action that creates a new sound track (channel) in the scene.

Parameters:

  | inDocument | The document in which the action is performed.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostInsertTreeListAction | ( | ISceneDocument * | inDocument,
|  | const TMCCountedPtrArray< I3DShTreeElement > & | inTreeList,
|  | I3DShTreeElement * | inRoot,
|  | EInsertTreePos | inInsertTreePos,
|  | const TTreeTransform & | inTransform,
|  | boolean | inAutoPlace,
|  | I3DShScene * | fromScene,
|  | TMCSmartPtr< IMFAction > * | outAction = `NULL` |
| ) |  |  | `[pure virtual]`

Posts an action that inserts a list of tree elements in the scene, with their master objects and master shaders. If outAction is not null, the action is not posted and you'll have to delete it (used to delegate functionality from another action) If the action is canceled, the resulting action will be null

Parameters:

  | inDocument | The document in which the action is performed.
  | inTreeList | The list of tree that should be inserted.
  | inRoot | The tree under which the object is inserted.
  | inInsertTreePos | The position in the tree.
  | inTransform | The position of the inserted object.
  | inAutoPlace | True if the object should be automatically place.
  | fromScene | The scene where the trees come from.
  | outAction | A pointer to the action that is created.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostRemoveMasterSoundAction | ( | ISceneDocument * | inDocument,
|  | IShMasterSound * | inMaster |
| ) |  |  | `[pure virtual]`

Posts an action that removes the specified master sound from the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inMaster | The master sound that should be removed.

virtual MCCOMErr MCCOMAPI I3DDBActionServer::PostRemoveSoundChannelAction | ( | ISceneDocument * | inDocument,
|  | uint32 | inChannel |
| ) |  |  | `[pure virtual]`

Posts an action that removes a new sound track (channel) from the scene.

Parameters:

  | inDocument | The document in which the action is performed.
  | inChannel | the index of the channel that should be removed.

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

- I3dShUtilities.h