Method Groups for Class Animatable

The methods in this class are grouped below.

(Links go to the Animatable Class Reference page.)

Class Name, ClassID and SuperClassID Methods
Animatable::GetClassName(MSTR &s)
Animatable::ClassID()
Animatable::SuperClassID()
Memory Management
Animatable::DeleteThis()
Parameter Editing Methods
Animatable::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev=NULL)
Animatable::EndEditParams(IObjParam *ip, ULONG flags,Animatable *next=NULL)
Bitmap Related Methods
Animatable::FreeAllBitmaps()
Methods for Sub-Anims.
See Also: Advanced Topics Sub-Anims.
Animatable::NumSubs()
Animatable::SubAnim(int i)
Animatable::SubAnimName(int i)
Animatable::SelectSubAnim(int subNum)
Animatable::GetParamDimension(int i)
Animatable::GetSubAnimCurveColor(int subNum)
Animatable::SubNumToRefNum(int subNum)
Animatable::CanCopyAnim()
Animatable::HasSubElements(int type=0)
Animatable::CanDeleteSubAnim(int i)
Animatable::DeleteSubAnim(int i)
Controller Assignment
Animatable::AssignController(Animatable *control, int subAnim)
Animation Properties
Animatable::IsAnimated()
Make Unique Control
Animatable::CanMakeUnique()
Flag Access
Animatable::SetAFlag(DWORD mask)
Animatable::ClearAFlag(DWORD mask)
Animatable::TestAFlag(DWORD mask)
Animatable::FreeCaches()
AppData, Interfaces, and Properties.
The following methods deal with AppData. This is application specific data that may be attached to any Animatable in the scene. With these APIs any 3ds Max object (controller, object, node, modifier, material, etc.) can have custom data attached by other objects. These chunks are saved in the .MAX file and can be accessed through the object they are attached to. Sample code using these APIs can be found in /MAXSDK/SAMPLES/UTILITIES/APPDATA.CPP.
Animatable::AddAppDataChunk(Class_ID cid, SClass_ID sid, DWORD sbid, DWORD len, void *d)
Animatable::GetAppDataChunk(Class_ID cid, SClass_ID sid, DWORD sbid)
Animatable::RemoveAppDataChunk(Class_ID cid, SClass_ID sid, DWORD sbid)
Animatable::ClearAllAppData()
Animatable::GetInterface(ULONG id)
Animatable::ReleaseInterface(ULONG id,void* i)
Animatable::GetInterface(Interface_ID id)
Animatable::SetProperty(ULONG id, void *data)
Animatable::GetProperty(ULONG id)
Clipboard Methods
Animatable::CanCopyTrack(Interval iv, DWORD flags)
Animatable::CanPasteTrack(TrackClipObject *cobj,Interval iv, DWORD flags)
Animatable::CopyTrack(Interval iv, DWORD flags)
Animatable::PasteTrack(TrackClipObject *cobj, Interval iv, DWORD flags)
Animatable::CanCopySubTrack(int subNum, Interval iv, DWORD flags)
Animatable::CanPasteSubTrack(int subNum, TrackClipObject *cobj, Interval iv, DWORD flags)
Animatable::CopySubTrack(int subNum, Interval iv, DWORD flags)
Animatable::PasteSubTrack(int subNum, TrackClipObject *cobj,Interval iv, DWORD flags)
Interactive Adjustment
Animatable::MouseCycleCompleted(TimeValue t)
Animatable::MouseCycleStarted(TimeValue t)
Methods called when rendering is started and finished
Animatable::RenderBegin(TimeValue t, ULONG flags=0)
Animatable::RenderEnd(TimeValue t)
System Plug-In Related Methods
Animatable::GetSystemNodes(INodeTab &nodes, SysNodeContext)
The following methods deal with operations to Keys and Track View:
Animatable::BypassTreeView()
Animatable::BypassTrackBar()
Animatable::BypassPropertyLevel()
Animatable::InvisibleProperty()
Animatable::NumKeys()
Animatable::GetKeyTime(int index)
Animatable::GetKeyIndex(TimeValue t)
Animatable::GetNextKeyTime(TimeValue t,DWORD flags,TimeValue &nt)
Animatable::CopyKeysFromTime(TimeValue src,TimeValue dst,DWORD flags)
Animatable::DeleteKeyAtTime(TimeValue t)
Animatable::IsKeyAtTime(TimeValue t,DWORD flags)
Animatable::GetKeyTimes(Tab<TimeValue> &times, Interval range, DWORD flags)
Animatable::GetKeySelState(BitArray &sel,Interval range,DWORD flags)
Animatable::OpenTreeEntry(int type, DWORD tv)
Animatable::CloseTreeEntry(int type, DWORD tv)
Animatable::IsTreeEntryOpen(int type, DWORD tv)
Animatable::GetSelInTrackView(DWORD tv)
Animatable::SetSelInTrackView(DWORD tv, BOOL sel)
Animatable::InTrackViewSelSet(int which)
Animatable::SetTrackViewSelSet(int which, BOOL inOut)
Operations to a selected block of time.
Animatable::GetTimeRange(DWORD flags)
Animatable::EditTimeRange(Interval range,DWORD flags)
Animatable::DeleteTime(Interval iv, DWORD flags)
Animatable::ReverseTime(Interval iv, DWORD flags)
Animatable::ScaleTime(Interval iv, float s)
Animatable::InsertTime(TimeValue ins, TimeValue amount)
Animatable::SupportTimeOperations()
Animatable::MapKeys(TimeMap *map, DWORD flags)
Animatable::DeleteKeys(DWORD flags)
Animatable::DeleteKeyByIndex(int index)
Animatable::SelectKeys(TrackHitTab& sel, DWORD flags)
Animatable::SelectSubKeys(int subNum, TrackHitTab& sel, DWORD flags)
Animatable::SelectSubCurve(int subNum,BOOL sel)
Animatable::SelectKeyByIndex(int i, BOOL sel)
Animatable::FlagKey(TrackHitRecord hit)
Animatable::GetFlagKeyIndex()
Animatable::NumSelKeys()
Animatable::CloneSelectedKeys(BOOL offset=FALSE)
Animatable::AddNewKey(TimeValue t,DWORD flags)
Animatable::MoveKeys(ParamDimensionBase *dim,float delta,DWORD flags)
Animatable::ScaleKeyValues(ParamDimensionBase *dim,float origin, float scale,DWORD flags)
Animatable::SelectCurve(BOOL sel)
Animatable::IsCurveSelected()
Animatable::IsKeySelected(int index)
Animatable::GetSelKeyCoords(TimeValue &t, float &val, DWORD flags)
Animatable::SetSelKeyCoords(TimeValue t, float val,DWORD flags)
Animatable::SetSelKeyCoordsExpr(ParamDimension *dim, MCHAR *timeExpr, MCHAR *valExpr, DWORD flags)
Animatable::AdjustTangents(TrackHitRecord hit,ParamDimensionBase *dim, Rect& rcGraph,float tzoom, int tscroll,float vzoom, int vscroll,int dx,int dy, DWORD flags)
Drawing and hit testing tracks
Animatable::GetTrackVSpace(int lineHeight)
Animatable::HitTestTrack(TrackHitTab& hits,Rect& rcHit,Rect& rcTrack,float zoom,int scroll,DWORD flags)
Animatable::PaintTrack(ParamDimensionBase *dim, HDC hdc,Rect& rcTrack,Rect& rcPaint, float zoom, int scroll, DWORD flags)
Animatable::PaintSubTrack(int subNum, ParamDimensionBase *dim, HDC hdc, Rect& rcTrack, Rect& rcPaint, float zoom, int scroll, DWORD flags)
Drawing and hit testing function curves
Animatable::PaintFCurves(ParamDimensionBase *dim, HDC hdc, Rect& rcGraph,Rect& rcPaint, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
Animatable::HitTestFCurves(ParamDimensionBase *dim,TrackHitTab& hits, Rect& rcHit, Rect& rcGraph,float tzoom, int tscroll,float vzoom,int vscroll, DWORD flags)
Animatable::PaintSubFCurves(int subNum, ParamDimensionBase *dim, HDC hdc, Rect& rcGraph,Rect& rcPaint, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
Animatable::HitTestSubFCurves(int subNum, ParamDimensionBase *dim, TrackHitTab& hits, Rect& rcHit, Rect& rcGraph, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags)
Animatable::EditTrackParams(TimeValue t, ParamDimensionBase *dim, MCHAR *pname, HWND hParent, IObjParam *ip, DWORD flags)
Animatable::TrackParamsType()
Animatable::GetFCurveExtents(ParamDimensionBase *dim,float &min, float &max, DWORD flags)
Sub-Class Indication
Animatable::IsSubClassOf(Class_ID classID)
Enumeration of Anims and Auxiliary Files
Animatable::EnumAnimTree(AnimEnum *animEnum, Animatable *client, int subNum) Animatable::EnumAuxFiles(AssetEnumCallback& nameEnum, DWORD flags)
Animatable::NumChildren()
Animatable::ChildAnim(int i)
Animatable::NodeName()
The following methods deal with Note Tracks.
Animatable::AddNoteTrack(NoteTrack *note)
Animatable::DeleteNoteTrack(NoteTrack *note, BOOL delNote=TRUE)
Animatable::HasNoteTracks()
Animatable::NumNoteTracks()
Animatable::GetNoteTrack(int i)
Parameter Block2 Methods
Animatable::NumParamBlocks()
Animatable::GetParamBlock(int i)
Animatable::GetParamBlockByID(short id)
Schematic View Methods
Animatable::SvSaveData(ISave *isave, USHORT id)
Animatable::SvLoadData(ILoad *iLoad)
Animatable::SvTraverseAnimGraph(IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags)
Animatable::SvStdTraverseAnimGraph(IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags)
Animatable::SvCanInitiateLink(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvCanConcludeLink(IGraphObjectManager *gom, IGraphNode *gNode, IGraphNode *initiatingGNode)
Animatable::SvGetName(IGraphObjectManager *gom, IGraphNode *gNode, bool isBeingEdited)
Animatable::SvCanSetName(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvSetName(IGraphObjectManager *gom, IGraphNode *gNode, MSTR &name)
Animatable::SvCanRemoveThis(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvRemoveThis(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvIsHighlighted(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvHighlightColor(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvGetSwatchColor(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvIsInactive(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvLinkChild(IGraphObjectManager *gom, IGraphNode *gNodeThis, IGraphNode *gNodeChild)
Animatable::SvHandleDoubleClick(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvGetMultiSelectCallback(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvCanSelect(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvEditProperties(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvGetTip(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvGetRefTip(IGraphObjectManager *gom, IGraphNode *gNode, IGraphNode *gNodeMaker)
Animatable::SvCanDetach(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvDetach(IGraphObjectManager *gom, IGraphNode *gNode)
Animatable::SvGetRefIndex()
Animatable::SvSetRefIndex(DWORD i)
Animatable::SvDeleteRefIndex()
Animatable::operator=(const Animatable& an)
The following function is not a part of class Animatable but is available for use with note tracks:
NoteTrack *NewDefaultNoteTrack();
Custom Attributes
Animatable::GetCustAttribContainer()
Animatable::AllocCustAttribContainer()
Animatable::DeleteCustAttribContainer()