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> ×,
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()