3ds Max C++ API Reference
|
#include <control.h>
Public Member Functions | |
CoreExport | Control () |
virtual | ~Control () |
virtual BOOL | InheritsParentTransform () |
CoreExport int | NumRefs () |
Returns the total number of references this ReferenceMaker can hold. | |
CoreExport RefTargetHandle | GetReference (int i) |
Returns the 'i-th' reference. | |
CoreExport int | NumSubs () |
CoreExport Animatable * | SubAnim (int i) |
CoreExport MSTR | SubAnimName (int i, bool localized=true) override |
CoreExport void * | GetInterface (ULONG id) |
CoreExport int | PaintFCurves (ParamDimensionBase *dim, HDC hdc, Rect &rcGraph, Rect &rcPaint, float tzoom, int tscroll, float vzoom, int vscroll, DWORD flags) |
CoreExport int | GetFCurveExtents (ParamDimensionBase *dim, float &min, float &max, DWORD flags) |
This method is called to calculate the largest and smallest values of the anim. | |
virtual CoreExport void | BaseClone (ReferenceTarget *from, ReferenceTarget *to, RemapDir &remap) |
virtual BOOL | PreventNodeDeletion () |
virtual CoreExport float | EvalVisibility (TimeValue t, View &view, Box3 pbox, Interval &valid) |
virtual BOOL | VisibleInViewports () |
virtual BOOL | CanInstanceController () |
CoreExport void | CloneControl (Control *ctrl, RemapDir &remap) |
virtual CoreExport SvGraphNodeReference | SvTraverseAnimGraph (IGraphObjectManager *gom, Animatable *object, int id, DWORD flags) |
virtual CoreExport MSTR | SvGetName (IGraphObjectManager *gom, IGraphNode *gNode, bool isBeingEdited) |
virtual CoreExport bool | SvHandleDoubleClick (IGraphObjectManager *gom, IGraphNode *gNode) |
virtual CoreExport bool | SvCanInitiateLink (IGraphObjectManager *gom, IGraphNode *gNode) |
virtual CoreExport bool | SvCanConcludeLink (IGraphObjectManager *gom, IGraphNode *gNode, IGraphNode *gNodeChild) |
virtual CoreExport bool | SvLinkChild (IGraphObjectManager *gom, IGraphNode *gNodeThis, IGraphNode *gNodeChild) |
virtual CoreExport bool | SvEditProperties (IGraphObjectManager *gom, IGraphNode *gNode) |
CoreExport void * | GetInterface (ULONG id) override |
Inherited from Animatable. | |
CoreExport BaseInterface * | GetInterface (Interface_ID id) override |
Inherited from Animatable. | |
New Controller Assignment | |
| |
virtual void | Copy (Control *from)=0 |
virtual BOOL | IsReplaceable () |
Undo/Redo Methods | |
Controllers, like objects and modifiers, need to be able to undo and redo themselves. Whenever a controller is about to modify its data, it checks the state of the global Hold object to see if it is holding. If so it must register a RestoreObject with the hold (see the Advanced Topics section eUndo/Redo). Controllers also support another type of undo and redo through two methods: CommitValue() and RestoreValue(). | |
virtual void | CommitValue (TimeValue t) |
virtual void | RestoreValue (TimeValue t) |
Lookat Controller Methods | |
virtual INode * | GetTarget () |
virtual RefResult | SetTarget (INode *targ) |
Sub-Controllers | |
virtual Control * | GetPositionController () |
virtual Control * | GetRotationController () |
virtual Control * | GetScaleController () |
virtual BOOL | SetPositionController (Control *c) |
virtual BOOL | SetRotationController (Control *c) |
virtual BOOL | SetScaleController (Control *c) |
virtual Control * | GetXController () |
virtual Control * | GetYController () |
virtual Control * | GetZController () |
virtual Control * | GetWController () |
virtual Control * | GetRollController () |
virtual BOOL | SetRollController (Control *c) |
Transform Controller Methods | |
| |
virtual DWORD | GetInheritanceFlags () |
virtual BOOL | SetInheritanceFlags (DWORD f, BOOL keepPos) |
virtual BOOL | ChangeParents (TimeValue t, const Matrix3 &oldP, const Matrix3 &newP, const Matrix3 &tm) |
virtual RefResult | PinNodeChanged (RefMessage message, const Interval &changeInt, PartID &partID) |
IsLeaf/IsKeyable/IsColor | |
virtual BOOL | IsColorController () |
virtual BOOL | IsLeaf () |
virtual int | IsKeyable () |
Get/Set Value Methods | |
virtual void | GetValue (TimeValue t, void *val, Interval &valid, GetSetMethod method=CTRL_ABSOLUTE)=0 |
void | GetValue (TimeValue t1, void *val1, GetSetMethod method1=CTRL_ABSOLUTE) |
void | GetValue (TimeValue t1, void *val1, Interval &&, GetSetMethod method1=CTRL_ABSOLUTE) |
virtual void | SetValue (TimeValue t, void *val, int commit=1, GetSetMethod method=CTRL_ABSOLUTE)=0 |
virtual CoreExport bool | GetLocalTMComponents (TimeValue t, TMComponentsArg &cmpts, Matrix3Indirect &parentMatrix) |
Range Type for Controller | |
virtual int | GetORT (int type) |
virtual CoreExport void | SetORT (int ort, int type) |
virtual CoreExport void | EnableORTs (BOOL enable) |
Load/Save | |
CoreExport IOResult | Save (ISave *isave) |
CoreExport IOResult | Load (ILoad *iload) |
Inverse Kinematics | |
The following is an overview of the control flow of the system calling these IK methods on the controller during IK calculations: First the system calls EnumIKParams() once to get the number of IK parameters (degrees of freedom) from the plug-in. This lets the system know how many parameters the controller has. This happens only once when the entire chain is set up. For example, during interactive IK, when the user presses the mouse button down, the chain is set up. In applied IK, when the user presses the Apply IK button, the chain is set up. | |
virtual void | EnumIKParams (IKEnumCallback &callback) |
virtual BOOL | CompDeriv (TimeValue t, Matrix3 &ptm, IKDeriv &derivs, DWORD flags) |
virtual float | IncIKParam (TimeValue t, int index, float delta) |
virtual void | ClearIKParam (Interval iv, int index) |
virtual void | InitIKJoints (InitJointData *posData, InitJointData *rotData) |
virtual BOOL | GetIKJoints (InitJointData *posData, InitJointData *rotData) |
virtual BOOL | GetDOFParams (TimeValue t, Matrix3 &ptm, DOFParams &dofs, BOOL nodeSel) |
virtual BOOL | CreateLockKey (TimeValue t, int which) |
virtual void | MirrorIKConstraints (int axis, int which, BOOL pasteMirror=FALSE) |
virtual BOOL | TerminateIK () |
virtual void | InitIKJoints2 (InitJointData2 *posData, InitJointData2 *rotData) |
virtual BOOL | GetIKJoints2 (InitJointData2 *posData, InitJointData2 *rotData) |
virtual void | NodeIKParamsChanged () |
virtual void | TMInvalidated () |
virtual BOOL | OKToBindToNode (INode *node) |
Copying and Pasting IK Parameters in the Hierarchy Branch | |
| |
virtual BOOL | CanCopyIKParams (int which) |
virtual IKClipObject * | CopyIKParams (int which) |
virtual BOOL | CanPasteIKParams (IKClipObject *co, int which) |
virtual void | PasteIKParams (IKClipObject *co, int which) |
Ease/Mulitplier Curves | |
virtual BOOL | CanApplyEaseMultCurves () |
CoreExport TimeValue | ApplyEase (TimeValue t, Interval &valid) |
CoreExport void | AppendEaseCurve (Control *cont) |
CoreExport void | DeleteEaseCurve (int i) |
CoreExport Control * | GetEaseCurve (int i) |
CoreExport int | NumEaseCurves () |
CoreExport float | GetMultVal (TimeValue t, Interval &valid) |
CoreExport void | AppendMultCurve (Control *cont) |
CoreExport void | DeleteMultCurve (int i) |
CoreExport Control * | GetMultCurve (int i) |
CoreExport int | NumMultCurves () |
Post Clone Notification | |
virtual void | PostCloneNode () |
Display a Gizmo (apparatus) in a Scene | |
Controllers that want to have a gizmo (apparatus) available in the scene need to implement these methods: | |
virtual int | Display (TimeValue t, INode *inode, ViewExp *vpt, int flags) |
virtual int | HitTest (TimeValue t, INode *inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt) |
virtual void | GetWorldBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box) |
virtual void | ActivateSubobjSel (int level, XFormModes &modes) |
virtual void | SelectSubComponent (CtrlHitRecord *hitRec, BOOL selected, BOOL all, BOOL invert=FALSE) |
virtual void | ClearSelection (int selLevel) |
virtual int | SubObjectIndex (CtrlHitRecord *hitRec) |
virtual void | SelectAll (int selLevel) |
virtual void | InvertSelection (int selLevel) |
Reference Coordinate System Definition | |
When the user is in a sub-object selection level, the system needs to get the reference coordinate system definition from the current controller being edited so that it can display the axis. Following methods are used for this purpose: | |
virtual void | GetSubObjectCenters (SubObjAxisCallback *cb, TimeValue t, INode *node) |
virtual void | GetSubObjectTMs (SubObjAxisCallback *cb, TimeValue t, INode *node) |
Modify Sub-object Apparatuses | |
virtual void | SubMove (TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Point3 &val, BOOL localOrigin=FALSE) |
virtual void | SubRotate (TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Quat &val, BOOL localOrigin=FALSE) |
virtual void | SubScale (TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Point3 &val, BOOL localOrigin=FALSE) |
virtual BOOL | RescaleTime (Interval oseg, Interval nseg) |
virtual int | GetDrawPixelStep () |
virtual int | GetExtentTimeStep () |
![]() | |
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. | |
virtual void | RefDeleted (ReferenceMaker *oldOwner) |
Called after a reference to this is deleted. | |
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. | |
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. | |
![]() | |
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 ReferenceSaveManager & | GetReferenceSaveManager () |
Access the ReferenceSaveManager of this ReferenceMaker. | |
virtual CoreExport IOResult | Save (ISave *isave, ChannelMask) |
Access the ReferenceSaveManager of this ReferenceMaker. | |
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 object and its 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 void | FreeCaches () |
virtual int | NumChildren () |
virtual Animatable * | ChildAnim (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 void * | GetProperty (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 AnimProperty * | FindProperty (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 AppDataChunk * | GetAppDataChunk (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 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 ParamDimension * | GetParamDimension (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 > ×, 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 TrackClipObject * | CopyTrack (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 TrackClipObject * | CopySubTrack (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 | 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 () |
CoreExport void | AddNoteTrack (NoteTrack *note) |
CoreExport void | DeleteNoteTrack (NoteTrack *note, BOOL delNote=TRUE) |
CoreExport BOOL | HasNoteTracks () |
CoreExport int | NumNoteTracks () |
CoreExport NoteTrack * | GetNoteTrack (int i) |
CoreExport DWORD | DeleteAllNoteTracks () |
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 IParamBlock2 * | GetParamBlock (int i) |
virtual IParamBlock2 * | GetParamBlockByID (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 () |
CoreExport SvGraphNodeReference | SvStdTraverseAnimGraph (IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags) |
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 MultiSelectCallback * | SvGetMultiSelectCallback (IGraphObjectManager *gom, IGraphNode *gNode) |
virtual CoreExport bool | SvCanSelect (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 ICustAttribContainer * | GetCustAttribContainer () |
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. | |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Protected Member Functions | |
virtual CoreExport void | SetReference (int i, RefTargetHandle rtarg) |
Stores a ReferenceTarget as its 'i-th' reference`. | |
![]() | |
CoreExport int | DoEnumDependentsImpl (DependentEnumProc *dep) override |
Method to perform an enumeration on a ReferenceTarget. | |
virtual CoreExport | ~ReferenceTarget ()=0 |
Destructor. | |
![]() | |
virtual CoreExport | ~ReferenceMaker ()=0 |
Destructor. | |
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. | |
![]() | |
virtual CoreExport | ~Animatable ()=0 |
Destructor. | |
![]() | |
Noncopyable () | |
~Noncopyable () | |
Additional Inherited Members | |
![]() | |
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 Animatable * | GetAnimByHandle (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 UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_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 const AnimHandle | kInvalidAnimHandle = 0 |
![]() | |
DWORD | aflag |
AnimPropertyList | aprops |
CoreExport Control | ( | ) |
|
inlinevirtual |
from | A pointer to the previous controller. |
t | Specifies the time to save the value. |
t | Specifies the time to restore the value. |
|
inlinevirtual |
targ | The target node to store. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
f | The inheritance flags. One or more of the following values: INHERIT_POS_X INHERIT_POS_Y INHERIT_POS_Z INHERIT_ROT_X INHERIT_ROT_Y INHERIT_ROT_Z INHERIT_SCL_X INHERIT_SCL_Y INHERIT_SCL_Z INHERIT_ALL |
keepPos | If TRUE the position of the node should remain the same; otherwise the node may move. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in LockableStdControl, and LockableControl.
|
inlinevirtual |
t | The time of the change. |
oldP | The old parent matrix. |
newP | The new parent matrix. |
tm | The nodes current world transformation. |
|
pure virtual |
t | Specifies the time to retrieve the value. |
val | This points to a variable to hold the computed value of the controller at the specified time. What the plug-in needs to do to store the value of the controller depends on the controller type. There are six controller types: float, Point3, Position, Rotation, Scale, and Transform. The way the value is stored also depends on the GetSetMethod parameter method. See "val parameter Handling" below for a list of the possible cases, and how the value should be stored in each case. |
valid | The interval into which the validity of the evaluated parameters is intersected. |
method | One of the following values: CTRL_RELATIVE Indicates the plug-in should apply the value of the controller to *val. See Above. CTRL_ABSOLUTE Indicates the controller should simply store its value in *val. See Above. |
Implemented in StdControl.
|
inline |
|
inline |
|
pure virtual |
t | Specifies the time to save the value. |
val | Points to an instance of a data type that corresponds with the controller type. These are the same as GetValue() above with the following exceptions: For rotation controllers, if the GetSetMethod is CTRL_RELATIVE, *val points to an AngAxis, while if it is CTRL_ABSOLUTE it points to a Quat. For Matrix3 controllers *val points to an instance of class SetXFormPacket. See Class SetXFormPacket. |
commit | When SetValue() is called the controller should store it value (usually into a cache it maintains), and if this parameter is set, also 'commit' it's value (usually by calling CommitValue()). For example, consider a 3ds Max keyframe controller: If commit==1 and if the Animate button is on, then the cache should be updated and a key should be created. If the Animate button is off then the cache should be updated and the keys should all be offset. If commit==0 then the cache value is set and its validity interval is set to the current time. If later commit==1 then a key would be created from that cached value. If SetValue() is never called with commit=1 then the key is never set. For instance with Inverse Kinetmatics, SetValue() is called many times over and over at the same TimeValue with commit=0. The controller doesn't create a key, it just changes its cached value. When an IK solution is finally reached, SetValue() is called with commit=1 and a key is created. Note that calling SetValue() with commit=0 and then calling CommitValue() should have the same effect as calling SetValue() with commit=1. See the methods CommitValue() and RestoreValue() below. |
method | One of the following values: CTRL_RELATIVE Indicates the plug-in should add the value to the existing value *val (i.e. Move/Rotate/Scale) CTRL_ABSOLUTE Indicates the plug-in should just set the value. Important Note for Matrix3 Controllers:When SetValue() is called the method parameter is ignored. The *val pointer passed to SetValue() points to an instance of Class SetXFormPacket. See that class for more details on how it is used. |
Implemented in StdControl.
|
virtual |
t | The time at which to get the local TM components. |
cmpts | See Structure TMComponentsArgs. |
parentMatrix | The parent matrix. Note the definition: LocalMatrix = WorldMatrix * ParentWorldMatrix^(-1) |
Reimplemented in StdControl.
|
inlinevirtual |
type | One of the following values: ORT_BEFORE - leading up to the pattern ORT_AFTER - beyond the key pattern |
|
virtual |
ort | See outOfRangeTypes. |
type | One of the following values: ORT_BEFORE - leading up to the pattern ORT_AFTER - beyond the key pattern |
|
virtual |
enable | TRUE to enable ORTs; FALSE to disable. |
|
virtual |
isave | This pointer may be used to call methods to write data to disk. See Class ISave. |
Reimplemented from ReferenceMaker.
|
virtual |
iload | This pointer may be used to call methods to load data from disk. See Class ILoad. |
Reimplemented from ReferenceMaker.
|
inlinevirtual |
callback | This callback is provided by the system and should be called by the plug-in once for each IK parameter the plug-in has. See Class IKEnumCallback. |
t | Specifies the time to compute the derivative. |
ptm | The parents transformation. |
derivs | This class provides methods the plug-in calls to set the derivatives. See Class IKDeriv. |
flags | One of the following values: POSITION_DERIV Indicates that derivs.DP() should be called. ROTATION_DERIV Indicates that derivs.DR() should be called. |
t | The time of the increment. |
index | Specifies the IK parameter to increment. |
delta | The delta to apply to the parameter. The controller can increment the parameter less than this delta if it needs to in order to accommodate a limit it has. This methods returns the amount that was actually incremented. |
iv | The interval over which the keys should be deleted. |
index | Specified the degree of freedom (parameter) that the keys should be deleted for. |
|
inlinevirtual |
posData | The position data from the 3DS file. See Class InitJointData. |
rotData | The rotation data from the 3DS file. |
|
inlinevirtual |
posData | Points to the object to hold the position data. See Class InitJointData. |
rotData | Points to the object to hold the rotation data. |
|
inlinevirtual |
t | The current time. |
ptm | The parent matrix. |
dofs | This is the structure to be filled in. See Class DOFParams. |
nodeSel | TRUE if the node is currently selected; otherwise FALSE. |
t | The time to create the key. |
which | Specifies which type of key to create: 0 for position, 1 for rotation. |
axis | Specifies the axis of reflection: 0 for X, 1 for Y, 2 for Z. |
which | Specifies which type of constraints are being mirrored: 0 for position, 1 for rotation. |
pasteMirror | TRUE if the mirror is being done as part of a paste operation; otherwise FALSE (for example if the mirror was being done with the mirror tool). |
|
inlinevirtual |
|
inlinevirtual |
posData | The position data from the 3DS file. See Class InitJointData2. |
rotData | The rotation data from the 3DS file. |
|
inlinevirtual |
posData | Points to the object to hold the position data. See Class InitJointData2. |
rotData | Points to the object to hold the rotation data. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
node | Points to the node to check. |
|
inlinevirtual |
which | One of the following values: COPYPASTE_IKPOS COPYPASTE_IKROT |
|
inlinevirtual |
which | One of the following values: COPYPASTE_IKPOS COPYPASTE_IKROT |
|
inlinevirtual |
co | A pointer to the current IKClipObject in the clipboard. This class identifies the creator of the clip object. See Class IKClipObject. The plug-in should look at the IDs in the IKClipObject to make sure it matches this controller. If it does not, the plug-in should return FALSE. |
which | One of the following values: COPYPASTE_IKPOS COPYPASTE_IKROT |
|
inlinevirtual |
co | A pointer to an IKClipObject. See Class IKClipObject. |
which | One of the following values: COPYPASTE_IKPOS COPYPASTE_IKROT |
|
inlinevirtual |
message | The message that was sent. |
changeInt | This is the interval of time over which the message is active. Currently, all controllers will receive FOREVER for this interval. |
partID | This contains information specific to the message passed in. Some messages don't use the partID at all. See Reference Messages and PartID for more information. |
|
inlinevirtual |
Reimplemented in LockableStdControl, and LockableControl.
CoreExport TimeValue ApplyEase | ( | TimeValue | t, |
Interval & | valid | ||
) |
t | The time to have modified by the ease curve. |
valid | The interval into which the validity of the evaluated parameters is intersected. |
CoreExport void AppendEaseCurve | ( | Control * | cont | ) |
cont | The controller that the ease curve will be applied to. |
CoreExport void DeleteEaseCurve | ( | int | i | ) |
i | The index of the ease curve to delete. |
CoreExport Control * GetEaseCurve | ( | int | i | ) |
CoreExport int NumEaseCurves | ( | ) |
CoreExport float GetMultVal | ( | TimeValue | t, |
Interval & | valid | ||
) |
t | The time to retrieve the value. |
valid | The interval into which the validity of the evaluated parameters is intersected. |
CoreExport void AppendMultCurve | ( | Control * | cont | ) |
cont | The controller to have the multiplier curve added. |
CoreExport void DeleteMultCurve | ( | int | i | ) |
i | The index of the curve to delete. |
CoreExport Control * GetMultCurve | ( | int | i | ) |
CoreExport int NumMultCurves | ( | ) |
|
virtual |
Returns the total number of references this ReferenceMaker can hold.
The plugin implements this method to indicate the total number of of references it can make. This includes all references whether they are NULL (inactive) or non-NULL (active) at the time when this method is called. A plugin can hold a variable number of references, thus the return value of this method is not to be cached and reused by client code.
Reimplemented from ReferenceMaker.
|
virtual |
Returns the 'i-th' reference.
The plugin implements this method to return its 'i-th' reference. The plug-in simply keeps track of its references using an integer index for each one. This method is normally called by the system.
i | - The index of the reference to retrieve. Valid values are from 0 to NumRefs()-1. |
Reimplemented from ReferenceMaker.
|
protectedvirtual |
Stores a ReferenceTarget as its 'i-th' reference`.
The plugin implements this method to store the reference handle passed to it as its 'i-th' reference. In its implementation of this method, the plugin should simply assign the reference handle passed in as a parameter to the member variable that holds the 'i-th' reference. Other reference handling methods such as ReferenceMaker::DeleteReference(), or ReferenceMaker::ReplaceReference() should not be called from within this method. The plugin itself or other plugins should not call this method directly. The system will call this method when a new reference is created or an existing one is replaced by calling ReferenceMaker::ReplaceReference().
i | - The index of the reference to store. Valid values are from 0 to NumRefs()-1. |
rtarg | - The reference handle to store. |
Reimplemented from ReferenceMaker.
|
virtual |
Reimplemented from Animatable.
|
virtual |
i | This is the index of the sub-anim to return. |
Reimplemented from Animatable.
|
overridevirtual |
i | The index of the parameter name to return |
localized | If true, then the sub-anim name returned should be localized in the language 3ds Max is currently using. Otherwise it should be the sub-anim name in English. If a plugin does not provide localized string resources, it can disregard this parameter and always return the sub-anim name in English. |
Reimplemented from Animatable.
|
virtual |
id | The id of the interface. |
Reimplemented from Animatable.
Reimplemented in LockableStdControl, and LockableControl.
|
virtual |
dim | The parameter dimension. See Class ParamDimensionBase. |
hdc | The handle of the device context. |
rcGraph | The entire rectangle of the inside of the graph region. |
rcPaint | This is the rectangular region that needs to be repainted - the invalid region. |
tzoom | The time zoom factor. |
tscroll | The time scroll factor. |
vzoom | The value zoom factor. |
vscroll | The value scroll factor. |
flags | One or more of the following values which are filters for controllers with more than one curve: PAINTCURVE_SHOWTANGENTS Show the curve tangent handles. PAINTCURVE_FROZEN Show the curve in a frozen state. DISPLAY_XCURVE DISPLAY_YCURVE DISPLAY_ZCURVE PAINTCURVE_GENCOLOR Draw the curve in its standard color. The following options are passed to float controllers indicating a sugested color for drawing: PAINTCURVE_XCOLOR Draw the curve in red. PAINTCURVE_YCOLOR Draw the curve in green. PAINTCURVE_ZCOLOR Draw the curve in blue. |
Reimplemented from Animatable.
|
virtual |
This method is called to calculate the largest and smallest values of the anim.
The values max and min should be initialized before calling this function. A plugin implementing this function should not reset the values passed - in this way if max is passed with a larger value than the curve extents calculated for the current anim, the value of max will be unchanged.
dim | - The dimension of the anim. | |
[out] | min | - The smallest value. These are in the units given by the dimension. For example, if it was an angle parameter that was displayed in degrees, the units returned through min should be in degrees as well. A class should implement this method to not reset this value |
[out] | max | - The largest value. These are in the units given by the dimension. For example, if it was an angle parameter that was displayed in degrees, the units returned through max should be in degrees as well. |
flags | - One or more of the following values which are filters for controllers with more than one curve: DISPLAY_XCURVE DISPLAY_YCURVE DISPLAY_ZCURVE |
Reimplemented from Animatable.
|
virtual |
Reimplemented from ReferenceTarget.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
t | The time at which to evaluate. |
view | This class contains information about the view being rendered. This includes information such as the image width and height, the projection type, and matrices to convert between world to view and world to camera. See Class View. |
pbox | The bounding box of the node that's being evaluated. |
valid | This interval should be updated to reflect the validity of the visibility controller. The interval into which the validity of the evaluated parameters is intersected. |
|
inlinevirtual |
|
inlinevirtual |
CoreExport void CloneControl | ( | Control * | ctrl, |
RemapDir & | remap | ||
) |
ctrl | Points to the cloned controller (the new one). |
remap | The RemapDir passed to this controller's Clone() method. |
t | The time to display the object. |
inode | The node to display. |
vpt | An interface pointer that exposes methods the plug-in may call related to the viewports. |
flags | See Display Flags. |
|
inlinevirtual |
t | The time to perform the hit test. |
inode | A pointer to the node whose gizmo should be tested. |
type | The type of hit testing to perform. See Scene and Node Hit Test Types. for details. |
crossing | The state of the crossing setting. If TRUE crossing selection is on. |
flags | The hit test flags. See Scene and Node Hit Testing Flags for details. |
p | The screen point to test. |
vpt | An interface pointer that may be used to call methods associated with the viewports. |
|
inlinevirtual |
t | The time to retrieve the bounding box. |
inode | The node to calculate the bounding box for. |
vpt | An interface pointer that exposes portions of View3D that are exported for use by plug-ins. |
box | The returned bounding box. |
|
inlinevirtual |
level | The sub-object selection level the command modes should be set to support. A level of 0 indicates object level selection. If level is greater than or equal to 1 the index refers to the types registered by the object in the order they appeared in the list when registered by Interface::RegisterSubObjectTypes(). See Class Interface. |
modes | The command modes to support. See Class XFormModes. |
|
inlinevirtual |
hitRec | Identifies the component whose selected state should be modified. See Class CtrlHitRecord. |
selected | TRUE if the item should be selected; FALSE if the item should be de-selected. |
all | TRUE if the entire object should be selected; FALSE if only the portion of the identified by hitRec. |
invert | This is set to TRUE when all is also set to TRUE and the user is holding down the Shift key while region selecting in select mode. This indicates the items hit in the region should have their selection state inverted. |
selLevel | Specifies the selection level to clear. |
|
inlinevirtual |
hitRec | Identifies the component whose index should be returned. See Class CtrlHitRecord. |
selLevel | Specifies the selection level to select. |
selLevel | Specifies the selection level to invert. |
|
inlinevirtual |
cb | The callback object whose methods may be called. See Class SubObjAxisCallback. |
t | The time to enumerate the centers. |
node | A pointer to the node. |
|
inlinevirtual |
cb | The callback object whose methods may be called. See Class SubObjAxisCallback. |
t | The time to enumerate the TMs. |
node | A pointer to the node. |
|
inlinevirtual |
t | The time of the transformation. |
partm | The 'parent' transformation matrix. This matrix represents a transformation that would take points in the controller's space and convert them into world space points. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
val | This value is a vector with X, Y, and Z representing the movement along each axis. |
localOrigin | When TRUE the transformation is occurring about the sub-object's local origin. |
|
inlinevirtual |
|
inlinevirtual |
t | The time of the transformation. |
partm | The 'parent' transformation matrix. This matrix represents a transformation that would take points in the modifier's space and convert them into world space points. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
val | This value is a vector with X, Y, and Z representing the scale along X, Y, and Z respectively. |
localOrigin | When TRUE the transformation is occurring about the sub-object's local origin. See the note above in the Rotate method. |
oseg | The old time segment. |
nseg | The new time segment. |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
gom | Points to the schematic view window manager. |
owner | The owning animatable. |
id | This is usually the sub-anim number (but can actually be any value the developer chooses). |
flags | See Flags for AddAnimatable() and SvTravereseAnimGraph(). |
Reimplemented from Animatable.
|
virtual |
gom | Points to the schematic view window manager. |
gNode | Points to this node in the schematic view. |
isBeingEdited | TRUE if the item is being edited; FALSE if not. |
Reimplemented from Animatable.
|
virtual |
gom | Points to the schematic view window manager. |
gNode | Points to the node in the schematic view. |
Reimplemented from Animatable.
|
virtual |
gom | Points to the schematic view window manager. |
gNode | Points to this node in the schematic view. |
Reimplemented from Animatable.
|
virtual |
gom | Points to the schematic view window manager. |
gNode | Points to this node in the schematic view. |
gNodeChild | Points to the child node in the schematic view. |
Reimplemented from Animatable.
|
virtual |
gom | Points to the schematic view window manager. |
gNodeThis | Points to this node in the schematic view. |
gNodeChild | Points to the child node in the schematic view. |
Reimplemented from Animatable.
|
virtual |
Reimplemented from Animatable.
|
overridevirtual |
Inherited from Animatable.
Returns a pointer to the interface.
id | - The id of the interface. |
Reimplemented from ReferenceTarget.
|
overridevirtual |
Inherited from Animatable.
Returns a pointer to the Base Interface for the interface ID passed.
id | - The unique ID of the interface to get |
Reimplemented from ReferenceTarget.
Reimplemented in IXRefCtrl.