3ds Max C++ API Reference
Loading...
Searching...
No Matches
INodeTransformed Class Reference

#include <inode.h>

+ Inheritance diagram for INodeTransformed:

Public Member Functions

 INodeTransformed (INode *n, Matrix3 tm, BOOL dm=TRUE)
 
void DisposeTemporary ()
 
INodeGetActualINode ()
 
const MCHARGetName ()
 
void SetName (const MCHAR *s)
 
Matrix3 GetNodeTM (TimeValue t, Interval *valid=NULL)
 
void SetNodeTM (TimeValue t, const Matrix3 &m) override
 
void InvalidateTreeTM ()
 
void InvalidateTM ()
 
void InvalidateWS ()
 
void InvalidateRect (TimeValue t, bool oldRect)
 
Matrix3 GetObjectTM (TimeValue time, Interval *valid=NULL)
 
Matrix3 GetObjTMBeforeWSM (TimeValue time, Interval *valid=NULL)
 
Matrix3 GetObjTMAfterWSM (TimeValue time, Interval *valid=NULL)
 
const ObjectStateEvalWorldState (TimeValue time, BOOL evalHidden=TRUE)
 
INodeGetParentNode ()
 
void AttachChild (INode *n, int keepTM=1)
 
void Detach (TimeValue t, int keepTM=1)
 
int NumberOfChildren ()
 
INodeGetChildNode (int i)
 
void Delete (TimeValue t, int keepChildPosition)
 
void Hide (BOOL onOff)
 Controls the hidden state of the node in the scene.
 
int IsHidden (DWORD hflags=0, BOOL forRenderer=FALSE)
 Determines if the node is hidden in the scene.
 
int IsNodeHidden (BOOL forRenderer=FALSE)
 Returns nonzero if the node is hidden in any way.
 
void Freeze (BOOL onOff)
 Controls the frozen state of the node in the scene.
 
int IsFrozen ()
 Determines if the node is frozen in any way in the scene.
 
void SetShowFrozenWithMtl (BOOL onOff)
 
int ShowFrozenWithMtl ()
 
void XRayMtl (BOOL onOff)
 Set the X-Ray node property.
 
int HasXRayMtl ()
 Returns nonzero if the X-Ray Material display property is on for the node; otherwise zero.
 
void IgnoreExtents (BOOL onOff)
 Ignore this node during zoom extents.
 
int GetIgnoreExtents ()
 Is this node ignored during zoom extents.
 
void BoxMode (BOOL onOff)
 
int GetBoxMode ()
 
void AllEdges (BOOL onOff)
 
int GetAllEdges ()
 
void VertTicks (int onOff)
 
int GetVertTicks ()
 
void BackCull (BOOL onOff)
 
int GetBackCull ()
 
void SetCastShadows (BOOL onOff)
 
int CastShadows ()
 
void SetRcvShadows (BOOL onOff)
 
int RcvShadows ()
 
void SetGenerateCaustics (BOOL onOff)
 
int GenerateCaustics ()
 
void SetRcvCaustics (BOOL onOff)
 
int RcvCaustics ()
 
void SetApplyAtmospherics (BOOL onOff)
 
int ApplyAtmospherics ()
 
void SetGenerateGlobalIllum (BOOL onOff)
 
int GenerateGlobalIllum ()
 
void SetRcvGlobalIllum (BOOL onOff)
 
int RcvGlobalIllum ()
 
void SetMotBlur (BOOL onOff)
 
int MotBlur ()
 
float GetImageBlurMultiplier (TimeValue t)
 
void SetImageBlurMultiplier (TimeValue t, float m)
 
void SetImageBlurMultController (Control *cont)
 
ControlGetImageBlurMultController ()
 
BOOL GetMotBlurOnOff (TimeValue t)
 
void SetMotBlurOnOff (TimeValue t, BOOL m)
 
ControlGetMotBlurOnOffController ()
 
void SetMotBlurOnOffController (Control *cont)
 
void SetRenderable (BOOL onOff)
 
int Renderable ()
 
void SetPrimaryVisibility (bool onOff) override
 
bool GetPrimaryVisibility () const override
 
void SetSecondaryVisibility (bool onOff) override
 
bool GetSecondaryVisibility () const override
 
void ShowBone (int boneVis)
 
void BoneAsLine (int onOff)
 
BOOL IsBoneShowing ()
 
BOOL IsBoneOnly ()
 
DWORD GetWireColor ()
 
void SetWireColor (DWORD newcol)
 
int IsRootNode ()
 
int Selected ()
 
int Dependent ()
 
int IsTarget ()
 
void SetIsTarget (BOOL b)
 
BOOL GetTransformLock (int type, int axis)
 
void SetTransformLock (int type, int axis, BOOL onOff)
 
INodeGetTarget ()
 
INodeGetLookatNode ()
 
Matrix3 GetParentTM (TimeValue t)
 
int GetTargetTM (TimeValue t, Matrix3 &m)
 
ObjectGetObjectRef ()
 
void SetObjectRef (Object *o)
 
ObjectGetObjOrWSMRef ()
 
ControlGetTMController ()
 
BOOL SetTMController (Control *m3cont)
 
ControlGetVisController ()
 
void SetVisController (Control *cont)
 
float GetVisibility (TimeValue t, Interval *valid=NULL)
 
void SetVisibility (TimeValue t, float vis)
 
float GetLocalVisibility (TimeValue t, Interval *valid)
 
BOOL GetInheritVisibility ()
 
void SetInheritVisibility (BOOL onOff)
 
virtual void SetRenderOccluded (BOOL onOff)
 
virtual BOOL GetRenderOccluded ()
 
MtlGetMtl ()
 
void SetMtl (Mtl *matl)
 
MaterialMtls ()
 
int NumMtls ()
 
RenderDataGetRenderData ()
 
void SetRenderData (RenderData *rd)
 
void SetObjOffsetPos (Point3 p)
 
Point3 GetObjOffsetPos ()
 
void SetObjOffsetRot (Quat q)
 
Quat GetObjOffsetRot ()
 
void FlagForeground (TimeValue t, BOOL notify=TRUE)
 
int IsActiveGrid ()
 
void SetNodeLong (LONG_PTR l)
 
LONG_PTR GetNodeLong ()
 
void GetUserPropBuffer (MSTR &buf)
 
void SetUserPropBuffer (const MSTR &buf)
 
BOOL GetUserPropString (const MSTR &key, MSTR &string)
 
BOOL GetUserPropInt (const MSTR &key, int &val)
 
BOOL GetUserPropFloat (const MSTR &key, float &val)
 
BOOL GetUserPropBool (const MSTR &key, BOOL &b)
 
void SetUserPropString (const MSTR &key, const MSTR &string)
 
void SetUserPropInt (const MSTR &key, int val)
 
void SetUserPropFloat (const MSTR &key, float val)
 
void SetUserPropBool (const MSTR &key, BOOL b)
 
BOOL UserPropExists (const MSTR &key)
 
ULONG GetGBufID ()
 
void SetGBufID (ULONG id)
 
UWORD GetRenderID ()
 
void SetRenderID (UWORD id)
 
CoreExport void SetObjOffsetScale (ScaleValue sv)
 
CoreExport ScaleValue GetObjOffsetScale ()
 
void CenterPivot (TimeValue t, BOOL moveObject)
 
void AlignPivot (TimeValue t, BOOL moveObject)
 
void WorldAlignPivot (TimeValue t, BOOL moveObject)
 
void AlignToParent (TimeValue t)
 
void AlignToWorld (TimeValue t)
 
void ResetTransform (TimeValue t, BOOL scaleOnly)
 
void ResetPivot (TimeValue t)
 
bool MayResetTransform ()
 
void Move (TimeValue t, const Matrix3 &tmAxis, const Point3 &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)
 
void Rotate (TimeValue t, const Matrix3 &tmAxis, const AngAxis &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)
 
void Rotate (TimeValue t, const Matrix3 &tmAxis, const Quat &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)
 
void Scale (TimeValue t, const Matrix3 &tmAxis, const Point3 &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)
 
BOOL IsGroupMember ()
 
BOOL IsGroupHead ()
 
BOOL IsOpenGroupMember ()
 
BOOL IsOpenGroupHead ()
 
void SetGroupMember (BOOL b)
 
void SetGroupHead (BOOL b)
 
void SetGroupMemberOpen (BOOL b)
 
void SetGroupHeadOpen (BOOL b)
 
RefResult NotifyRefChanged (const Interval &changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message, BOOL propagate)
 Receives and responds to messages.
 
void CopyProperties (INode *from)
 
virtual void GetClassName (MSTR &s, bool localized=true) const override
 Retrieves the name of the plugin class.
 
- Public Member Functions inherited from INode
virtual void InvalidateRect (TimeValue t, bool oldRect=false)=0
 
virtual void UnhideObjectAndLayer (bool dolayer=true)
 Makes the node, and optionally the layer, visible in the scene.
 
virtual int IsObjectHidden ()
 Returns the hidden state of this node in the scene.
 
virtual void UnfreezeObjectAndLayer (bool dolayer=true)
 Unfreeze the node, and optionally its layer.
 
virtual int IsObjectFrozen ()
 Test the frozen property of this node.
 
virtual int HasObjectXRayMtl ()
 Get the X-Ray node property.
 
virtual void IgnoreExtents (BOOL onOff)=0
 Ignore this node during zoom extents.
 
virtual int GetIgnoreExtents ()=0
 Is this node ignored during zoom extents.
 
virtual bool MayResetTransform ()=0
 
BaseInterfaceGetInterface (Interface_ID id)
 
FPInterfaceDescGetDesc ()
 
 PROP_FNS (getPosTaskWeight, GetPosTaskWeight, setPosTaskWeight, SetPosTaskWeight, TYPE_FLOAT)
 
 PROP_FNS (getRotTaskWeight, GetRotTaskWeight, setRotTaskWeight, SetRotTaskWeight, TYPE_FLOAT)
 
 PROP_FNS (getBoneAutoAlign, GetBoneAutoAlign, setBoneAutoAlign, SetBoneAutoAlign, TYPE_BOOL)
 
 PROP_FNS (getBoneFreezeLen, GetBoneFreezeLen, setBoneFreezeLen, SetBoneFreezeLen, TYPE_BOOL)
 
 PROP_FNS (getBoneScaleType, GetBoneScaleType, setBoneScaleType, SetBoneScaleType, TYPE_ENUM)
 
 PROP_FNS (getBoneAxis, GetBoneAxis, setBoneAxis, SetBoneAxis, TYPE_ENUM)
 
 PROP_FNS (getBoneAxisFlip, GetBoneAxisFlip, setBoneAxisFlip, SetBoneAxisFlip, TYPE_BOOL)
 
 RO_PROP_TFN (getStretchTM, GetStretchTM, TYPE_MATRIX3_BV)
 
 PROP_TFNS (getBoneNodeOnOff, GetBoneNodeOnOff_T, setBoneNodeOnOff, SetBoneNodeOnOff, TYPE_BOOL)
 
 VFNT_1 (setBoneNodeOnOffM, SetBoneNodeOnOff, TYPE_BOOL)
 
 VFNT_0 (realignBoneToChild, RealignBoneToChild)
 
 VFNT_0 (resetBoneStretch, ResetBoneStretch)
 
 PROP_FNS (getPrimaryVisibility, GetPrimaryVisibility, setPrimaryVisibility, SetPrimaryVisibility, TYPE_bool)
 
 PROP_FNS (getSecondaryVisibility, GetSecondaryVisibility, setSecondaryVisibility, SetSecondaryVisibility, TYPE_bool)
 
 PROP_FNS (getApplyAtmospherics, ApplyAtmospherics, setApplyAtmospherics, SetApplyAtmospherics, TYPE_BOOL)
 
 PROP_FNS (getCVertMode, GetCVertMode, setCVertMode, SetCVertMode, TYPE_INT)
 
 PROP_FNS (getShadeCVerts, GetShadeCVerts, setShadeCVerts, SetShadeCVerts, TYPE_INT)
 
 PROP_FNS (getVertexColorType, GetVertexColorType, setVertexColorType, SetVertexColorType, TYPE_ENUM)
 
 PROP_FNS (getVertexColorMapChannel, GetVertexColorMapChannel, setVertexColorMapChannel, SetVertexColorMapChannel, TYPE_INT)
 
 RO_PROP_FN (getNodeHandle, GetHandle, TYPE_DWORD)
 
 RO_PROP_FN (isSceneXRefNode, IsSceneXRefNode, TYPE_bool)
 
CoreExport voidGetInterface (ULONG id) override
 Inherited from Animatable.
 
CoreExport BaseInterfaceGetInterface (Interface_ID id) override
 Inherited from Animatable.
 
WStr BuildHierarchyName (bool doQuoted=true, bool isRootIncluded=false)
 
virtual ULONG GetHandle ()
 
virtual int GetTrajectoryON ()
 
virtual void SetTrajectoryON (BOOL onOff)
 
virtual void SetMotBlur (int kind)=0
 
virtual void SetCVertMode (int onOff)
 
virtual int GetCVertMode ()
 
virtual void SetShadeCVerts (int onOff)
 
virtual int GetShadeCVerts ()
 
virtual int GetVertexColorType ()
 
virtual void SetVertexColorType (int nvct)
 
virtual int GetVertexColorMapChannel ()
 get the map channel to be displayed as vertex color.
 
virtual void SetVertexColorMapChannel (int vcmc)
 set the map channel to be displayed as vertex color.
 
CoreExport void CopyProperties (INode *from)
 
virtual void SetTargetNodePair (int onOff)
 
virtual int GetTargetNodePair ()
 
virtual float GetVisibility (TimeValue t, View &view, Interval *valid=NULL)
 
virtual float GetPosTaskWeight ()
 
virtual float GetRotTaskWeight ()
 
virtual void SetPosTaskWeight (float w)
 
virtual void SetRotTaskWeight (float w)
 
virtual BOOL GetTaskAxisState (int which, int axis)
 
virtual void SetTaskAxisState (int which, int axis, BOOL onOff)
 
virtual DWORD GetTaskAxisStateBits ()
 
virtual void CreateWSMDerivedObject ()
 
virtual IDerivedObjectGetWSMDerivedObject ()
 
virtual CoreExport MaxSDK::AssetManagement::AssetUser GetXRefFile (int i)
 
virtual void SetXRefFile (int i, const MaxSDK::AssetManagement::AssetUser &file, BOOL reload)
 
virtual int GetXRefFileCount ()
 
virtual BOOL AddNewXRefFile (const MaxSDK::AssetManagement::AssetUser &file, BOOL loadNow=TRUE, BOOL hideInManagerUI=FALSE)
 
virtual BOOL DeleteXRefFile (int i)
 
virtual BOOL BindXRefFile (int i)
 
virtual void DeleteAllXRefs ()
 
virtual BOOL ReloadXRef (int i)
 
virtual void FlagXrefChanged (int i)
 
virtual BOOL UpdateChangedXRefs (BOOL redraw=TRUE)
 
virtual INodeGetXRefTree (int i)
 
virtual INodeGetXRefParent (int i)
 
virtual void SetXRefParent (int i, INode *par, BOOL autoOffset=TRUE)
 
virtual BOOL FindUnresolvedXRefs (Tab< MSTR * > &fnames)
 
virtual void AttemptToResolveUnresolvedXRefs ()
 
virtual DWORD GetXRefFlags (int i)
 
virtual void SetXRefFlags (int i, DWORD flag, BOOL onOff)
 
virtual bool IsSceneXRefNode () const
 
virtual void SetBoneNodeOnOff (BOOL onOff, TimeValue t)
 
virtual void SetBoneAutoAlign (BOOL onOff)
 
virtual void SetBoneFreezeLen (BOOL onOff)
 
virtual void SetBoneScaleType (int which)
 
virtual void SetBoneAxis (int which)
 
virtual void SetBoneAxisFlip (BOOL onOff)
 
virtual BOOL GetBoneNodeOnOff ()
 
virtual BOOL GetBoneNodeOnOff_T (TimeValue t)
 
virtual BOOL GetBoneAutoAlign ()
 
virtual BOOL GetBoneFreezeLen ()
 
virtual int GetBoneScaleType ()
 
virtual int GetBoneAxis ()
 
virtual BOOL GetBoneAxisFlip ()
 
virtual void RealignBoneToChild (TimeValue t)
 
virtual void ResetBoneStretch (TimeValue t)
 
virtual Matrix3 GetStretchTM (TimeValue t, Interval *valid=NULL)
 
virtual bool WasLoadedByLastMerge () const
 
- Public Member Functions inherited from ReferenceTarget
CoreExport void GetClassName (MSTR &s, bool localized=true) const override
 Retrieves the name of the plugin class.
 
CoreExport SClass_ID SuperClassID () override
 Retrieves a constant representing the type of the plugin.
 
BOOL IsRefTarget () override
 Checks if this is a ReferenceTarget.
 
CoreExport RefResult TestForLoop (const Interval &refInterval, RefMakerHandle hmaker)
 Tests for a cyclical reference.
 
CoreExport BOOL HasDependents ()
 Checks if a ReferenceTarget has references.
 
CoreExport BOOL HasRealDependents ()
 Checks if this has Real (Strong) Dependents.
 
void BeginDependencyTest ()
 Starts Dependency Test.
 
BOOL EndDependencyTest ()
 Ends Dependency Test.
 
virtual void RefAdded (RefMakerHandle rm)
 Called after a reference is made to a target.
 
virtual void RefAddedUndoRedo (RefMakerHandle rm)
 Called after a reference is made to a target because of undo or redo.
 
 __declspec (deprecated) virtual void RefDeleted() final
 
virtual void RefDeleted (ReferenceMaker *oldOwner)
 Called after a reference to this is deleted.
 
 __declspec (deprecated) virtual void RefDeletedUndoRedo() final
 
virtual void RefDeletedUndoRedo (RefMakerHandle oldOwner)
 Called after a reference to this is deleted because of undo or redo.
 
CoreExport RefResult DeleteAllRefsToMe () override
 Deletes all references to this ReferenceTarget.
 
CoreExport RefResult TransferReferences (RefTargetHandle oldTarget, BOOL delOld=FALSE)
 Transfers all the references from oldTarget to this.
 
CoreExport int DoEnumDependents (DependentEnumProc *dep)
 Begins an enumeration that searches back in the dependency network.
 
virtual CoreExport RefTargetHandle Clone (RemapDir &remap)
 This method is used by 3ds Max to clone an object.
 
virtual CoreExport void BaseClone (ReferenceTarget *from, ReferenceTarget *to, RemapDir &remap)
 This method copies base class data from an object to its clone.
 
CoreExport RefResult NotifyDependents (const Interval &changeInt, PartID partID, RefMessage message, SClass_ID sclass=NOTIFY_ALL, BOOL propagate=TRUE, RefTargetHandle hTarg=nullptr, NotifyDependentsOption notifyDependentsOption=REFNOTIFY_ALLOW_OPTIMIZATIONS) override
 Notify all dependent RefMakers concerned with the message.
 
void FlagDependents (TimeValue t, PartID which=PART_PUT_IN_FG)
 This sends the REFMSG_FLAGDEPENDENTS message up the pipeline.
 
virtual void NotifyForeground (TimeValue t)
 This method is called to flag dependents into the FG.
 
virtual void NotifyTarget (int message, ReferenceMaker *hMaker)
 Sends messages to ReferenceTargets.
 
CoreExport ReferenceTarget ()
 Constructor.
 
virtual CoreExport RefResult AutoDelete ()
 Deletes the object when it has no more real dependents.
 
CoreExport RefResult MaybeAutoDelete ()
 Deletes the object when it has no more real dependents.
 
- Public Member Functions inherited from ReferenceMaker
void GetClassName (MSTR &s, bool localized=true) const override
 Retrieves the name of the plugin class.
 
CoreExport SClass_ID SuperClassID () override
 Retrieves a constant representing the type of the plugin.
 
CoreExport RefResult ReplaceReference (int which, RefTargetHandle newtarg, BOOL delOld=TRUE)
 Used when cloning reference makers.
 
CoreExport RefResult DeleteAllRefsFromMe ()
 Deletes all references from this ReferenceMaker.
 
CoreExport RefResult DeleteAllRefs ()
 Deletes all references both to and from this item.
 
CoreExport RefResult DeleteReference (int i)
 Deletes the specified reference.
 
virtual BOOL CanTransferReference (int i)
 Tells whether this reference can be transfered.
 
CoreExport ReferenceSaveManagerGetReferenceSaveManager ()
 Access the ReferenceSaveManager of this ReferenceMaker.
 
virtual CoreExport IOResult Save (ISave *isave)
 Called for saving data.
 
virtual CoreExport IOResult Save (ISave *isave, ChannelMask)
 Access the ReferenceSaveManager of this ReferenceMaker.
 
virtual CoreExport IOResult Load (ILoad *iload)
 Called for loading data.
 
virtual CoreExport IOResult Load (ILoad *iload, ChannelMask)
 Access the ReferenceSaveManager of this ReferenceMaker.
 
virtual int RemapRefOnLoad (int iref)
 Used to load old files with references.
 
virtual CoreExport void RescaleWorldUnits (float f)
 Rescale size of all world units in reference hierarchy.
 
CoreExport void EnumAuxFiles (AssetEnumCallback &assetEnum, DWORD flags) override
 Enumerate auxiliary files (e.g. bitmaps)
 
virtual CoreExport void SaveEnum (SaveEnumProc &sep, BOOL isNodeCall=0)
 The default save enumeration.
 
virtual CoreExport bool SpecifySaveReferences (ReferenceSaveManager &referenceSaveManager)
 Used to specify reference slot remapping during scene file save.
 
CoreExport int DoEnumDependents (DependentEnumProc *dep)
 Begins an enumeration that searches back in the dependency network.
 
CoreExport bool EnumRefHierarchy (RefEnumProc &proc, bool includeCustAttribs=true, bool includeIndirectRefs=true, bool includeNonPersistentRefs=true, bool preventDuplicatesViaFlag=true)
 This method provides a general purpose reference enumerator.
 
CoreExport int FindRef (RefTargetHandle rtarg)
 Get the index of the ReferenceTarget.
 
BOOL IsRefMaker () override
 Tells whether it is a ReferenceMaker.
 
virtual BOOL IsRealDependency (ReferenceTarget *rtarg)
 Returns whether this is a "real" (strong) dependency or not.
 
virtual BOOL ShouldPersistWeakRef (RefTargetHandle rtarg)
 Specifies whether a weak reference is to be persisted on a partial load or save.
 
CoreExport ReferenceMaker ()
 Constructor.
 
CoreExport void DeleteMe ()
 Deletes an instance of this class.
 
virtual CoreExport int NumRefs ()
 Returns the total number of references this ReferenceMaker can hold.
 
virtual CoreExport RefTargetHandle GetReference (int i)
 Returns the 'i-th' reference.
 
- Public Member Functions inherited from Animatable
virtual void FreeCaches ()
 
virtual int NumChildren ()
 
virtual AnimatableChildAnim (int i)
 
virtual CoreExport MSTR NodeName ()
 
virtual void EditTrack ()
 
virtual CoreExport BOOL SubAnimSetKeyBufferPresent (int subNum)
 returns true if the sub-anim has a "Set Key" buffer present
 
virtual BOOL SetKeyBufferPresent ()
 returns true if there is a "Set Key" buffer present
 
virtual CoreExport void SubAnimCommitSetKeyBuffer (TimeValue t, int subNum)
 Commit any "Set Key" buffers on the given sub-anim.
 
virtual void CommitSetKeyBuffer (TimeValue t)
 Commit any "Set Key" buffers.
 
virtual CoreExport void SubAnimRevertSetKeyBuffer (int subNum)
 Revert any "Set Key" buffers on the given sub-anim.
 
virtual void RevertSetKeyBuffer ()
 Revert any "Set Key" buffers.
 
virtual LRESULT CALLBACK TrackViewWinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 This function is obsolete.
 
virtual BOOL IsRefMaker ()
 Tells whether it is a ReferenceMaker.
 
virtual bool IsParamBlockDesc2Used (ParamBlockDesc2 *desc)
 Returns true if the passed description is being used.
 
virtual bool GetMacroRecorderName (bool used_as_rhs_value, MSTR &objectSpecifiedName)
 This method is called to access the object specified name to use for the Maxscript macrorecorder.
 
CoreExport Animatable ()
 Constructor.
 
virtual CoreExport void DeleteThis ()
 Deletes an instance of this class.
 
MSTR ClassName (bool localized=true) const
 Returns the name of the plugin class.
 
virtual CoreExport Class_ID ClassID ()
 Retrieves a constant that uniquely identifies the plugin class.
 
virtual void BeginEditParams (IObjParam *ip, ULONG flags, Animatable *prev=NULL)
 
virtual void EndEditParams (IObjParam *ip, ULONG flags, Animatable *next=NULL)
 
virtual CoreExport void ReleaseInterface (ULONG id, void *i)
 
virtual CoreExport int SetProperty (ULONG id, void *data)
 
virtual CoreExport voidGetProperty (ULONG id)
 
CoreExport void AppendProperty (AnimProperty *prop)
 A function to directly add arbitrary properties to this object developers should ensure that the properties ID does not conflict with any Max-specific IDs.
 
CoreExport AnimPropertyFindProperty (DWORD id)
 Find any property.
 
CoreExport void AddAppDataChunk (const Class_ID &cid, SClass_ID sid, DWORD sbid, DWORD len, void *data)
 Adds application/plugin specific (custom) data to an Animatable.
 
CoreExport AppDataChunkGetAppDataChunk (const Class_ID &cid, SClass_ID sid, DWORD sbid)
 Retrieves the application/plugin specific (custom) data stored with an Animatable.
 
CoreExport BOOL RemoveAppDataChunk (const Class_ID &cid, SClass_ID sid, DWORD sbid)
 Deletes the application/plugin specific (custom) data stored with an Animatable.
 
CoreExport void ClearAllAppData ()
 Deletes all application/plugin specific (custom) data stored with an Animatable.
 
virtual int NumSubs ()
 
virtual AnimatableSubAnim (int i)
 
 __declspec (deprecated) virtual MSTR SubAnimName(int i) MAX_SEALED
 
virtual CoreExport MSTR SubAnimName (int i, bool localized)
 
virtual BOOL CanDeleteSubAnim (int i)
 
virtual void DeleteSubAnim (int i)
 
virtual DWORD GetSubAnimCurveColor (int subNum)
 
virtual int SubNumToRefNum (int subNum)
 
virtual BOOL CanCopyAnim ()
 
CoreExport int HasSubElements (int type=0)
 
virtual int GetSubFCurveExtents (int subNum, ParamDimensionBase *dim, float &min, float &max, DWORD flags)
 The values max and min should be initialized before calling this function.
 
virtual ParamDimensionGetParamDimension (int i)
 
virtual BOOL SelectSubAnim (int subNum)
 
virtual BOOL BypassTreeView ()
 
virtual BOOL BypassTrackBar ()
 
virtual BOOL BypassPropertyLevel ()
 
virtual BOOL InvisibleProperty ()
 
virtual int NumKeys ()
 
virtual TimeValue GetKeyTime (int index)
 
virtual int GetKeyIndex (TimeValue t)
 
virtual BOOL GetNextKeyTime (TimeValue t, DWORD flags, TimeValue &nt)
 
virtual void CopyKeysFromTime (TimeValue src, TimeValue dst, DWORD flags)
 
virtual void DeleteKeyAtTime (TimeValue t)
 
virtual BOOL IsKeyAtTime (TimeValue t, DWORD flags)
 
virtual int GetKeyTimes (Tab< TimeValue > &times, Interval range, DWORD flags)
 
virtual int GetKeySelState (BitArray &sel, Interval range, DWORD flags)
 
CoreExport void OpenTreeEntry (int type, DWORD tv)
 
CoreExport void CloseTreeEntry (int type, DWORD tv)
 
CoreExport int IsTreeEntryOpen (int type, DWORD tv)
 
CoreExport BOOL GetSelInTrackView (DWORD tv)
 
CoreExport void SetSelInTrackView (DWORD tv, BOOL sel)
 
CoreExport BOOL InTrackViewSelSet (int which)
 
CoreExport void SetTrackViewSelSet (int which, BOOL inOut)
 
virtual BOOL AssignController (Animatable *control, int subAnim)
 
virtual BOOL CanAssignController (int subAnim)
 Return true if we can reassign the subanim specified.
 
virtual BOOL CanMakeUnique ()
 
CoreExport int EnumAnimTree (AnimEnum *animEnum, Animatable *client, int subNum)
 
virtual int RenderBegin (TimeValue t, ULONG flags=0)
 
virtual int RenderEnd (TimeValue t)
 
virtual CoreExport Interval GetTimeRange (DWORD flags)
 
virtual void EditTimeRange (Interval range, DWORD flags)
 
virtual void DeleteTime (Interval iv, DWORD flags)
 
virtual void ReverseTime (Interval iv, DWORD flags)
 
virtual void ScaleTime (Interval iv, float s)
 
virtual void InsertTime (TimeValue ins, TimeValue amount)
 
virtual BOOL SupportTimeOperations ()
 
virtual CoreExport void MapKeys (TimeMap *map, DWORD flags)
 
virtual void DeleteKeys (DWORD flags)
 
virtual void DeleteKeyByIndex (int index)
 
virtual void SelectKeys (TrackHitTab &sel, DWORD flags)
 
virtual void SelectSubKeys (int subNum, TrackHitTab &sel, DWORD flags)
 
virtual void SelectSubCurve (int subNum, BOOL sel)
 
virtual void SelectKeyByIndex (int i, BOOL sel)
 
virtual BOOL IsKeySelected (int i)
 
virtual void FlagKey (TrackHitRecord hit)
 
virtual int GetFlagKeyIndex ()
 
virtual int NumSelKeys ()
 
virtual void CloneSelectedKeys (BOOL offset=FALSE)
 
virtual void AddNewKey (TimeValue t, DWORD flags)
 
virtual void MoveKeys (ParamDimensionBase *dim, float delta, DWORD flags)
 
virtual void ScaleKeyValues (ParamDimensionBase *dim, float origin, float scale, DWORD flags)
 
virtual void SelectCurve (BOOL sel)
 
virtual BOOL IsCurveSelected ()
 Returns TRUE if the function curve is selected; otherwise returns FALSE.
 
virtual BOOL IsSubCurveSelected (int subNum)
 Returns the selected state of the sub-curve whose index is passed.
 
virtual int GetSelKeyCoords (TimeValue &t, float &val, DWORD flags)
 
virtual void SetSelKeyCoords (TimeValue t, float val, DWORD flags)
 
virtual int SetSelKeyCoordsExpr (ParamDimension *dim, const MCHAR *timeExpr, const MCHAR *valExpr, DWORD flags)
 
virtual void AdjustTangents (TrackHitRecord hit, ParamDimensionBase *dim, Rect &rcGraph, float tzoom, int tscroll, float vzoom, int vscroll, int dx, int dy, DWORD flags)
 
virtual void AdjustTangents (TrackHitRecord hit, ParamDimensionBase *dim, float angle, float length, DWORD flags)
 
virtual CoreExport BOOL IsAnimated ()
 
virtual BOOL CanCopyTrack (Interval iv, DWORD flags)
 
virtual BOOL CanPasteTrack (TrackClipObject *cobj, Interval iv, DWORD flags)
 
virtual TrackClipObjectCopyTrack (Interval iv, DWORD flags)
 
virtual void PasteTrack (TrackClipObject *cobj, Interval iv, DWORD flags)
 
virtual BOOL CanCopySubTrack (int subNum, Interval iv, DWORD flags)
 
virtual BOOL CanPasteSubTrack (int subNum, TrackClipObject *cobj, Interval iv, DWORD flags)
 
virtual TrackClipObjectCopySubTrack (int subNum, Interval iv, DWORD flags)
 
virtual void PasteSubTrack (int subNum, TrackClipObject *cobj, Interval iv, DWORD flags)
 
virtual int GetTrackVSpace (int lineHeight)
 
virtual int HitTestTrack (TrackHitTab &hits, Rect &rcHit, Rect &rcTrack, float zoom, int scroll, DWORD flags)
 
virtual int PaintTrack (ParamDimensionBase *dim, HDC hdc, Rect &rcTrack, Rect &rcPaint, float zoom, int scroll, DWORD flags)
 
virtual int PaintSubTrack (int subNum, ParamDimensionBase *dim, HDC hdc, Rect &rcTrack, Rect &rcPaint, float zoom, int scroll, DWORD flags)
 
virtual int PaintFCurves (ParamDimensionBase *dim, HDC hdc, Rect &rcGraph, Rect &rcPaint, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
 
virtual int HitTestFCurves (ParamDimensionBase *dim, TrackHitTab &hits, Rect &rcHit, Rect &rcGraph, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
 
virtual int PaintSubFCurves (int subNum, ParamDimensionBase *dim, HDC hdc, Rect &rcGraph, Rect &rcPaint, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
 
virtual int HitTestSubFCurves (int subNum, ParamDimensionBase *dim, TrackHitTab &hits, Rect &rcHit, Rect &rcGraph, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
 
virtual void EditTrackParams (TimeValue t, ParamDimensionBase *dim, const MCHAR *pname, HWND hParent, IObjParam *ip, DWORD flags)
 
virtual int TrackParamsType ()
 
virtual int GetFCurveExtents (ParamDimensionBase *dim, float &min, float &max, DWORD flags)
 This method is called to calculate the largest and smallest values of the anim.
 
CoreExport void AddNoteTrack (NoteTrack *note)
 
CoreExport void DeleteNoteTrack (NoteTrack *note, BOOL delNote=TRUE)
 
CoreExport BOOL HasNoteTracks ()
 
CoreExport int NumNoteTracks ()
 
CoreExport NoteTrackGetNoteTrack (int i)
 
virtual void FreeAllBitmaps ()
 
virtual void GetSystemNodes (INodeTab &nodes, SysNodeContext Context)
 
virtual BOOL IsSubClassOf (Class_ID classID)
 returns true if the animatable has sub-classed off the given class
 
virtual CoreExport void MouseCycleCompleted (TimeValue t)
 
virtual CoreExport void MouseCycleStarted (TimeValue t)
 
virtual int NumParamBlocks ()
 
virtual IParamBlock2GetParamBlock (int i)
 
virtual IParamBlock2GetParamBlockByID (short id)
 
CoreExport bool SvSaveData (ISave *isave, USHORT id)
 
CoreExport bool SvLoadData (ILoad *iLoad)
 
CoreExport DWORD SvGetRefIndex ()
 
CoreExport void SvSetRefIndex (DWORD i)
 
CoreExport bool SvDeleteRefIndex ()
 
virtual CoreExport SvGraphNodeReference SvTraverseAnimGraph (IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags)
 
CoreExport SvGraphNodeReference SvStdTraverseAnimGraph (IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags)
 
virtual CoreExport bool SvCanInitiateLink (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvCanConcludeLink (IGraphObjectManager *gom, IGraphNode *gNode, IGraphNode *gNodeChild)
 
virtual CoreExport MSTR SvGetName (IGraphObjectManager *gom, IGraphNode *gNode, bool isBeingEdited)
 
virtual CoreExport bool SvCanSetName (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvSetName (IGraphObjectManager *gom, IGraphNode *gNode, const MSTR &name)
 
virtual CoreExport bool SvCanRemoveThis (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvRemoveThis (IGraphObjectManager *gom, IGraphNode *gNode)
 Called when the user deletes this object in the schematic view...
 
virtual CoreExport bool SvIsSelected (IGraphObjectManager *gom, IGraphNode *gNode)
 Returns true if the object is selected in its schematic view.
 
virtual CoreExport bool SvIsHighlighted (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport COLORREF SvHighlightColor (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport COLORREF SvGetSwatchColor (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvIsInactive (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvLinkChild (IGraphObjectManager *gom, IGraphNode *gNodeThis, IGraphNode *gNodeChild)
 
virtual CoreExport bool SvHandleDoubleClick (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport MultiSelectCallbackSvGetMultiSelectCallback (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvCanSelect (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvEditProperties (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport MSTR SvGetTip (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport MSTR SvGetRefTip (IGraphObjectManager *gom, IGraphNode *gNode, IGraphNode *gNodeMaker)
 
virtual CoreExport bool SvCanDetach (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport bool SvDetach (IGraphObjectManager *gom, IGraphNode *gNode)
 
virtual CoreExport MSTR SvGetRelTip (IGraphObjectManager *gom, IGraphNode *gNodeTarget, int id, IGraphNode *gNodeMaker)
 Returns a string to be displayed in the tip window in the schematic view for a relationship from "gNodeMaker" to "gNodeTarget"...
 
virtual CoreExport bool SvCanDetachRel (IGraphObjectManager *gom, IGraphNode *gNodeTarget, int id, IGraphNode *gNodeMaker)
 Returns true if this object can respond to the SvDetachRel(...) method...
 
virtual CoreExport bool SvDetachRel (IGraphObjectManager *gom, IGraphNode *gNodeTarget, int id, IGraphNode *gNodeMaker)
 Detach this relationship.
 
virtual CoreExport bool SvHandleRelDoubleClick (IGraphObjectManager *gom, IGraphNode *gNodeTarget, int id, IGraphNode *gNodeMaker)
 Called when this relationship is double-clicked in the schematic view...
 
CoreExport ICustAttribContainerGetCustAttribContainer ()
 This method returns a pointer to the custom attributes container interface class.
 
CoreExport void AllocCustAttribContainer ()
 This method allocates space for a custom attributes container.
 
CoreExport void DeleteCustAttribContainer ()
 This method deletes space used by a custom attributes container.
 
void SetAFlag (DWORD mask)
 
void ClearAFlag (DWORD mask)
 Clears one or more bits in the Animatable flags.
 
bool TestAFlag (DWORD mask) const
 Tests one or more bits in the Animatable flags.
 
void SetAFlagEx (DWORD mask)
 Sets one or more bits in the Animatable extended flags.
 
void ClearAFlagEx (DWORD mask)
 Clears one or more bits in the Animatable extended flags.
 
bool TestAFlagEx (DWORD mask) const
 Tests one or more bits in the Animatable extended flags.
 
CoreExport bool TestFlagBit (int index)
 Tests the specified flag bit.
 
CoreExport void SetFlagBit (int index, bool newValue=true)
 Sets the specified flag bit.
 
CoreExport void ClearFlagBit (int index)
 Clears the specified flag bit.
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor.
 
virtual UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDesc ()=0
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor.
 
UtilExport BaseInterfaceGetInterface (Interface_ID id) override
 
virtual UtilExport Interface_ID GetID ()
 
virtual LifetimeType LifetimeControl ()
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 

Public Attributes

INodenode
 
Matrix3 tm
 
BOOL deleteMe
 

Additional Inherited Members

- Public Types inherited from INode
enum  {
  getPosTaskWeight , getRotTaskWeight , setPosTaskWeight , setRotTaskWeight ,
  setBoneNodeOnOff , setBoneNodeOnOffM , setBoneAutoAlign , setBoneFreezeLen ,
  setBoneScaleType , getBoneNodeOnOff , getBoneAutoAlign , getBoneFreezeLen ,
  getBoneScaleType , realignBoneToChild , resetBoneStretch , getStretchTM ,
  getBoneAxis , getBoneAxisFlip , setBoneAxis , setBoneAxisFlip ,
  setPrimaryVisibility , getPrimaryVisibility , setSecondaryVisibility , getSecondaryVisibility ,
  setApplyAtmospherics , getApplyAtmospherics , getVertexColorType , setVertexColorType ,
  getCVertMode , setCVertMode , getShadeCVerts , setShadeCVerts ,
  getNodeHandle , getVertexColorMapChannel , setVertexColorMapChannel , isSceneXRefNode ,
  kLastFPFuncID
}
 
enum  { boneScaleTypeEnum , boneAxisEnum , vertexColorTypeEnum }
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- Static Public Member Functions inherited from Animatable
static CoreExport BOOL IsDeleted (Animatable *anim)
 Debug method to determine whether an object has been deleted.
 
static CoreExport AnimHandle GetHandleByAnim (Animatable *anim)
 Get the unique handle for an Animatable object.
 
static CoreExport AnimatableGetAnimByHandle (AnimHandle handle)
 Get an Animatable object from its unique handle.
 
static CoreExport AnimHandle GetNextHandle ()
 Get the unique handle for the next Animatable object to be created.
 
static CoreExport void EnumerateAllAnimatables (EnumAnimList &enumProcObject)
 Enumerator to enumerate across all animatables.
 
static CoreExport bool RegisterAppDataLoadCallback (const Class_ID &cid, SClass_ID sid, APPDATALOADPROC proc)
 Registers a callback proc that is called when an AppDataChunk is read from a scene file.
 
static CoreExport bool UnRegisterAppDataLoadCallback (const Class_ID &cid, SClass_ID sid, APPDATALOADPROC proc)
 Unregisters a callback proc that is called when an AppDataChunk is read from a scene file.
 
static CoreExport bool RegisterAppDataLoadCallback (DWORD sbid, APPDATALOADPROC proc)
 Registers a callback proc that is called when an AppDataChunk is read from a scene file.
 
static CoreExport bool UnRegisterAppDataLoadCallback (DWORD sbid, APPDATALOADPROC proc)
 Unregisters a callback proc that is called when an AppDataChunk is read from a scene file.
 
static CoreExport void ClearAFlagInAllAnimatables (DWORD mask)
 Clears one or more bits in the Animatable flags in all Animatables.
 
static CoreExport void ClearAFlagExInAllAnimatables (DWORD mask)
 Clears one or more bits in the Animatable extended flags in all Animatables.
 
static CoreExport int RequestFlagBit ()
 Requests an unique flag bit index.
 
static CoreExport void ReleaseFlagBit (int index)
 Releases the flag bit index.
 
static CoreExport void ClearFlagBitInAllAnimatables (int index)
 Clears the specified flag bit in all Animatables.
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 
- Static Public Attributes inherited from INode
static constexpr Interface_ID ID = INODE_INTERFACE
 
static const ULONG kNullHandle = 0
 This represents the value of an invalid node handle.
 
- Static Public Attributes inherited from Animatable
static const AnimHandle kInvalidAnimHandle = 0
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from ReferenceTarget
CoreExport int DoEnumDependentsImpl (DependentEnumProc *dep) override
 Method to perform an enumeration on a ReferenceTarget.
 
virtual CoreExport ~ReferenceTarget ()=0
 Destructor.
 
- Protected Member Functions inherited from ReferenceMaker
virtual CoreExport ~ReferenceMaker ()=0
 Destructor.
 
virtual CoreExport void SetReference (int i, RefTargetHandle rtarg)
 Stores a ReferenceTarget as its 'i-th' reference`.
 
void BlockEval ()
 Validates a given reference link between this reference maker and its reference target.
 
void UnblockEval ()
 Validates a given reference link between this reference maker and its reference target.
 
int Evaluating ()
 Validates a given reference link between this reference maker and its reference target.
 
CoreExport RefResult StdNotifyRefChanged (const Interval &changeInt, RefTargetHandle hTarget, PartID partID, RefMessage message, BOOL propagate, NotifyDependentsOption notifyDependentsOption)
 Validates a given reference link between this reference maker and its reference target.
 
- Protected Member Functions inherited from Animatable
virtual CoreExport ~Animatable ()=0
 Destructor.
 
- Protected Member Functions inherited from Noncopyable
 Noncopyable ()
 
 ~Noncopyable ()
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from Animatable
DWORD aflag
 
AnimPropertyList aprops
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

See also
Class INode, Modifier Stack Branching
Description:
This class provides a layer that will add in a transformation to the node's objectTM. Most methods pass through to the INode, except for the objectTM methods which pre-multiply in the given matrix. The methods of this class are the same as INode. See Class INode for details. Specifically see the methods related to INodeTransformed in INode - INodeTransformed methods. All methods of this class are implemented by the system.
Data Members:
INode *node;

The original INode pointer.

Matrix3 tm;

The additional transformation.

BOOL deleteMe;

If set to FALSE this INodeTransformed will not get deleted. This may be used if the object is not allocated dynamically. If you create an INodeTransformed on the stack you'll want to set deleteMe to FALSE.

Constructor & Destructor Documentation

◆ INodeTransformed()

INodeTransformed ( INode n,
Matrix3  tm,
BOOL  dm = TRUE 
)
inline
1926{node = n;this->tm = tm;deleteMe = dm;}
INode * node
Definition: inode.h:1922
Matrix3 tm
Definition: inode.h:1923
BOOL deleteMe
Definition: inode.h:1924

Member Function Documentation

◆ DisposeTemporary()

void DisposeTemporary ( )
inlinevirtual
Remarks
Deletes this INodeTransformed.

Reimplemented from INode.

virtual void DisposeTemporary()
Definition: inode.h:74
CoreExport void DeleteINodeTransformed(INodeTransformed *n)

◆ GetActualINode()

INode * GetActualINode ( )
inlinevirtual
Remarks
Returns the actual INode pointer of this INodeTransformed.

These functions are not part of this class but are available for use:

INodeTransformed can be allocated on the stack, but if you need to create one dynamically, use these methods to create and delete them.

Reimplemented from INode.

1936{return node->GetActualINode();}
virtual INode * GetActualINode()
Definition: inode.h:83

◆ GetName()

const MCHAR * GetName ( )
inlinevirtual
Remarks
Returns the name of the node.

Implements INode.

1938{return node->GetName();}
virtual const MCHAR * GetName()=0

◆ SetName()

void SetName ( const MCHAR s)
inlinevirtual
Remarks
Sets the name of the node.
Parameters
sThe name of the node.

Implements INode.

1939{node->SetName(s);}
virtual void SetName(const MCHAR *s)=0

◆ GetNodeTM()

Matrix3 GetNodeTM ( TimeValue  t,
Interval valid = NULL 
)
inlinevirtual
Remarks
This method returns the world space transformation matrix of the node at the specified time. This matrix contains its parents transformation. This matrix does not include the object-offset transformation, or any world space modifier (Space Warp) affects. If you select a single node and change the reference coordinate system to 'Local', you'll see the node's axes tripod displayed. This tripod graphically depicts the nodes transformation matrix. The Node TM may be considered the world space transformation as far as kinematics is concerned. This is almost the complete world space transformation as far as the geometry of the object is concerned, except it does not include the object-offset transformation. See the method INode::GetObjectTM() for the complete world space transformation of the geometry of the object. The Node TM is inherited. When a node asks to retrieve its parents TM, it gets its parents Node TM. It does not get its parents Object TM. The object-offset transformation is not inherited.
Example
//Get the current position for the purpose of computing the next frame
//This function checks to see whether or not the node is a delegate, in which
//case the GetTM function is called.
static Matrix3 GetCurrentMatrix(INode *node, TimeValue t)
{
if (o->ClassID() == DELEG_CLASSID)
{
if (cd->IsComputing())
return cd->GetTM(node,t);
}
return node->GetNodeTM(t);
}
virtual CoreExport Class_ID ClassID()
Retrieves a constant that uniquely identifies the plugin class.
An interface class to the delegate.
Definition: delegexp.h:66
virtual DELEGexport BOOL IsComputing()
Queries whether the delegate is currently active in a running crowd simulation.
Definition: delegexp.h:224
virtual DELEGexport Matrix3 GetTM(INode *node, TimeValue t)
This function should be used instead of calling GetNodeTM during a simulation loop.
Definition: delegexp.h:154
Definition: inode.h:55
virtual Object * GetObjectRef()=0
virtual Matrix3 GetNodeTM(TimeValue t, Interval *valid=NULL)=0
Definition: matrix3.h:99
The object class is the base class for all objects.
Definition: object.h:1431
CoreExport void * GetInterface(ULONG id) override
#define I_DELEGINTERFACE
Definition: delegexp.h:31
#define DELEG_CLASSID
Definition: delegexp.h:35
int TimeValue
Definition: maxtypes.h:31
Parameters
tSpecifies the time to retrieve the TM.
validPoints to storage for the validity interval of the transformation matrix. The interval, if passed, is intersected with the validity interval of the NodeTM.
Returns
The node's world space transform matrix.

Implements INode.

1940{return node->GetNodeTM(t,valid);}

◆ SetNodeTM()

void SetNodeTM ( TimeValue  t,
const Matrix3 tm 
)
inlineoverridevirtual
Remarks
This methods sets the node's world space transformation matrix (without the object-offset transformation or world space modifier affect). This method will perform the appropriate operation to the node's transform controller. For example, if the node has a parent, this method will take the parent's transformation into consideration when it calls SetValue() on the controller. This method can be used to set the world space position of the node.
Example
void MyArcDlgCB::Drag(Quat q, BOOL buttonUp) {
MakeMatrix(qstart*q, tm);
node->SetNodeTM(ip->GetTime(), tm);
ip->RedrawViews(ip->GetTime());
}
virtual void SetNodeTM(TimeValue t, const Matrix3 &tm)=0
Definition: quat.h:172
Parameters
tSpecifies the time to set the transformation matrix.
tmThe node's world space transformation matrix.

Implements INode.

1941{ node->SetNodeTM(t, m); }

◆ InvalidateTreeTM()

void InvalidateTreeTM ( )
inlinevirtual
Remarks
This method will notify the node's subtree that the transformation matrix has changed. NotifyDependents() is called with the message REFMSG_CHANGE.

Implements INode.

virtual void InvalidateTreeTM()=0

◆ InvalidateTM()

void InvalidateTM ( )
inlinevirtual
Remarks
This method will invalidate the node's transformation matrix cache.

Implements INode.

1943{node->InvalidateTM();}
virtual void InvalidateTM()=0

◆ InvalidateWS()

void InvalidateWS ( )
inlinevirtual
Remarks
This method will invalidate the node's world space cache.

Implements INode.

1944{node->InvalidateWS();}
virtual void InvalidateWS()=0

◆ InvalidateRect()

void InvalidateRect ( TimeValue  t,
bool  oldRect 
)
inlinevirtual
Remarks
This method invalidates the rectangle in the viewports that the node occupies. Rectangles flagged as invalid will be updated on the next screen redraw. Each node caches the rectangle in the viewports that the node occupies. These caches are updated when the node is drawn in the viewports.
Example
DisplayState BendManip::MouseEntersObject(TimeValue t, ViewExp* /*pVpt*/, IPoint2& m, ManipHitData* pHitData)
{
mousePos = m;
mouseWithin = TRUE;
}
virtual void InvalidateRect(TimeValue t, bool oldRect=false)=0
Definition: ipoint2.h:30
This is a special storage class for hit records that keep track of which manipulator was hit.
Definition: manipulator.h:1877
Definition: maxapi.h:795
DisplayState
Definition: manipulator.h:30
@ kFullRedrawNeeded
Definition: manipulator.h:30
Parameters
t- The time to invalidate the node's rectangle
oldRect- If true, the cached viewport rectangles of the node are invalidated. This would be the case when a node property that doesn't affect the size or position of the node's viewport rectangles, such as wireframe color, is changed. Otherwise, the node's current rectangle in each viewport is invalidated. If the node's world space cache is not valid, the node's world state at time t will be evaluated, from which its current viewport rectangles are calculated.

Implements INode.

1945{ node->InvalidateRect(t,oldRect); }

◆ GetObjectTM()

Matrix3 GetObjectTM ( TimeValue  time,
Interval valid = NULL 
)
inlinevirtual
Remarks
This method returns the transformation matrix the object needs to be multiplied by to transform it into world space. At times, this matrix may be the identity. For example, a deformable object that has a Space Warp applied to it would already have been translated into world space by the space warp. Since the object is already in world space the matrix needed to get it there is the identity. This matrix would not be the identity for a deformable object with only object space modifiers applied. This object would indeed need to be transformed. In this case the TM returned would include the NodeTM plus the object-offset transformation. So, GetObjectTM() is dependent on the context when it is called – it will either be equal to GetObjTMAfterWSM() or GetObjTMBeforeWSM(). Developers should use GetObjTMBeforeWSM() if what is wanted is the object TM and not the identity matrix. For non-deformable objects this matrix may include the NodeTM, the object-offset transformation and the world space modifier affect. This matrix could be used, for example, if you have a TriObject and wanted to get the world space coordinate of one of its vertices. You could do this by taking the vertex coordinate in object space and multiplying it by the matrix returned from this method. This matrix is also often used inside an object's Display() and HitTest() methods. When an object goes to draw itself (in its BaseObject::Display() method) it is given a node pointer. What the object normally does is use the node pointer and calls GetObjectTM(). It then takes the matrix returned and sets it into the graphics window (using GraphicsWindow::setTransform()). In this way, when the object starts drawing points in object space, they will be transformed with this matrix. This will transform the points into world space when they are drawn. The Object TM is not inherited.
Parameters
timeSpecifies the time to retrieve the object's transform matrix.
validPoints to storage for the validity interval of the transformation matrix.
Returns
The object's transformation matrix.

Implements INode.

1946{return tm*node->GetObjectTM(time,valid);}
virtual Matrix3 GetObjectTM(TimeValue time, Interval *valid=NULL)=0

◆ GetObjTMBeforeWSM()

Matrix3 GetObjTMBeforeWSM ( TimeValue  time,
Interval valid = NULL 
)
inlinevirtual
Remarks
This method explicitly retrieves the pipeline ObjectState TM before any world space modifiers have been applied. This includes the node's TM and the object-offset transformation (but not any world space modifier affect). See the section on the Geometry Pipeline System for additional details on this method.
Parameters
timeSpecifies the time to retrieve the transform matrix.
validPoints to storage for the validity interval of the transformation matrix.

Implements INode.

1947{return tm*node->GetObjTMBeforeWSM(time,valid);}
virtual Matrix3 GetObjTMBeforeWSM(TimeValue time, Interval *valid=NULL)=0

◆ GetObjTMAfterWSM()

Matrix3 GetObjTMAfterWSM ( TimeValue  time,
Interval valid = NULL 
)
inlinevirtual
Remarks
This method explicitly retrieves the pipeline ObjectState TM after any world space modifiers have been applied. This includes the Node TM, the object-offset transformation, and any world space modifier affects. In some cases a world space modifier can actually deform the TM itself if it cannot deform the object. Examples of this are cameras and lights. These objects do not have any 'object' to deform, so the space warp deforms the TM instead. See the section on the Geometry Pipeline System for additional details on this method. Note: Beware of calling this method from inside a function that performs a mesh traversal as doing so can invalidate the mesh.
Parameters
timeSpecifies the time to retrieve the object's transform matrix.
validPoints to storage for the validity interval of the transformation matrix.

Implements INode.

1948{return tm*node->GetObjTMAfterWSM(time,valid);}
virtual Matrix3 GetObjTMAfterWSM(TimeValue time, Interval *valid=NULL)=0

◆ EvalWorldState()

const ObjectState & EvalWorldState ( TimeValue  time,
BOOL  evalHidden = TRUE 
)
inlinevirtual
Remarks
This method should be called when a developer needs to work with an object that is the result of the node's pipeline. This is the object that the appears in the scene.

This may not be an object that anyone has a reference to - it may just be an object that has flowed down the pipeline. For example, if there is a Sphere in the scene that has a Bend and Taper applied, EvalWorldState() would return an ObjectState containing a TriObject. This is the result of the sphere turning into a TriObject and being bent and tapered (just as it appeared in the scene).

If a developer needs to access the object that the node in the scene references, then the method INode::GetObjectRef() should be used instead.
Parameters
timeSpecifies the time to retrieve the object state.
evalHiddenIf FALSE and the node is hidden, the pipeline will not actually be evaluated (however the TM will).
Returns
The ObjectState that is the result of the pipeline. See Class ObjectState.
// Get the object from the node
ObjectState os = node->EvalWorldState(ip->GetTime());
{
obj = (GeomObject*)os.obj;
//...
}
This is the base class for the creation of Geometric Object plug-ins.
Definition: object.h:3935
virtual const ObjectState & EvalWorldState(TimeValue time, BOOL evalHidden=TRUE)=0
The ObjectState is the structure that flows up the geometry pipeline.
Definition: object.h:287
Object * obj
Pointer to the object in the pipeline.
Definition: object.h:298
CoreExport SClass_ID SuperClassID() override
Retrieves a constant representing the type of the plugin.
#define GEOMOBJECT_CLASS_ID
Geometric object super-class ID.
Definition: plugapi.h:442
The following code shows how a TriObject can be retrieved from a node. Note on the code that if you call ConvertToType() on an object and it returns a pointer other than itself, you are responsible for deleting that object.
// Retrieve the TriObject from the node
int deleteIt;
TriObject *triObject = GetTriObjectFromNode(ip->GetSelNode(0), deleteIt);
// Use the TriObject if available
if (!triObject) return;
// ...
// Delete it when done...
if (deleteIt) triObject->DeleteMe();
// Return a pointer to a TriObject given an INode or return NULL
// if the node cannot be converted to a TriObject
TriObject *Utility::GetTriObjectFromNode(INode *node, int &deleteIt)
{
deleteIt = FALSE;
Object *obj = node->EvalWorldState(ip->GetTime()).obj;
{
TriObject *tri = (TriObject *) obj->ConvertToType(ip->GetTime(),
// Note that the TriObject should only be deleted
// if the pointer to it is not equal to the object
// pointer that called ConvertToType()
if (obj != tri) deleteIt = TRUE;
return tri;
}
else
{
return NULL;
}
}
#define NULL
Definition: autoptr.h:18
Definition: maxtypes.h:67
virtual CoreExport int CanConvertToType(Class_ID obtype)
Indicates whether the object can be converted to the specified type.
virtual CoreExport Object * ConvertToType(TimeValue t, Class_ID obtype)
This method converts this object to the type specified and returns a pointer it.
CoreExport void DeleteMe()
Deletes an instance of this class.
Definition: triobj.h:63
#define TRIOBJ_CLASS_ID
TriObject class ID.
Definition: plugapi.h:582

Implements INode.

1949{return node->EvalWorldState(time,evalHidden);}

◆ GetParentNode()

INode * GetParentNode ( )
inlinevirtual
Remarks
Retrieves the parent node of this node. If the node is not linked, its parent is the root node. This may be checked using INode::IsRootNode().
Example
static BOOL IsAncestorSelected(INode *node)
{
if (node->GetParentNode()) {
if (node->GetParentNode()->Selected()) return TRUE;
return IsAncestorSelected(node->GetParentNode());
} else {
return FALSE;
}
}
virtual int Selected()=0
virtual INode * GetParentNode()=0

Implements INode.

1950{return node->GetParentNode();}

◆ AttachChild()

void AttachChild ( INode node,
int  keepTM = 1 
)
inlinevirtual
Remarks
Makes the specified node a child of this node.
Parameters
nodeSpecifies the node to attach.
keepTMIf nonzero, the world transform matrix of the specified (child) node is unchanged after the attach operation, i.e. INode::GetNodeTM returns the same matrix both before and after the attach operation. Otherwise, the world transform of the specified (child) node is affected by the parent node's transform.

Implements INode.

1951{node->AttachChild(n,keepTM);}
virtual void AttachChild(INode *node, int keepTM=1)=0

◆ Detach()

void Detach ( TimeValue  t,
int  keepTM = 1 
)
inlinevirtual
Remarks
Detaches this node from its parent.
Parameters
tSpecifies the time at which to detach the node.
keepTMIf nonzero, the world transform matrix of the detached node is unchanged, i.e. INode::GetNodeTM returns the same matrix both before and after the detach operation. Otherwise, the world transform of the detached node may change as a result of the detach operation since the node stops inheriting its parent node's transform.
Note
The node is detached from its current parent and attached to the scene's root node.

Implements INode.

1952{node->Detach(t,keepTM);}
virtual void Detach(TimeValue t, int keepTM=1)=0

◆ NumberOfChildren()

int NumberOfChildren ( )
inlinevirtual
Remarks
Returns the number of children of this node.

Implements INode.

1953{return node->NumberOfChildren();}
virtual int NumberOfChildren()=0

◆ GetChildNode()

INode * GetChildNode ( int  i)
inlinevirtual
Remarks
Retrieves the 'i-th' child node of this node.
Parameters
iSpecifies the child node to retrieve.

Implements INode.

1954{return node->GetChildNode(i);}
virtual INode * GetChildNode(int i)=0

◆ Delete()

void Delete ( TimeValue  t,
int  keepChildPosition 
)
inlinevirtual
Remarks
This method will delete the node, handle removing it from the hierarchy, and handle undo.
Parameters
tThe time for the deletion.
keepChildPositionIf TRUE the position of any children of this node are kept the same; otherwise linked children may move due to the deletion.

Reimplemented from INode.

1955{ node->Delete(t,keepChildPosition); }
virtual void Delete(TimeValue t, int keepChildPosition)
Definition: inode.h:392

◆ Hide()

void Hide ( BOOL  onOff)
inlinevirtual

Controls the hidden state of the node in the scene.

Parameters
onOffPass TRUE to hide the node in the scene; pass FALSE to make the node visible.

Implements INode.

1956{node->Hide(onOff);}
virtual void Hide(BOOL onOff)=0
Controls the hidden state of the node in the scene.

◆ IsHidden()

int IsHidden ( DWORD  hflags = 0,
BOOL  forRenderer = FALSE 
)
inlinevirtual

Determines if the node is hidden in the scene.

Parameters
hflagsIf you pass 0, you will get the hidden state of the node. If you pass one or more of the flags shown below, the method checks the Class_ID of the node to see if it's hidden by the specified category. You may specify one or more of the following values:

HIDE_OBJECTS
HIDE_SHAPES
HIDE_LIGHTS
HIDE_CAMERAS
HIDE_HELPERS
HIDE_WSMS
HIDE_SYSTEMS
HIDE_PARTICLES
HIDE_ALL
HIDE_NONE

See the method Interface::GetHideByCategoryFlags() for how to retrieve the currently set values to use as the flags for this method.
forRendererIf true, test to see if the node is hidden for the render, else if it is hidden in the viewport
Returns
Nonzero if the node is hidden; otherwise 0.

Reimplemented from INode.

1957{return node->IsHidden(hflags,forRenderer);}
virtual int IsHidden(DWORD hflags=0, BOOL forRenderer=FALSE)
Determines if the node is hidden in the scene.
Definition: inode.h:421

◆ IsNodeHidden()

int IsNodeHidden ( BOOL  forRenderer = FALSE)
inlinevirtual

Returns nonzero if the node is hidden in any way.

This method takes into account both the node hidden attribute and the 'Hide By Category' flags.

Parameters
forRendererIf true, test to see if the node is hidden for the render, else if it is hidden in the viewport returns zero.

Reimplemented from INode.

1958{ return node->IsNodeHidden(forRenderer); }
virtual int IsNodeHidden(BOOL forRenderer=FALSE)
Returns nonzero if the node is hidden in any way.
Definition: inode.h:427

◆ Freeze()

void Freeze ( BOOL  onOff)
inlinevirtual

Controls the frozen state of the node in the scene.

A frozen node is visible but cannot be picked.

Parameters
onOffTRUE if the node should be frozen; FALSE if the node should not be frozen.

Implements INode.

1959{node->Freeze(onOff);}
virtual void Freeze(BOOL onOff)=0
Controls the frozen state of the node in the scene.

◆ IsFrozen()

int IsFrozen ( )
inlinevirtual

Determines if the node is frozen in any way in the scene.

A node can have the frozen property set, or be frozen by 'ghosting'

Returns
Nonzero if the node is frozen; otherwise 0.

Implements INode.

1960{return node->IsFrozen();}
virtual int IsFrozen()=0
Determines if the node is frozen in any way in the scene.

◆ SetShowFrozenWithMtl()

void SetShowFrozenWithMtl ( BOOL  onOff)
inlinevirtual
Remarks
This method allows you to set the NODE_SHOW_FRZN_WITH_MTL flag in the node so that the node will be displayed in a frozen state with materials applied.
Parameters
onOffTRUE to set the flag; FALSE to disable.

Implements INode.

1961{node->SetShowFrozenWithMtl(onOff);}
virtual void SetShowFrozenWithMtl(BOOL onOff)=0

◆ ShowFrozenWithMtl()

int ShowFrozenWithMtl ( )
inlinevirtual
Remarks
This method returns the state of the NODE_SHOW_FRZN_WITH_MTL flag in the node and whether it is enabled or disabled.

Implements INode.

1962{return node->ShowFrozenWithMtl();}
virtual int ShowFrozenWithMtl()=0

◆ XRayMtl()

void XRayMtl ( BOOL  onOff)
inlinevirtual

Set the X-Ray node property.

The X-Ray Material display property allows you to quickly make objects transparent. This method toggles it on or off for this node.

Parameters
onOffTRUE to use; FALSE to not use.

Implements INode.

1963{node->XRayMtl(onOff);}
virtual void XRayMtl(BOOL onOff)=0
Set the X-Ray node property.

◆ HasXRayMtl()

int HasXRayMtl ( )
inlinevirtual

Returns nonzero if the X-Ray Material display property is on for the node; otherwise zero.

Implements INode.

1964{return node->HasXRayMtl();}
virtual int HasXRayMtl()=0
Returns nonzero if the X-Ray Material display property is on for the node; otherwise zero.

◆ IgnoreExtents()

void IgnoreExtents ( BOOL  onOff)
inlinevirtual

Ignore this node during zoom extents.

Parameters
onOffIf true, Set this node to be ignored during zoom extents.

Implements INode.

1965{node->IgnoreExtents(onOff);}
virtual void IgnoreExtents(BOOL onOff)=0
Ignore this node during zoom extents.

◆ GetIgnoreExtents()

int GetIgnoreExtents ( )
inlinevirtual

Is this node ignored during zoom extents.

Returns
true if this node is to be ignored during zoom extents.

Implements INode.

1966{return node->GetIgnoreExtents();}
virtual int GetIgnoreExtents()=0
Is this node ignored during zoom extents.

◆ BoxMode()

void BoxMode ( BOOL  onOff)
inlinevirtual
Remarks
Controls if the node is displayed with a bounding box representation in the scene.
Parameters
onOffTRUE to display the node as its bounding box; FALSE for normal display.

Implements INode.

1967{node->BoxMode(onOff);}
virtual void BoxMode(BOOL onOff)=0

◆ GetBoxMode()

int GetBoxMode ( )
inlinevirtual
Remarks
Determines if the node is displayed in box mode in the scene.
Returns
Nonzero if the node is displayed in box mode; otherwise 0.

Implements INode.

1968{return node->GetBoxMode();}
virtual int GetBoxMode()=0

◆ AllEdges()

void AllEdges ( BOOL  onOff)
inlinevirtual
Remarks
Controls the display of all the edges of the node (including "hidden" ones).
Parameters
onOffTRUE to display all the node's edges; FALSE to not display "hidden" edges.

Implements INode.

1969{node->AllEdges(onOff);}
virtual void AllEdges(BOOL onOff)=0

◆ GetAllEdges()

int GetAllEdges ( )
inlinevirtual
Remarks
Determines if all the edges of the node are displayed.
Returns
Nonzero if all the edges (including "hidden" ones) are displayed; otherwise 0.

Implements INode.

1970{return node->GetAllEdges();}
virtual int GetAllEdges()=0

◆ VertTicks()

void VertTicks ( int  onOff)
inlinevirtual
Remarks
This method allows you to enable or disable the display of vertex ticks on the node.
Parameters
onOffTRUE to enable; FALSE to disable.

Implements INode.

1971{node->VertTicks(onOff);}
virtual void VertTicks(int onOff)=0

◆ GetVertTicks()

int GetVertTicks ( )
inlinevirtual
Remarks
This method returns the state of the vertex ticks display. TRUE if enabled; FALSE if disabled.

Implements INode.

1972{return node->GetVertTicks();}
virtual int GetVertTicks()=0

◆ BackCull()

void BackCull ( BOOL  onOff)
inlinevirtual
Remarks
Controls if the node is displayed using back-face culling (faces whose surface normals are pointing away from the observer are not drawn).
Parameters
onOffTRUE if the node should be drawn using back-face culling; FALSE if all faces should be drawn.

Implements INode.

1973{node->BackCull(onOff);}
virtual void BackCull(BOOL onOff)=0

◆ GetBackCull()

int GetBackCull ( )
inlinevirtual
Remarks
Determines if back-face culling is being used to draw the node.
Returns
Nonzero if back-face culling is used; otherwise 0.

Implements INode.

1974{return node->GetBackCull();}
virtual int GetBackCull()=0

◆ SetCastShadows()

void SetCastShadows ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Implements INode.

1975{ node->SetCastShadows(onOff); }
virtual void SetCastShadows(BOOL onOff)=0

◆ CastShadows()

int CastShadows ( )
inlinevirtual
Remarks
Retrieves the shadow casting attribute of the node.
Returns
Nonzero indicates the node casts shadows; zero if the node does not cast shadows.

Implements INode.

1976{ return node->CastShadows(); }
virtual int CastShadows()=0

◆ SetRcvShadows()

void SetRcvShadows ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow receiving attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow receiving on; FALSE to turn it off.

Implements INode.

1977{ node->SetRcvShadows(onOff); }
virtual void SetRcvShadows(BOOL onOff)=0

◆ RcvShadows()

int RcvShadows ( )
inlinevirtual
Remarks
Retrieves the shadow receiving attribute of the node.
Returns
Nonzero indicates the node receives shadows; zero if the node does not receive shadows.

Implements INode.

1978{ return node->RcvShadows(); }
virtual int RcvShadows()=0

◆ SetGenerateCaustics()

void SetGenerateCaustics ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1979{ node->SetGenerateCaustics(onOff); }
virtual void SetGenerateCaustics(BOOL onOff)
Definition: inode.h:633

◆ GenerateCaustics()

int GenerateCaustics ( )
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1980{ return node->GenerateCaustics(); }
virtual int GenerateCaustics()
Definition: inode.h:634

◆ SetRcvCaustics()

void SetRcvCaustics ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1981{ node->SetRcvCaustics(onOff); }
virtual void SetRcvCaustics(BOOL onOff)
Definition: inode.h:635

◆ RcvCaustics()

int RcvCaustics ( )
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1982{ return node->RcvCaustics(); }
virtual int RcvCaustics()
Definition: inode.h:636

◆ SetApplyAtmospherics()

void SetApplyAtmospherics ( BOOL  onOff)
inlinevirtual
Remarks
This method allows you to set the "apply atmospherics" flag for the node.
Parameters
onOffTRUE to enable the flag, FALSE to disable.

Implements INode.

1983{ node->SetApplyAtmospherics(onOff); }
virtual void SetApplyAtmospherics(BOOL onOff)=0

◆ ApplyAtmospherics()

int ApplyAtmospherics ( )
inlinevirtual
Remarks
This method returns the on/off state of the "apply atmospherics" flag.

Implements INode.

1984{ return node->ApplyAtmospherics(); }
virtual int ApplyAtmospherics()=0

◆ SetGenerateGlobalIllum()

void SetGenerateGlobalIllum ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1985{ node->SetGenerateGlobalIllum(onOff); }
virtual void SetGenerateGlobalIllum(BOOL onOff)
Definition: inode.h:638

◆ GenerateGlobalIllum()

int GenerateGlobalIllum ( )
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1986{ return node->GenerateGlobalIllum(); }
virtual int GenerateGlobalIllum()
Definition: inode.h:639

◆ SetRcvGlobalIllum()

void SetRcvGlobalIllum ( BOOL  onOff)
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1987{ node->SetRcvGlobalIllum(onOff); }
virtual void SetRcvGlobalIllum(BOOL onOff)
Definition: inode.h:640

◆ RcvGlobalIllum()

int RcvGlobalIllum ( )
inlinevirtual
Remarks
Sets the shadow casting attribute of the node to on or off.
Parameters
onOffTRUE to turn shadow casting on; FALSE to turn it off.

Reimplemented from INode.

1988{ return node->RcvGlobalIllum(); }
virtual int RcvGlobalIllum()
Definition: inode.h:641

◆ SetMotBlur()

void SetMotBlur ( BOOL  onOff)
inline
1990{ node->SetMotBlur(onOff); }
virtual void SetMotBlur(int kind)=0

◆ MotBlur()

int MotBlur ( )
inlinevirtual
Remarks
Retrieves the type of motion blur used by the node.
Returns
One of the following values:

0: None
1: Object Motion Blur.
2: Image Motion Blur.

Implements INode.

1991{ return node->MotBlur(); }
virtual int MotBlur()=0

◆ GetImageBlurMultiplier()

float GetImageBlurMultiplier ( TimeValue  t)
inlinevirtual
Remarks
Returns the image motion blur multiplier value at the specified time.
Parameters
tThe time to retrieve the value.

Reimplemented from INode.

1993{ return node->GetImageBlurMultiplier(t);}
virtual float GetImageBlurMultiplier(TimeValue t)
Definition: inode.h:558

◆ SetImageBlurMultiplier()

void SetImageBlurMultiplier ( TimeValue  t,
float  m 
)
inlinevirtual
Remarks
Sets the image blur multiplier value for the node. This is used to increase or decrease the length of the blur 'streak'.
Parameters
tThe time to set the value.
mThe value to set.

Reimplemented from INode.

virtual void SetImageBlurMultiplier(TimeValue t, float m)
Definition: inode.h:564

◆ SetImageBlurMultController()

void SetImageBlurMultController ( Control cont)
inlinevirtual
Remarks
Sets the controller used for the image blur multiplier value.
Parameters
contPoints for the controller to use.

Reimplemented from INode.

virtual void SetImageBlurMultController(Control *cont)
Definition: inode.h:568

◆ GetImageBlurMultController()

Control * GetImageBlurMultController ( )
inlinevirtual
Remarks
Returns a pointer to the controller for the image blur multiplier value.

Reimplemented from INode.

1996{return node->GetImageBlurMultController(); }
virtual Control * GetImageBlurMultController()
Definition: inode.h:571

◆ GetMotBlurOnOff()

BOOL GetMotBlurOnOff ( TimeValue  t)
inlinevirtual
Remarks
Returns TRUE if the object motion blur controller is 'on' at the specified time; otherwise FALSE.
Parameters
tThe time to check.
Default Implementation:
{ return 1; }

Reimplemented from INode.

1999{ return node->GetMotBlurOnOff(t); }
virtual BOOL GetMotBlurOnOff(TimeValue t)
Definition: inode.h:579

◆ SetMotBlurOnOff()

void SetMotBlurOnOff ( TimeValue  t,
BOOL  m 
)
inlinevirtual
Remarks
Sets the state of the object motion blur controller to on or off at the specified time.
Parameters
tThe time to set the value.
mTRUE for on; FALSE for off.
Default Implementation:
{}

Reimplemented from INode.

2000{ node->SetMotBlurOnOff(t,m); }
virtual void SetMotBlurOnOff(TimeValue t, BOOL m)
Definition: inode.h:586

◆ GetMotBlurOnOffController()

Control * GetMotBlurOnOffController ( )
inlinevirtual
Remarks
Returns a pointer to the controller handling the object motion blur on / off setting.
Default Implementation:
{ return NULL;}

Reimplemented from INode.

2001{ return node->GetMotBlurOnOffController();}
virtual Control * GetMotBlurOnOffController()
Definition: inode.h:591

◆ SetMotBlurOnOffController()

void SetMotBlurOnOffController ( Control cont)
inlinevirtual
Remarks
Sets the controller used for handling the object motion blur on / off setting.
Parameters
contPoints to the controller to set.
Default Implementation:
{}

Reimplemented from INode.

virtual void SetMotBlurOnOffController(Control *cont)
Definition: inode.h:597

◆ SetRenderable()

void SetRenderable ( BOOL  onOff)
inlinevirtual
Remarks
Sets the state of the node's renderable flag. If this flag is on the node will appear in rendered images; if off it won't.
Parameters
onOffTRUE for on; FALSE for off.

Implements INode.

2004{ node->SetRenderable(onOff); }
virtual void SetRenderable(BOOL onOff)=0

◆ Renderable()

int Renderable ( )
inlinevirtual
Remarks
Returns non-zero if the renderable flag is on; zero if off.

Implements INode.

2005{ return node->Renderable(); }
virtual int Renderable()=0

◆ SetPrimaryVisibility()

void SetPrimaryVisibility ( bool  onOff)
inlineoverridevirtual
Remarks
This method allows you to set the primary visibility flag and define whether or not the node is visible to the camera.
Parameters
onOffTRUE to enable the flag, FALSE to disable.

Implements INode.

2007{ node->SetPrimaryVisibility(onOff); }
virtual void SetPrimaryVisibility(bool onOff)=0

◆ GetPrimaryVisibility()

bool GetPrimaryVisibility ( ) const
inlineoverridevirtual
Remarks
This method returns the on/off state of the primary visibility to determine whether or not the node is visible to the camera.

Implements INode.

2008{ return node->GetPrimaryVisibility(); }
virtual bool GetPrimaryVisibility() const =0

◆ SetSecondaryVisibility()

void SetSecondaryVisibility ( bool  onOff)
inlineoverridevirtual
Remarks
This method allows you to set the secondary visibility flag and define whether or not the node is visible to reflections and refractions..
Parameters
onOffTRUE to enable the flag, FALSE to disable.

Implements INode.

2009{ node->SetSecondaryVisibility(onOff); }
virtual void SetSecondaryVisibility(bool onOff)=0

◆ GetSecondaryVisibility()

bool GetSecondaryVisibility ( ) const
inlineoverridevirtual
Remarks
This method returns the on/off state of the secondary visibility to determine whether or not the node is visible to reflections and refractions.

Implements INode.

2010{ return node->GetSecondaryVisibility(); }
virtual bool GetSecondaryVisibility() const =0

◆ ShowBone()

void ShowBone ( int  boneVis)
inlinevirtual
Remarks
Controls the display of Bones in the scene. A bone is just the link (or line) connecting the node to its parent. These are the same options as available in the 3ds Max user interface in the Display branch, under Link Display, i.e. Display Links and Link Replaces Object.
Parameters
boneVisSpecifies the display state:

0: Bones are not drawn.
1: Bones are drawn.
2: Only bones are shown.

Implements INode.

2012{node->ShowBone(boneVis);}
virtual void ShowBone(int boneVis)=0

◆ BoneAsLine()

void BoneAsLine ( int  onOff)
inlinevirtual
Remarks
Controls the display of Bones as simple lines in the scene.
Parameters
onOffNon-zero if bones should be shown as lines only; 0 for normal display.

Implements INode.

2013{node->BoneAsLine(onOff);}
virtual void BoneAsLine(int onOff)=0

◆ IsBoneShowing()

BOOL IsBoneShowing ( )
inlinevirtual
Remarks
Returns TRUE if the node's bone is turned on; otherwise FALSE.

Implements INode.

2014{return node->IsBoneShowing();}
virtual BOOL IsBoneShowing()=0

◆ IsBoneOnly()

BOOL IsBoneOnly ( )
inlinevirtual
Remarks
Returns TRUE if the bone is showing but the object is hidden; FALSE if both the bone and the node is hidden.

Reimplemented from INode.

2015{ return node->IsBoneOnly(); }
virtual BOOL IsBoneOnly()
Definition: inode.h:712

◆ GetWireColor()

DWORD GetWireColor ( )
inlinevirtual
Remarks
Retrieves the node's wire-frame color. See COLORREF-DWORD format.

Implements INode.

2016{return node->GetWireColor();}
virtual DWORD GetWireColor()=0

◆ SetWireColor()

void SetWireColor ( DWORD  newcol)
inlinevirtual
Remarks
Sets the node's wire-frame color. This can be any of the 16 million possible colors in 24 bit. See COLORREF-DWORD format.
Parameters
newcolSpecifies the new wire-frame color for the node. It may be specified using the RGB macro, for example: RGB(0,0,255);

Implements INode.

2017{node->SetWireColor(newcol);}
virtual void SetWireColor(DWORD newcol)=0

◆ IsRootNode()

int IsRootNode ( )
inlinevirtual
Remarks
Determines if this node is the root node (does not have a parent node).
Example
bool UnflaggedNodeDeleter::Proc(INode * pNode)
{
// NOTE: should be called with Enumerate(procfirst = false) !
// Delete flagged node unless it is the root.
if (!pNode->IsRootNode() && !pNode->TestAFlag(A_WORK1)) {
pNode->Delete(0,TRUE);
}
return true;
}
bool TestAFlag(DWORD mask) const
Tests one or more bits in the Animatable flags.
Definition: Animatable.h:338
virtual int IsRootNode()=0
#define A_WORK1
Definition: AnimatableFlags.h:216
Returns
Non-zero if the node is the root node; otherwise 0.

Implements INode.

2018{return node->IsRootNode();}

◆ Selected()

int Selected ( )
inlinevirtual
Remarks
Determines if the node is selected.
Returns
Non-zero if the node is selected; otherwise 0.

Implements INode.

2019{return node->Selected();}

◆ Dependent()

int Dependent ( )
inlinevirtual
Remarks
Returns non-zero if the node has its dependent flag set; otherwise 0. This is dependent in the sense of 3ds Max's Views/Show Dependencies mode. When in the Modify branch, Show Dependencies will show all the nodes that are dependent on the current modifier or object being editing by highlighting them in green. It also set a flag in the node. This method allows a developer to check this flag.

Implements INode.

2020{return node->Dependent();}
virtual int Dependent()=0

◆ IsTarget()

int IsTarget ( )
inlinevirtual
Remarks
Determines if the node is a target node of a lookat controller.
Returns
Non-zero if the node is a target; otherwise 0.

Implements INode.

2021{return node->IsTarget();}
virtual int IsTarget()=0

◆ SetIsTarget()

void SetIsTarget ( BOOL  b)
inlinevirtual
Remarks
This method controls the property of the node indicating if it's a target or not. Calling this is necessary when hooking up targets as the target node must have its IsTarget() property set.
Parameters
bTRUE for set; FALSE for off.

Implements INode.

2022{ node->SetIsTarget(b);}
virtual void SetIsTarget(BOOL b)=0
float float b
Definition: texutil.h:51

◆ GetTransformLock()

BOOL GetTransformLock ( int  type,
int  axis 
)
inlinevirtual
Remarks
Retrieves the specified transform lock state of the node. When the user is doing interactive Moving / Rotating / Scaling these locks simply remove one of the components.
Parameters
typeSee transformLockTypes.
axisSee Transform Lock Axis.
Returns
TRUE if the lock is set; otherwise FALSE.

Implements INode.

2023{return node->GetTransformLock(type,axis);}
virtual BOOL GetTransformLock(int type, int axis)=0

◆ SetTransformLock()

void SetTransformLock ( int  type,
int  axis,
BOOL  onOff 
)
inlinevirtual
Remarks
Sets the specified transform lock state of the node. When the user is doing interactive Moving / Rotating / Scaling these locks simply remove one of the components.
Parameters
typeSee Transform Lock Types.
axisSee Transform Lock Axis.
onOffTRUE sets the lock on; FALSE sets the lock off.

Implements INode.

2024{node->SetTransformLock(type,axis,onOff);}
virtual void SetTransformLock(int type, int axis, BOOL onOff)=0

◆ GetTarget()

INode * GetTarget ( )
inlinevirtual
Remarks
Retrieves this node's target node if any.
Returns
NULL if this node has no target.

Implements INode.

2025{return node->GetTarget();}
virtual INode * GetTarget()=0

◆ GetLookatNode()

INode * GetLookatNode ( )
inlinevirtual
Remarks
If this node is a target of a lookat controller, this method finds the node that looks at it.
Returns
The node that looks at this node or NULL if the node is not a target.

Implements INode.

2026{return node->GetLookatNode();}
virtual INode * GetLookatNode()=0

◆ GetParentTM()

Matrix3 GetParentTM ( TimeValue  t)
inlinevirtual
Remarks
Retrieves the parent node's transformation matrix. This is simply for convenience. It is the equivalent to the following code: node->GetParentNode()->GetNodeTM();
Parameters
tSpecifies the time to retrieve the transformation matrix.
Returns
The parent node's transformation matrix.

Implements INode.

2027{return node->GetParentTM(t);}
virtual Matrix3 GetParentTM(TimeValue t)=0

◆ GetTargetTM()

int GetTargetTM ( TimeValue  t,
Matrix3 m 
)
inlinevirtual
Remarks
Retrieves the target node's transformation matrix. This is simply for convenience. It is the equivalent to the following code:

node->GetTarget()->GetNodeTM();
Parameters
tSpecifies the time to retrieve the transformation matrix.
mThe result is stored here.
Returns
Nonzero if the target matrix was retrieved (the node had a target); otherwise 0.

Implements INode.

2028{return node->GetTargetTM(t,m);}
virtual int GetTargetTM(TimeValue t, Matrix3 &m)=0

◆ GetObjectRef()

Object * GetObjectRef ( )
inlinevirtual
Remarks
Returns the object that this node references unless the node has been bound to a Space Warp. In that case this method will not return the WSM derived object even though the node's object reference points at it. Instead it will return the item that the WSM derived object references. Thus, this method will always return essentially the object space portion of the pipeline. In contrast, see GetObjOrWSMRef() below. See the Geometry Pipeline System section for additional details.

Implements INode.

2029{return node->GetObjectRef();}

◆ SetObjectRef()

void SetObjectRef ( Object o)
inlinevirtual
Remarks
Sets the object that this node references. See the Geometry Pipeline System section for additional details.
Parameters
oThe object this node will reference.

Implements INode.

2030{node->SetObjectRef(o);}
virtual void SetObjectRef(Object *o)=0

◆ GetObjOrWSMRef()

Object * GetObjOrWSMRef ( )
inlinevirtual
Remarks
This method returns the actual object reference of the node directly. So if this node is bound to a Space Warp this method will return a WSM derived object. If you want the object space portion of the pipeline see GetObjectRef() above.

Implements INode.

2031{ return node->GetObjOrWSMRef();}
virtual Object * GetObjOrWSMRef()=0

◆ GetTMController()

Control * GetTMController ( )
inlinevirtual
Remarks
Retrieves the node's transform controller. The standard 3ds Max transform controllers each have sub-controllers for position, rotation and scale. To access the data of the node's transform controller you may use Class IKeyControl. The following code fragment shows an example of how this may be done for a PRS controller.
Definition: control.h:1055
virtual Control * GetPositionController()
Definition: control.h:1154
Definition: istdplug.h:1573
virtual Control * GetTMController()=0
#define GetKeyControlInterface(anim)
Definition: AnimatableInterfaceIDs.h:114
With this controller interface you can use its methods to get information about the keys. For example:
int num = ikeys->GetNumKeys();
virtual int GetNumKeys()=0
Example
// Pre-multiply in position, rotation, scale order
TimeValue t = ip->GetTime();
pos->GetValue(t, &tmat, valid, CTRL_RELATIVE);
rot->GetValue(t, &tmat, valid, CTRL_RELATIVE);
scl->GetValue(t, &tmat, valid, CTRL_RELATIVE);
virtual Control * GetRotationController()
Definition: control.h:1161
virtual void GetValue(TimeValue t, void *val, Interval &valid, GetSetMethod method=CTRL_ABSOLUTE)=0
virtual Control * GetScaleController()
Definition: control.h:1168
@ CTRL_RELATIVE
Definition: control.h:1007
controller mat max min numsubs x z controller keys x z pos
Definition: generics.inl:208

Implements INode.

2032{return node->GetTMController();}

◆ SetTMController()

BOOL SetTMController ( Control m3cont)
inlinevirtual
Remarks
Sets the node's transform controller.
Parameters
m3contThe Matrix3 transform controller to use. This controller must return a SuperClassID of CTRL_MATRIX3_CLASS_ID
Returns
TRUE if the controller was a valid transform controller for this node, and the reference was successfully created, else FALSE.

Implements INode.

2033{ return node->SetTMController(m3cont);}
virtual BOOL SetTMController(Control *m3cont)=0

◆ GetVisController()

Control * GetVisController ( )
inlinevirtual
Remarks
Returns the visibility controller for this node.

Implements INode.

2034{return node->GetVisController();}
virtual Control * GetVisController()=0

◆ SetVisController()

void SetVisController ( Control cont)
inlinevirtual
Remarks
Sets the visibility controller for this node.
Parameters
contThe controller to use for visibility control.

Implements INode.

2035{node->SetVisController(cont);}
virtual void SetVisController(Control *cont)=0

◆ GetVisibility()

float GetVisibility ( TimeValue  t,
Interval valid = NULL 
)
inlinevirtual
Remarks
Retrieves the visibility of the node at the time passed and updates the validity interval passed. Values < 0 indicate off while values > 0 indicate on. The node is fully visible (opaque) when 1.0 and fully invisible (transparent) when 0.0.
Note
this value may be inherited by the children of this node
Example
// Check visibility
vis = pNode->GetVisibility(t);
if (vis < 0.0f) {
vis = 0.0f;
SetFlag(INST_HIDE, 1);
return 1;
}
if (vis > 1.0f) vis = 1.0f;
#define INST_HIDE
instance is hidden
Definition: RenderInstance.h:27
Parameters
tThe time to get the visibility value.
validThe validity interval to update based on the validity of the visibility.

Implements INode.

2036{return node->GetVisibility(t,valid);}
virtual float GetVisibility(TimeValue t, Interval *valid=NULL)=0

◆ SetVisibility()

void SetVisibility ( TimeValue  t,
float  vis 
)
inlinevirtual
Remarks
Sets the visibility of the node to the value passed at the time passed.
Parameters
tThe time to set the visibility value.
visThe visibility of the node to set. This is treated like a boolean value where < 0 means off and > 0 means on.

Implements INode.

2037{ node->SetVisibility(t,vis); }
virtual void SetVisibility(TimeValue t, float vis)=0

◆ GetLocalVisibility()

float GetLocalVisibility ( TimeValue  t,
Interval valid 
)
inlinevirtual
Remarks
Returns the local visibility of the node. The value returned from this method is treated like a boolean value where < 0 means off and > 0 means on. If a node returns TRUE from GetInheritVisibility() then its visibility is determined by this method. If GetInheritVisibility() method returns FALSE then the visibility of the node is determined by GetVisibility().
Note
This value does not take into account the parent nodes visibility, and is not inherited by the children of this node
Parameters
tThe time to get the local visibility value.
validThe validity interval to update based on the validity of the local visibility controller.

Implements INode.

2038{ return node->GetLocalVisibility(t,valid); }
virtual float GetLocalVisibility(TimeValue t, Interval *valid=NULL)=0

◆ GetInheritVisibility()

BOOL GetInheritVisibility ( )
inlinevirtual
Remarks
Returns TRUE if the node's visibility is determined by the visibility of the parent of the node; otherwise returns FALSE.

Implements INode.

2039{ return node->GetInheritVisibility(); }
virtual BOOL GetInheritVisibility()=0

◆ SetInheritVisibility()

void SetInheritVisibility ( BOOL  onOff)
inlinevirtual
Remarks
This method is called to set the state of the node's inherit visibility flag.
Parameters
onOffPass TRUE to have the node inherit its visibility from its parent; otherwise pass FALSE and the node's visibility will be determine by the node itself (not its parent).

Implements INode.

2040{ node->SetInheritVisibility(onOff); }
virtual void SetInheritVisibility(BOOL onOff)=0

◆ SetRenderOccluded()

virtual void SetRenderOccluded ( BOOL  onOff)
inlinevirtual
Remarks
Sets the state of the node's 'Render Occluded Object' flag.
Parameters
onOffTRUE for on; FALSE for off.

Implements INode.

2042{ node->SetRenderOccluded(onOff); }
virtual void SetRenderOccluded(BOOL onOff)=0

◆ GetRenderOccluded()

virtual BOOL GetRenderOccluded ( )
inlinevirtual
Remarks
Returns TRUE if the node's 'Render Occluded Object' flag is set; otherwise FALSE.

Implements INode.

2043{ return node->GetRenderOccluded(); }
virtual BOOL GetRenderOccluded()=0

◆ GetMtl()

Mtl * GetMtl ( )
inlinevirtual
Remarks
Returns a pointer to the renderer material for the node. If the value returned is NULL the user has not assigned a material yet. See Class Mtl, Materials, Textures and Maps.
Example
// Get material for node
mtl = node->GetMtl();
if (!mtl) {
// Node has no material, create a dummy material based on wireframe color
// This is done so the renderer does not have to worry about nodes
// without materials. It will, in effect, assure that every node has
// a valid material.
mtl = new DumMtl( (Color)(node->GetWireColor()) );
DebugPrint(_T("\tCreated dummy material for: %s.\n"), node->GetName());
}
Definition: color.h:73
virtual Mtl * GetMtl()=0
UtilExport void DebugPrint(const MCHAR *format,...)

Implements INode.

2045{ return node->GetMtl(); }

◆ SetMtl()

void SetMtl ( Mtl matl)
inlinevirtual
Remarks
Sets the renderer material used by the node. If the value set is NULL it indicates a material has not been assigned. In this case, the renderer uses the wireframe color of the node for rendering. See Class Mtl, Materials, Textures and Maps.
Parameters
matlThe materials used to render the node.

Implements INode.

2046{ node->SetMtl(matl); }
virtual void SetMtl(Mtl *matl)=0

◆ Mtls()

Material * Mtls ( )
inlinevirtual
Remarks
Returns a pointer to the GraphicsWindow materials. See NumMtls() below for the number of entries in this array.

Implements INode.

2048{ return node->Mtls(); }
virtual Material * Mtls()=0

◆ NumMtls()

int NumMtls ( )
inlinevirtual
Remarks
Returns the number of entries in the array of Materials returned by Mtls() above.

Implements INode.

2049{ return node->NumMtls(); }
virtual int NumMtls()=0

◆ GetRenderData()

RenderData * GetRenderData ( )
inlinevirtual
Remarks
Returns the render data for the node. See Class RenderData.

Implements INode.

2051{return node->GetRenderData();}
virtual RenderData * GetRenderData()=0

◆ SetRenderData()

void SetRenderData ( RenderData rd)
inlinevirtual
Remarks
Sets the render data for the node.
Parameters
rdThe render data to set.

Implements INode.

2052{node->SetRenderData(rd);}
virtual void SetRenderData(RenderData *rd)=0

◆ SetObjOffsetPos()

void SetObjOffsetPos ( Point3  p)
inlinevirtual
Remarks
Sets the position portion of the object offset from the node. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.
Parameters
pSpecifies the position portion of the object-offset.

Implements INode.

2054{node->SetObjOffsetPos(p);}
virtual void SetObjOffsetPos(Point3 p)=0

◆ GetObjOffsetPos()

Point3 GetObjOffsetPos ( )
inlinevirtual
Remarks
Returns the position portion of the object-offset from the node as a Point3. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.

Implements INode.

2055{return node->GetObjOffsetPos();}
virtual Point3 GetObjOffsetPos()=0

◆ SetObjOffsetRot()

void SetObjOffsetRot ( Quat  q)
inlinevirtual
Remarks
Sets the rotation portion of the object-offset from the node. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.
Parameters
qThe rotation offset.

Implements INode.

2056{node->SetObjOffsetRot(q);}
virtual void SetObjOffsetRot(Quat q)=0

◆ GetObjOffsetRot()

Quat GetObjOffsetRot ( )
inlinevirtual
Remarks
Returns the rotation portion of the object-offset from the node. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.

Implements INode.

2057{return node->GetObjOffsetRot();}
virtual Quat GetObjOffsetRot()=0

◆ FlagForeground()

void FlagForeground ( TimeValue  t,
BOOL  notify = TRUE 
)
inlinevirtual
Remarks
Flags the node to put it in the foreground. For additional information see Foreground / Background Planes.
Parameters
tThe time to put the node in the foreground.
notifyIf TRUE, the reference message REFMSG_FLAGDEPENDENTS with PART_PUT_IN_FG is sent.

Implements INode.

2058{node->FlagForeground(t,notify);}
virtual void FlagForeground(TimeValue t, BOOL notify=TRUE)=0

◆ IsActiveGrid()

int IsActiveGrid ( )
inlinevirtual
Remarks
Determines if this node is the active grid object.
Returns
Nonzero indicates the node is the active grid object; zero indicates it is not.

Implements INode.

2059{return node->IsActiveGrid();}
virtual int IsActiveGrid()=0

◆ SetNodeLong()

void SetNodeLong ( LONG_PTR  l)
inlinevirtual
Remarks
This method provides temporary storage of data with the node. Data stored with the node is only valid before you return control.
Parameters
lThe data to store with the node.

Implements INode.

2060{node->SetNodeLong(l);}
virtual void SetNodeLong(LONG_PTR l)=0

◆ GetNodeLong()

LONG_PTR GetNodeLong ( )
inlinevirtual
Remarks
Returns the value set by SetNodeLong

Implements INode.

2061{return node->GetNodeLong();}
virtual LONG_PTR GetNodeLong()=0

◆ GetUserPropBuffer()

void GetUserPropBuffer ( MSTR buf)
inlinevirtual
Remarks
This method allows access to the entire user defined property text buffer.
Parameters
bufThe buffer to hold the user defined property text.

Implements INode.

2063{node->GetUserPropBuffer(buf);}
virtual void GetUserPropBuffer(MSTR &buf)=0

◆ SetUserPropBuffer()

void SetUserPropBuffer ( const MSTR buf)
inlinevirtual
Remarks
This method allows a developer to set to the entire user defined property text buffer.
Parameters
bufThe buffer containing the user defined property text.

Implements INode.

2064{node->SetUserPropBuffer(buf);}
virtual void SetUserPropBuffer(const MSTR &buf)=0

◆ GetUserPropString()

BOOL GetUserPropString ( const MSTR key,
MSTR string 
)
inlinevirtual
Remarks
This method retrieves a string based on the key passed.
Parameters
keyThe key (or name) of the user defined property text.
stringStorage for the string to retrieve.
Returns
TRUE if the key was found; otherwise FALSE.

Implements INode.

2065{return node->GetUserPropString(key,string);}
virtual BOOL GetUserPropString(const MSTR &key, MSTR &string)=0

◆ GetUserPropInt()

BOOL GetUserPropInt ( const MSTR key,
int val 
)
inlinevirtual
Remarks
Retrieves an integer value from the node based on the key passed.
Parameters
keyThe key (or name) of the data to retrieve.
valStorage for the integer value.
Returns
TRUE if the key was found; otherwise FALSE.

Implements INode.

2066{return node->GetUserPropInt(key,val);}
virtual BOOL GetUserPropInt(const MSTR &key, int &val)=0

◆ GetUserPropFloat()

BOOL GetUserPropFloat ( const MSTR key,
float &  val 
)
inlinevirtual
Remarks
Retrieves a floating point value from the node based on the key passed.
Parameters
keyThe key (or name) of the data to retrieve.
valStorage for the float value.
Returns
TRUE if the key was found; otherwise FALSE.

Implements INode.

2067{return node->GetUserPropFloat(key,val);}
virtual BOOL GetUserPropFloat(const MSTR &key, float &val)=0

◆ GetUserPropBool()

BOOL GetUserPropBool ( const MSTR key,
BOOL &  b 
)
inlinevirtual
Remarks
Retrieves a boolean value from the node based on the key passed.
Parameters
keyThe key (or name) of the data to retrieve.
bStorage for the boolean value.
Returns
TRUE if the key was found; otherwise FALSE.

Implements INode.

2068{return node->GetUserPropBool(key,b);}
virtual BOOL GetUserPropBool(const MSTR &key, BOOL &b)=0

◆ SetUserPropString()

void SetUserPropString ( const MSTR key,
const MSTR string 
)
inlinevirtual
Remarks
Stores a string in the node using the key passed. If the key name already exists it is overwritten; otherwise it is created.
Parameters
keyThe key (or name) of the data to store.
stringThe string to store.

Implements INode.

2069{node->SetUserPropString(key,string);}
virtual void SetUserPropString(const MSTR &key, const MSTR &string)=0

◆ SetUserPropInt()

void SetUserPropInt ( const MSTR key,
int  val 
)
inlinevirtual
Remarks
Stores an integer value in the node using the key passed. If the key name already exists it is overwritten; otherwise it is created.
Parameters
keyThe key (or name) of the data to store.
valThe value to store.

Implements INode.

2070{node->SetUserPropInt(key,val);}
virtual void SetUserPropInt(const MSTR &key, int val)=0

◆ SetUserPropFloat()

void SetUserPropFloat ( const MSTR key,
float  val 
)
inlinevirtual
Remarks
Stores a floating point value in the node using the key passed. If the key name already exists it is overwritten; otherwise it is created.
Parameters
keyThe key (or name) of the data to store.
valThe value to store.

Implements INode.

2071{node->SetUserPropFloat(key,val);}
virtual void SetUserPropFloat(const MSTR &key, float val)=0

◆ SetUserPropBool()

void SetUserPropBool ( const MSTR key,
BOOL  b 
)
inlinevirtual
Remarks
Stores a boolean value in the node using the key passed. If the key name already exists it is overwritten; otherwise it is created.
Parameters
keyThe key (or name) of the data to store.
bThe value to store.

Implements INode.

2072{node->SetUserPropBool(key,b);}
virtual void SetUserPropBool(const MSTR &key, BOOL b)=0

◆ UserPropExists()

BOOL UserPropExists ( const MSTR key)
inlinevirtual
Remarks
This method simply checks to see if a key exists.
Parameters
keyThe key string to search for.
Returns
TRUE if the key was found; otherwise FALSE.

Implements INode.

2073{return node->UserPropExists(key);}
virtual BOOL UserPropExists(const MSTR &key)=0

◆ GetGBufID()

ULONG GetGBufID ( )
inlinevirtual
Remarks
Returns the G-Buffer ID of this node. This is the ID available in the BMM_CHAN_NODE_ID channel. See Working with Bitmaps(G-Buffer) for additional details.

Implements INode.

2074{ return node->GetGBufID(); }
virtual ULONG GetGBufID()=0

◆ SetGBufID()

void SetGBufID ( ULONG  id)
inlinevirtual
Remarks
Sets the G-Buffer ID of this node. This is the ID available in the BMM_CHAN_NODE_ID channel. See Working with Bitmaps(G-Buffer) for additional details.
Parameters
idThe G-Buffer ID.

Implements INode.

2075{ node->SetGBufID(id); }
virtual void SetGBufID(ULONG id)=0

◆ GetRenderID()

UWORD GetRenderID ( )
inlinevirtual
Remarks
Returns the G-Buffer render ID of the node. This is set by the renderer during a video post render when the BMM_CHAN_NODE_RENDER_ID is requested.

Reimplemented from INode.

2077{ return node->GetRenderID(); }
virtual UWORD GetRenderID()
Definition: inode.h:1224

◆ SetRenderID()

void SetRenderID ( UWORD  id)
inlinevirtual
Remarks
Sets the G-Buffer render ID of the node. This is set by the renderer during a video post render when the BMM_CHAN_NODE_RENDER_ID is requested. The following methods deal with IK parameters associated with a node.

Reimplemented from INode.

2078{ node->SetRenderID(id); }
virtual void SetRenderID(UWORD id)
Definition: inode.h:1229

◆ SetObjOffsetScale()

CoreExport void SetObjOffsetScale ( ScaleValue  sv)
virtual
Remarks
Sets the scale portion of the object-offset matrix. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.
Parameters
svThe scale portion of the offset. See Class ScaleValue.

Implements INode.

◆ GetObjOffsetScale()

CoreExport ScaleValue GetObjOffsetScale ( )
virtual
Remarks
Returns the scale portion of the object-offset from the node. See Class ScaleValue. See the Advanced Topics section on Transformation and Rotation for an overview of the object offset transformation.

Implements INode.

◆ CenterPivot()

void CenterPivot ( TimeValue  t,
BOOL  moveObject 
)
inlinevirtual
Remarks
Centers the pivot to the object. The effect is the same as Hierarchy Panel/Pivot - [Center to Object or Center to Pivot]
Parameters
[in]t- not used
[in]moveObject- If true, the object is moved to be centered on the pivot.
If false, the pivot is centered on the object

Implements INode.

2083{ node->CenterPivot(t,moveObject); }
virtual void CenterPivot(TimeValue t, BOOL moveObject)=0

◆ AlignPivot()

void AlignPivot ( TimeValue  t,
BOOL  moveObject 
)
inlinevirtual
Remarks
Resets the pivot alignment. The effect is the same as Hierarchy Panel/Pivot - [Align to Object or Align to Pivot]
Parameters
[in]t- not used
[in]moveObject- If true, the object is rotated to be aligned with the pivot.
If false, the pivot rotation is reset to be realigned with the object

Implements INode.

2084{ node->AlignPivot(t,moveObject); }
virtual void AlignPivot(TimeValue t, BOOL moveObject)=0

◆ WorldAlignPivot()

void WorldAlignPivot ( TimeValue  t,
BOOL  moveObject 
)
inlinevirtual
Remarks
Aligns the object to the world . The effect is the same as Hierarchy Panel/Pivot/[Affect Pivot Only or Affect Object Only]/ - Align to World
Parameters
[in]t- not used
[in]moveObject- If true, the object is rotated to be aligned with the world.
If false, the pivot rotation is set to be aligned with the world

Implements INode.

2085{ node->WorldAlignPivot(t,moveObject); }
virtual void WorldAlignPivot(TimeValue t, BOOL moveObject)=0

◆ AlignToParent()

void AlignToParent ( TimeValue  t)
inlinevirtual
Remarks
Aligns the pivot to the node's parent's pivot, or to world if no parent.
Parameters
[in]t- not used

Implements INode.

2086{ node->AlignToParent(t); }
virtual void AlignToParent(TimeValue t)=0

◆ AlignToWorld()

void AlignToWorld ( TimeValue  t)
inlinevirtual
Remarks
Aligns the pivot to the to world
Parameters
[in]t- not used

Implements INode.

2087{ node->AlignToWorld(t); }
virtual void AlignToWorld(TimeValue t)=0

◆ ResetTransform()

void ResetTransform ( TimeValue  t,
BOOL  scaleOnly 
)
inlinevirtual
Remarks
Resets the pivot offset transform. The effect is the same as Hierarchy Panel/Pivot/[Reset Transform or Reset Scale]
Parameters
[in]t- not used
[in]scaleOnly- If true, reset only the offset scale. Else reset the rotation and scale parts

Implements INode.

2088{ node->ResetTransform(t,scaleOnly); }
virtual void ResetTransform(TimeValue t, BOOL scaleOnly)=0

◆ ResetPivot()

void ResetPivot ( TimeValue  t)
inlinevirtual
Remarks
Resets the pivot transform. The effect is the same as Hierarchy Panel/Pivot/Reset Pivot
Parameters
[in]t- not used

Implements INode.

2089{ node->ResetPivot(t); }
virtual void ResetPivot(TimeValue t)=0

◆ MayResetTransform()

bool MayResetTransform ( )
inlinevirtual
Remarks
Indicates whether a call to ResetTransform() will succeed. The ResetTransform() method also checks this internally, so it's not necessary to check beforehand.
Returns
true if ResetTransform will succeed, false if no change would occur

Implements INode.

2090{ return node->MayResetTransform(); }
virtual bool MayResetTransform()=0

◆ Move()

void Move ( TimeValue  t,
const Matrix3 tmAxis,
const Point3 val,
BOOL  localOrigin = FALSE,
BOOL  affectKids = TRUE,
int  pivMode = PIV_NONE,
BOOL  ignoreLocks = FALSE 
)
inlinevirtual
Remarks
This method may be called to move the node about the specified axis system. Either the pivot point, or the geometry of the object, or both the pivot and the object may be transformed. Optionally, any children of the node can be counter transformed so they don't move.
Parameters
tThe time to transform the node.
tmAxisThe axis system about which the node is transformed.
valThe amount of the transformation relative to the axis system.
localOriginIf TRUE the transformation takes place about the nodes local origin; otherwise about the world origin.
affectKidsTRUE If TRUE any child nodes are transformed along with the parent node. If FALSE any children of the node are counter transformed so they don't move.
pivModeOne of the following values:

PIV_NONE
Move both the pivot point and the geometry of the object.

PIV_PIVOT_ONLY
Move the pivot point only.

PIV_OBJECT_ONLY
Move the geometry of the object only.
ignoreLocksIf TRUE any transform locks associated with the node are ignored; otherwise the locks govern the application of the transformation.

Implements INode.

2092{node->Move(t,tmAxis,val,localOrigin,pivMode,ignoreLocks);}
virtual void Move(TimeValue t, const Matrix3 &tmAxis, const Point3 &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)=0

◆ Rotate() [1/2]

void Rotate ( TimeValue  t,
const Matrix3 tmAxis,
const AngAxis val,
BOOL  localOrigin = FALSE,
BOOL  affectKids = TRUE,
int  pivMode = PIV_NONE,
BOOL  ignoreLocks = FALSE 
)
inlinevirtual
Remarks
This method may be called to rotate the node about the specified axis system. Either the pivot point, or the geometry of the object, or both the pivot and the object may be transformed. Optionally, any children of the node can be counter transformed so they don't rotate.
Parameters
tThe time to transform the node.
tmAxisThe axis system about which the node is transformed.
valThe amount of the transformation.
localOriginIf TRUE the transformation takes place about the nodes local origin; otherwise about the world origin.
affectKidsIf TRUE any child nodes are transformed along with the parent node. If FALSE any children of the node are counter transformed so they don't rotate.
pivModeOne of the following values:

PIV_NONE
Move both the pivot point and the geometry of the object.

PIV_PIVOT_ONLY
Move the pivot point only.

PIV_OBJECT_ONLY
Move the geometry of the object only.
ignoreLocksIf TRUE any transform locks associated with the node are ignored; otherwise the locks govern the application of the transformation.

Implements INode.

2093{node->Rotate(t,tmAxis,val,localOrigin,pivMode,ignoreLocks);}
virtual void Rotate(TimeValue t, const Matrix3 &tmAxis, const AngAxis &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)=0

◆ Rotate() [2/2]

void Rotate ( TimeValue  t,
const Matrix3 tmAxis,
const Quat val,
BOOL  localOrigin = FALSE,
BOOL  affectKids = TRUE,
int  pivMode = PIV_NONE,
BOOL  ignoreLocks = FALSE 
)
inlinevirtual
Remarks
This method may be called to rotate the node about the specified axis system. Either the pivot point, or the geometry of the object, or both the pivot and the object may be transformed. Optionally, any children of the node can be counter transformed so they don't rotate.
Parameters
tThe time to transform the node.
tmAxisThe axis system about which the node is transformed.
valThe amount of the transformation.
localOriginIf TRUE the transformation takes place about the nodes local origin; otherwise about the world origin.
affectKidsIf TRUE any child nodes are transformed along with the parent node. If FALSE any children of the node are counter transformed so they don't rotate.
pivModeOne of the following values:

PIV_NONE
Move both the pivot point and the geometry of the object.

PIV_PIVOT_ONLY
Move the pivot point only.

PIV_OBJECT_ONLY
Move the geometry of the object only.
ignoreLocksIf TRUE any transform locks associated with the node are ignored; otherwise the locks govern the application of the transformation.

Implements INode.

2094{node->Rotate(t,tmAxis,val,localOrigin,pivMode,ignoreLocks);}

◆ Scale()

void Scale ( TimeValue  t,
const Matrix3 tmAxis,
const Point3 val,
BOOL  localOrigin = FALSE,
BOOL  affectKids = TRUE,
int  pivMode = PIV_NONE,
BOOL  ignoreLocks = FALSE 
)
inlinevirtual
Remarks
This method may be called to scale the node about the specified axis system. Either the pivot point, or the geometry of the object, or both the pivot and the object may be transformed. Optionally, any children of the node can be counter transformed so they don't scale.
Parameters
tThe time to transform the node.
tmAxisThe axis system about which the node is transformed.
valThe amount of the transformation.
localOriginIf TRUE the transformation takes place about the nodes local origin; otherwise about the world origin.
affectKidsIf TRUE any child nodes are transformed along with the parent node. If FALSE any children of the node are counter transformed so they don't scale.
pivModeOne of the following values:

PIV_NONE
Move both the pivot point and the geometry of the object.

PIV_PIVOT_ONLY
Move the pivot point only.

PIV_OBJECT_ONLY
Move the geometry of the object only.
ignoreLocksIf TRUE any transform locks associated with the node are ignored; otherwise the locks govern the application of the transformation.

Implements INode.

2095{node->Scale(t,tmAxis,val,localOrigin,pivMode,ignoreLocks);}
virtual void Scale(TimeValue t, const Matrix3 &tmAxis, const Point3 &val, BOOL localOrigin=FALSE, BOOL affectKids=TRUE, int pivMode=PIV_NONE, BOOL ignoreLocks=FALSE)=0

◆ IsGroupMember()

BOOL IsGroupMember ( )
inlinevirtual
Remarks
Returns TRUE if this node is a member of a group; otherwise FALSE.

Implements INode.

2097{return node->IsGroupMember();}
virtual BOOL IsGroupMember()=0

◆ IsGroupHead()

BOOL IsGroupHead ( )
inlinevirtual
Remarks
Returns TRUE if this node is the head of a group; otherwise FALSE.

Implements INode.

2098{ return node->IsGroupHead();}
virtual BOOL IsGroupHead()=0

◆ IsOpenGroupMember()

BOOL IsOpenGroupMember ( )
inlinevirtual
Remarks
Returns TRUE if this node is a member of an open group; otherwise FALSE.
Default Implementation:
{return 0; }

Reimplemented from INode.

2099{return node->IsOpenGroupMember();}
virtual BOOL IsOpenGroupMember()
Definition: inode.h:1352

◆ IsOpenGroupHead()

BOOL IsOpenGroupHead ( )
inlinevirtual
Remarks
Returns TRUE if this node is the head of a group and that group is open; otherwise FALSE.
Default Implementation:
{return 0; }

Reimplemented from INode.

2100{return node->IsOpenGroupHead();}
virtual BOOL IsOpenGroupHead()
Definition: inode.h:1357

◆ SetGroupMember()

void SetGroupMember ( BOOL  b)
inlinevirtual
Remarks
A node is marked as a group member or not. This method sets this state.
Parameters
bTRUE to mark the node as a group member; FALSE to indicate it's not in a group.

Reimplemented from INode.

2102{ node->SetGroupMember(b); }
virtual void SetGroupMember(BOOL b)
Definition: inode.h:1361

◆ SetGroupHead()

void SetGroupHead ( BOOL  b)
inlinevirtual
Remarks
A node is marked as the group head or not. This method sets this state.
Parameters
bTRUE to mark the node as a group head; FALSE to indicate it's not a group head.

Reimplemented from INode.

2103{ node->SetGroupHead(b); }
virtual void SetGroupHead(BOOL b)
Definition: inode.h:1365

◆ SetGroupMemberOpen()

void SetGroupMemberOpen ( BOOL  b)
inlinevirtual
Remarks
A node is marked as an open group member or not. This method sets this state.
Parameters
bTRUE to mark the node as a open; FALSE to indicate it's not open.

Reimplemented from INode.

virtual void SetGroupMemberOpen(BOOL b)
Definition: inode.h:1369

◆ SetGroupHeadOpen()

void SetGroupHeadOpen ( BOOL  b)
inlinevirtual
Remarks
A node is marked as being the head of a group and being open or not. This method sets this state.
Parameters
bTRUE to mark the node as an open group head; FALSE to indicate it's not an open group head.

Reimplemented from INode.

2105{ node->SetGroupHeadOpen(b); }
virtual void SetGroupHeadOpen(BOOL b)
Definition: inode.h:1374

◆ NotifyRefChanged()

RefResult NotifyRefChanged ( const Interval changeInt,
RefTargetHandle  hTarget,
PartID partID,
RefMessage  message,
BOOL  propagate 
)
inlinevirtual

Receives and responds to messages.

A plugin which makes references must implement a method to receive and respond to messages broadcast by its dependents. This is done by implementing NotifyRefChanged(). The plugin developer usually implements this method as a switch statement where each case is one of the messages the plugin needs to respond to. The Method StdNotifyRefChanged calls this, which can change the partID to new value. If it doesn't depend on the particular message& partID, it should return REF_DONTCARE.

  • For developer that need to update a dialog box with data about an object you reference note the following related to this method: This method may be called many times. For instance, say you have a dialog box that displays data about an object you reference. This method will get called many time during the drag operations on that object. If you updated the display every time you'd wind up with a lot of 'flicker' in the dialog box. Rather than updating the dialog box each time, you should just invalidate the window in response to the NotifyRefChanged() call. Then, as the user drags the mouse your window will still receive paint messages. If the scene is complex the user may have to pause (but not let up on the mouse) to allow the paint message to go through since they have a low priority. This is the way many windows in 3ds Max work.
Parameters
changeInt- This is the interval of time over which the message is active. Currently, all plug-ins will receive FOREVER for this interval, with the exception of REFMSG_FLAGDEPENDENTS notifications. In that case, changeInt.Start() is the timepoint to perform the dependency test.
hTarget- This is the handle of the reference target the message was sent by. The reference maker uses this handle to know specifically which reference target sent the message.
partID- This contains information specific to the message passed in. Some messages don't use the partID at all. See the section List of Reference Messages for more information about the meaning of the partID for some common messages.
message- The message parameters passed into this method is the specific message which needs to be handled.
propagate- If called through ReferenceMaker::NotifyDependents(), the value of 'propagate' passed to it. Used if calling NotifyDependents() from within NotifyRefChanged().
Returns
The return value from this method is of type RefResult. This is usually REF_SUCCEED indicating the message was processed. Sometimes, the return value may be REF_STOP. This return value is used to stop the message from being propagated to the dependents of the item.

Implements ReferenceMaker.

2108 {return REF_SUCCEED;}
@ REF_SUCCEED
The operation succeeded.
Definition: ref.h:765

◆ CopyProperties()

void CopyProperties ( INode from)
inline
2109{node->CopyProperties(from);}
CoreExport void CopyProperties(INode *from)

◆ GetClassName()

virtual void GetClassName ( MSTR s,
bool  localized = true 
) const
inlineoverridevirtual

Retrieves the name of the plugin class.

This name is used in 3ds Max's UI and in MAXScript. For Material plug-ins this method is used to put up the material "type" name in the Material Editor.

Parameters
sReference to a string filled in with the name of the plugin class.
localizedIf true, then the class name returned should be localized in the language 3ds Max is currently using. Otherwise it should be the class name in English. If a plugin does not provide localized string resources, it can disregard this parameter and always return the class name in English.

Reimplemented from Animatable.

2111{ UNUSED_PARAM(localized); s = _M("INodeTransformed"); } // from Animatable
#define UNUSED_PARAM(x)
Definition: BuildWarnings.h:18
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67

Member Data Documentation

◆ node

INode* node

◆ tm

Matrix3 tm

◆ deleteMe

BOOL deleteMe