#include <Biped9Api.h>
Interface into the biped master controller for Max 9.
This contains functions supporting new biped features in Max 9, in particularly new functionality for setting large number of keys onto a biped at once, e.g. by loadin an XAF file.
Public Member Functions | |
Setting Blocks of Biped keys. | |
The following functions are used for setting a collection of biped keys all at once. Due to how biped works internally, the best way to set the keys on the biped is a pose per each frame, instead of setting keys over each body part individually. Since it's easier for many systems to set a key over each part, one at a time, we've added these functions that basically cache the values and then set them per pose per frame. This also allows us to perform some optimizations to speed up these operations which can be slow due to the number of change notifications. The workflow is thus, call StartSettingBipedKeys, set the world and/or local values for the limbs using SetBipedTM or SetBipedLocalRotation, and then call StopSettingBipedKeys, which will then go through and set the keys pose per frame. Note that these functions are used when loading an XAF file onto a biped. | |
virtual void | StartSettingBipedKeys ()=0 |
Function for specifying that we will be setting a group of biped keys. More... | |
virtual void | StopSettingBipedKeys ()=0 |
Function for specifying that we will are done setting a group of biped keys. More... | |
virtual void | SetBipedTM (TimeValue t, Matrix3 &mat, int id, int link)=0 |
Function for setting world transforms on a biped. More... | |
virtual void | SetBipedLocalRotation (TimeValue t, Quat &q, int id, int link)=0 |
Function for setting local biped rotation values. More... | |
Public Member Functions inherited from IBipMaster8 | |
virtual void | RefreshBipedUI ()=0 |
Updates the biped user interface. More... | |
virtual IMixer8 * | GetMixer8 ()=0 |
Get the new mixer interface for max 8 that supports max objects. More... | |
virtual bool | GetEulerActive (const int id)=0 |
Gets whether or not a biped track is euler. More... | |
virtual int | GetEulerOrder (const int id)=0 |
Gets the euler order of a biped track. More... | |
virtual bool | SetEulerActive (int id, int eulerOrder)=0 |
Sets a biped track to euler with the specified euler order. More... | |
virtual bool | SetQuaternionActive (int id)=0 |
Sets a biped track to quaternion. More... | |
virtual bool | SetEulerOrder (int id, int eulerOrder)=0 |
Sets a biped track to the specified euler order. More... | |
virtual bool | IsComLocked ()=0 |
Queries the locked state of the com. More... | |
virtual void | LockCom (bool lock)=0 |
Locks or unlocks the com. More... | |
virtual bool | GetTwist () const =0 |
Queries the state of Twists for this biped. More... | |
virtual void | SetTwist (bool enable)=0 |
Enables or disables the twists for this biped. More... | |
virtual float | GetTwistBias (int twisttrack) const =0 |
Gets the twist bias for the specified twist track of this biped. More... | |
virtual void | SetTwistBias (int twisttrack, float bias)=0 |
Sets the twist bias for the specified twist track of this biped. More... | |
virtual int | NumTwistPoses (int keytrack)=0 |
Queries the number of twist poses for the specified limb. More... | |
virtual bool | CreateTwistPose (int keytrack)=0 |
Creates a new arm or leg twist pose, and appends it the the existing poses. More... | |
virtual bool | SetTwistPose (int keytrack, int index)=0 |
Sets an existing arm or leg twist pose. More... | |
virtual bool | DeleteTwistPose (int keytrack, int index)=0 |
Deletes an arm or leg twist pose. More... | |
virtual void | SetDefaultTwistPoses (int keytrack)=0 |
Sets the arm or leg twist poses to the default poses. More... | |
virtual bool | SetTwistPoseName (int keytrack, int index, const MCHAR *name)=0 |
Sets the name of an arm or leg twist pose. More... | |
virtual bool | SetTwistPoseTwist (int keytrack, int index, float twist)=0 |
Sets the twist value of an arm or leg twist pose. More... | |
virtual bool | SetTwistPoseBias (int keytrack, int index, float bias)=0 |
Sets the bias value of an arm or leg twist pose. More... | |
virtual const MCHAR * | GetTwistPoseName (int keytrack, int index)=0 |
Returns the name of an arm or leg twist pose. More... | |
virtual float | GetTwistPoseTwist (int keytrack, int index)=0 |
Returns the twist value of an arm or leg twist pose. More... | |
virtual float | GetTwistPoseBias (int keytrack, int index)=0 |
Returns the bias value of an arm or leg twist pose. More... | |
virtual void | SetLimbToTwistPose (int keytrack, int index, bool opposite)=0 |
Updates the limb to match an arm or leg twist pose. More... | |
virtual int | LoadFigNoTwists (const MCHAR *fname, BOOL redraw=false, BOOL msgs=false)=0 |
Loads a figure file without loading the twist poses stored in the file. More... | |
virtual int | LoadFigJustTwists (const MCHAR *fname, BOOL redraw=false, BOOL msgs=false)=0 |
Loads only the twist poses from a figure file. More... | |
virtual void | ZeroTwist (int keytrack)=0 |
Zeros out the twist for the specified track of this biped. More... | |
virtual void | ZeroAll (int keytrack)=0 |
Zeros out all the angles for all the links of the specified track of this biped. More... | |
virtual void | SmoothTwist (int keytrack, float bias)=0 |
Smooths the twist between the first and last link of the specified track of this biped. More... | |
virtual int | NumCopyCollections () const =0 |
Queries the number of copy collections. More... | |
virtual ICopyCollection * | GetCopyCollection (int index) const =0 |
Gets a copy collection. More... | |
virtual ICopyCollection * | GetCopyCollection (const MCHAR *name, int *index) const =0 |
Gets a copy collection. More... | |
virtual ICopyCollection * | CreateCopyCollection (const MCHAR *colname)=0 |
Creates a copy collection. More... | |
virtual bool | DeleteCopyCollection (int index)=0 |
Deletes a copy collection. More... | |
virtual void | DeleteAllCopyCollections ()=0 |
Deletes all copy collections. More... | |
virtual IBipedCopy * | CopyBipPosture (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0 |
Copies the posture of the specified parts of this biped. More... | |
virtual IBipedCopy * | CopyBipPose (ICopyCollection *ICC, int snapshottype)=0 |
Copies the biped's pose. More... | |
virtual IBipedCopy * | CopyBipTrack (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0 |
Copies the animation of the specified parts of this biped. More... | |
virtual bool | PasteBipPosture (IBipedCopy *CP, bool opposite, int KeyPasteType, bool Hor, bool Ver, bool Trn, bool ByVel)=0 |
Pastes a posture onto this biped. More... | |
virtual bool | PasteBipPose (IBipedCopy *CP, bool opposite, int KeyPasteType, bool Hor, bool Ver, bool Trn, bool ByVel)=0 |
Pastes a pose onto this biped. More... | |
virtual bool | PasteBipTrack (IBipedCopy *CP, bool opposite, bool Hor, bool Ver, bool Trn)=0 |
Pastes a track onto this biped. More... | |
Public Member Functions inherited from IBipMaster | |
virtual | ~IBipMaster () |
virtual void | SetTrackSelection (int track)=0 |
virtual int | GetTrackSelection ()=0 |
virtual void | SaveBipFileDlg ()=0 |
virtual void | LoadBipFileDlg ()=0 |
virtual int | SaveFigfile (const MCHAR *fname)=0 |
virtual int | SaveStpfile (const MCHAR *fname)=0 |
virtual int | SaveBipfile (const MCHAR *fname, BOOL SaveListCntrls, BOOL SaveMaxObjects, Tab< SaveSubAnimInfo > *selectedControlers=NULL, Tab< INode * > *selectedNodes=NULL)=0 |
virtual int | SaveBipfileSegment (const MCHAR *filenamebuf, int StartSeg, int EndSeg, int SegKeyPerFrame, BOOL SaveListCntrls, BOOL SaveMaxObjects, Tab< SaveSubAnimInfo > *selectedControlers=NULL, Tab< INode * > *selectedNodes=NULL)=0 |
virtual int | LoadFigfile (const MCHAR *fname, BOOL redraw=false, BOOL msgs=false)=0 |
virtual int | LoadBipStpfile (const MCHAR *fname, BOOL redraw, BOOL msgs, BOOL MatchFile=false, BOOL ZeroHgt=false, BOOL loadMaxObjects=false, BOOL promptForDuplicates=false, BOOL retargetHeight=false, BOOL retargetLimbSizes=false, BOOL scaleIKObjectSize=false, BOOL loadSubAnimControllers=false, Tab< const MCHAR * > *selectedNodes=NULL, Tab< LoadSubAnimInfo > *selectedControllers=NULL)=0 |
virtual int | LoadMocapfile (const MCHAR *fname, BOOL redraw=false, BOOL msgs=false, BOOL prompt=false)=0 |
virtual BOOL | IsCreating ()=0 |
virtual void | BeginModes (DWORD modes, int redraw=TRUE)=0 |
virtual void | EndModes (DWORD modes, int redraw=TRUE)=0 |
virtual DWORD | GetActiveModes ()=0 |
virtual BOOL | CanSwitchMode (DWORD mode)=0 |
virtual void | ConvertToFreeForm (bool keyPerFrame=false)=0 |
virtual void | ConvertToFootSteps (bool keyPerFrame=false, bool flattenToZ=true)=0 |
virtual DWORD | GetDisplaySettings ()=0 |
virtual void | SetDisplaySettings (DWORD disp)=0 |
virtual BOOL | DoDisplayPrefDlg (HWND hParent)=0 |
virtual int | GetBodyType ()=0 |
virtual void | SetBodyType (int bodytype)=0 |
virtual int | GetDynamicsType ()=0 |
virtual void | SetDynamicsType (int dyn)=0 |
virtual float | GetGravAccel ()=0 |
virtual void | SetGravAccel (float grav)=0 |
virtual const MCHAR * | GetRootName ()=0 |
virtual void | SetRootName (const MCHAR *rootname, bool incAll=true)=0 |
virtual BOOL | GetAdaptLocks (int id)=0 |
virtual void | SetAdaptLocks (int id, BOOL onOff)=0 |
virtual BOOL | GetSeparateTracks (int id)=0 |
virtual void | SeparateTracks (int id, BOOL separate)=0 |
virtual void | SetBodySpaceNeckRotation (BOOL val)=0 |
virtual BOOL | GetBodySpaceNeckRotation ()=0 |
virtual BOOL | GetHasArms ()=0 |
virtual void | SetHasArms (BOOL arms)=0 |
virtual int | GetNumLinks (int keytrack)=0 |
virtual void | SetNumLinks (int keytrack, int n)=0 |
virtual int | GetNumFingers ()=0 |
virtual void | SetNumFingers (int n)=0 |
virtual int | GetNumToes ()=0 |
virtual void | SetNumToes (int n)=0 |
virtual float | GetAnkleAttach ()=0 |
virtual void | SetAnkleAttach (float aa)=0 |
virtual float | GetHeight ()=0 |
virtual void | SetHeight (float h, BOOL KeepFeetOnGround=TRUE)=0 |
virtual BOOL | GetTrianglePelvis ()=0 |
virtual void | SetTrianglePelvis (BOOL tri)=0 |
virtual BOOL | GetProp1Exists ()=0 |
virtual void | SetProp1Exists (BOOL prop)=0 |
virtual BOOL | GetProp2Exists ()=0 |
virtual void | SetProp2Exists (BOOL prop)=0 |
virtual BOOL | GetProp3Exists ()=0 |
virtual void | SetProp3Exists (BOOL prop)=0 |
virtual BOOL | ConvertFromBuffer ()=0 |
virtual BOOL | PasteFromBuffer ()=0 |
virtual BOOL | GetDispBuffer ()=0 |
virtual void | SetDispBuffer (BOOL onOff)=0 |
virtual BOOL | GetDispBufferTraj ()=0 |
virtual void | SetDispBufferTraj (BOOL onOff)=0 |
virtual BOOL | GetTalentFigMode ()=0 |
virtual void | SetTalentFigMode (BOOL onOff)=0 |
virtual void | AdjustTalentPose ()=0 |
virtual void | SaveTalentFigFile (const MCHAR *fname)=0 |
virtual void | SaveTalentPoseFile (const MCHAR *fname)=0 |
virtual BOOL | GetFSAppendState ()=0 |
virtual void | SetFSAppendState (BOOL onOff)=0 |
virtual BOOL | GetFSInsertState ()=0 |
virtual void | SetFSInsertState (BOOL onOff)=0 |
virtual int | GetGaitMode ()=0 |
virtual void | SetGaitMode (int mode)=0 |
virtual int | GetGroundDur ()=0 |
virtual void | SetGroundDur (int val)=0 |
virtual int | GetAirDur ()=0 |
virtual void | SetAirDur (int val)=0 |
virtual void | DoMultipleFSDlg ()=0 |
virtual int | AddFootprint (Point3 pos, float dir, Matrix3 mtx, int appendFS)=0 |
virtual void | AddFootprints (MultFprintParams *Params)=0 |
virtual void | NewFprintKeys ()=0 |
virtual void | BendFootprints (float angle)=0 |
virtual void | ScaleFootprints (float scale)=0 |
virtual IMoFlow * | GetMoFlow ()=0 |
virtual void | UnifyMotion ()=0 |
virtual const MCHAR * | GetClipAtTime (TimeValue t)=0 |
virtual IMixer * | GetMixer ()=0 |
virtual void | SetAttachNode (INode *node)=0 |
virtual INode * | GetAttachNode ()=0 |
virtual void | SetHeadTarget (INode *node)=0 |
virtual INode * | GetHeadTarget ()=0 |
virtual bool | IsNodeDeleted ()=0 |
virtual Interval | GetCurrentRange ()=0 |
virtual int | GetMaxNodes ()=0 |
virtual int | GetMaxLinks ()=0 |
virtual INode * | GetNode (int id, int link=0)=0 |
virtual BOOL | GetIdLink (INode *node, int &id, int &link)=0 |
virtual Control * | GetHorizontalControl ()=0 |
virtual Control * | GetVerticalControl ()=0 |
virtual Control * | GetTurnControl ()=0 |
virtual void | SetBipedKey (TimeValue t, INode *node=NULL, BOOL setHor=TRUE, BOOL setVer=TRUE, BOOL setTurn=TRUE)=0 |
virtual void | SetPlantedKey (TimeValue t, INode *node=NULL)=0 |
virtual void | SetSlidingKey (TimeValue t, INode *node=NULL)=0 |
virtual void | SetFreeKey (TimeValue t, INode *node=NULL)=0 |
virtual ScaleValue | GetBipedScale (TimeValue t, INode *node)=0 |
virtual Point3 | GetBipedPos (TimeValue t, INode *node)=0 |
virtual Quat | GetBipedRot (TimeValue t, INode *node, BOOL local=FALSE)=0 |
virtual void | SetBipedScale (BOOL relative, const ScaleValue &scale, TimeValue t, INode *node)=0 |
virtual void | SetBipedPos (const Point3 &p, TimeValue t, INode *node, BOOL setKey=TRUE)=0 |
virtual void | SetBipedRot (const Quat &q, TimeValue t, INode *node, BOOL setKey=TRUE)=0 |
virtual void | SetMultipleKeys ()=0 |
virtual void | DoSetMultipleKeysDlg ()=0 |
virtual void | ResetAllLimbKeys ()=0 |
virtual void | CollapseMoveAllMode (BOOL msg)=0 |
virtual INode * | GetRotParentNode (int id, int link)=0 |
virtual INode * | GetPosParentNode (int id, int link)=0 |
virtual Quat | GetParentNodeRot (TimeValue t, int id, int link)=0 |
virtual Point3 | GetParentNodePos (TimeValue t, int id, int link)=0 |
virtual void | GetClavicleVals (TimeValue t, int id, float &val1, float &val2)=0 |
virtual void | GetHingeVal (TimeValue t, int id, float &val)=0 |
virtual void | GetHorseAnkleVal (TimeValue, int id, float &val)=0 |
virtual void | GetPelvisVal (TimeValue t, float &val)=0 |
virtual void | GetFingerVal (TimeValue t, int id, int link, float &val)=0 |
virtual BOOL | GetIKActive (TimeValue t, int id)=0 |
virtual int | NumLayers ()=0 |
virtual void | CreateLayer (int index, const MCHAR *name)=0 |
virtual void | DeleteLayer (int index)=0 |
virtual bool | CollapseAtLayer (int index)=0 |
virtual bool | GetLayerActive (int index)=0 |
virtual void | SetLayerActive (int index, bool onOff)=0 |
virtual const MCHAR * | GetLayerName (int index)=0 |
virtual void | SetLayerName (int index, const MCHAR *name)=0 |
virtual int | GetCurrentLayer ()=0 |
virtual void | SetCurrentLayer (int index)=0 |
virtual void | UpdateLayers ()=0 |
virtual void | SetSnapKey (TimeValue t, INode *node=NULL)=0 |
virtual int | GetVisibleBefore ()=0 |
virtual void | SetVisibleBefore (int val)=0 |
virtual int | GetVisibleAfter ()=0 |
virtual void | SetVisibleAfter (int val)=0 |
virtual bool | GetKeyHighlight ()=0 |
virtual void | SetKeyHighlight (bool onOff)=0 |
virtual void | ClearPreferredClips ()=0 |
virtual bool | AddPreferredClip (const MCHAR *clipname, int prob=100)=0 |
virtual bool | DeletePreferredClip (const MCHAR *clipname)=0 |
virtual int | IsPreferredClip (const MCHAR *clipname)=0 |
virtual const MCHAR * | GetCurrentClip ()=0 |
virtual int | NumPreferredClips ()=0 |
virtual const MCHAR * | GetPreferredClip (int i)=0 |
virtual int | GetPreferredClipProbability (int i)=0 |
virtual bool | GetEnableSubAnims ()=0 |
virtual void | SetEnableSubAnims (bool onOff)=0 |
virtual bool | GetManipSubAnims ()=0 |
virtual void | SetManipSubAnims (bool onOff)=0 |
virtual bool | GetShowAllTracksInTV ()=0 |
virtual void | SetShowAllTracksInTV (bool onOff)=0 |
virtual bool | GetShowBipedInTrackBar ()=0 |
virtual void | SetShowBipedInTrackBar (bool onOff)=0 |
virtual void | Mirror ()=0 |
virtual void | ClearAllAnimation ()=0 |
virtual void | ClearSelectedAnimation ()=0 |
virtual void | CreatePosSubAnims (Control *controlToClone, BOOL checkIfOneExists)=0 |
virtual void | CreateRotSubAnims (Control *controlToClone, BOOL checkIfOneExists)=0 |
virtual void | CreateScaleSubAnims (Control *controlToClone, BOOL checkIfOneExists)=0 |
virtual void | SetPosSubAnim (const Point3 &p, TimeValue t, INode *node, BOOL absolute)=0 |
virtual void | SetRotSubAnim (const Quat &q, TimeValue t, INode *node, BOOL absolute)=0 |
virtual void | SetScaleSubAnim (const ScaleValue &s, TimeValue t, INode *node)=0 |
virtual void | CollapseAllPosSubAnims (BOOL perFrame, BOOL keep)=0 |
virtual void | CollapseAllRotSubAnims (BOOL perFrame, BOOL keep)=0 |
virtual void | CollapseRotSubAnims (BOOL perFrame, BOOL keep, INode *node)=0 |
virtual void | CollapsePosSubAnims (BOOL perFrame, BOOL keep, INode *node)=0 |
virtual const MCHAR * | CopyPosture (int copyType, BOOL copyHor, BOOL copyVer, BOOL copyTurn)=0 |
virtual BOOL | PastePosture (int copyType, int opposite, const MCHAR *name)=0 |
virtual void | DeleteAllCopies (int copyType, BOOL holdIt=true)=0 |
virtual int | NumCopies (int copyType)=0 |
virtual void | DeleteCopy (int copyType, const MCHAR *name)=0 |
virtual const MCHAR * | GetCopyName (int copyType, int index)=0 |
virtual void | SetCopyName (int copyType, int index, const MCHAR *newName)=0 |
virtual BOOL | SaveCopyPasteFile (const MCHAR *fname)=0 |
virtual BOOL | LoadCopyPasteFile (const MCHAR *fname)=0 |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxHeapOperators | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. More... | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. More... | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. More... | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. More... | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More... | |
|
pure virtual |
Function for specifying that we will be setting a group of biped keys.
Calling this function means that biped will soon get a large number of keys set on different biped body parts, usually via a SetNodeTM function call. Internally, this will allow biped to correctly set the keys based upon biped peculiarities, for example we need to set the biped up all at once per each frame that has a key (per pose), and we need to handle shared keys caused by unseperated tracks.
|
pure virtual |
Function for specifying that we will are done setting a group of biped keys.
Calling this function means that the biped is done setting keys on it, and we can now go ahead and key the biped based upon all of the values that were set after the previous StartSettingBipedKeys call. Note that if no StartSettingBipedKeys function was called, then nothing happens.
Function for setting world transforms on a biped.
This function will set the world transform on a biped, similarly to INode::GetNodeTM. This function however will cache values based upon biped body part, when called within StartSettingBipedSetKeys/StopSettingBipedKeys(). This allows us to correctly and optimally set up a bipeds animation pose per pose.
[in] | t | The time at which to set the pose. |
[in] | mat | The world transform. |
[in] | id | The internal 'id' of the biped node. You get this by calling IBipMaster::GetIdLink. |
[in] | link | The internal 'link' of the biped node. You get this by calling IBipMaster::GetIdLink. |
Function for setting local biped rotation values.
This function will set the a local rotation on the biped, in max's local coordinate space (not biped's own internal local coordinate space.) Also this function works within StartSettingBipedKeys and StopSettingBipedKeys for correctly setting the biped rotations locally, pose per pose.
[in] | t | The time to set the rotation. |
[in] | q | The local rotation. |
[in] | id | The internal 'id' of the biped node. You get this by calling IBipMaster::GetIdLink. |
[in] | link | The internal 'link' of the biped node. You get this by calling IBipMaster::GetIdLink. |