3ds Max C++ API Reference
IBipDriver12 Class Referenceabstract

Interface into the biped driver controller. More...

#include <Biped12Api.h>

+ Inheritance diagram for IBipDriver12:

Public Member Functions

Knuckles

When Knuckles is set to true, the hand is shrunk, the fingers have 4 links, splay out from the hand, and ThumbMinusOne is set to true.

When Knuckles is set to false, the fingers and hands appear as in 3ds Max 2009, and ThumbMinusOne is set to false.

virtual BOOL GetKnuckles () const =0
 Queries the value of Knuckles. More...
 
virtual void SetKnuckles (BOOL bEnabled)=0
 Sets Knuckles. More...
 
ShortThumb

If ShortThumb is true, the thumb has one less link than the other fingers, except when there is only one link per finger.

If ShortThumb is false, the thumb has the same number of links as the fingers.

virtual BOOL GetShortThumb () const =0
 Queries the value of ShortThumb. More...
 
virtual void SetShortThumb (BOOL bEnabled)=0
 Sets ShortThumb. More...
 
Layer Retargeting

The following functions are used for retargeting biped layer animation, either to the base layer or to a reference biped.

virtual bool GetLimbRetargetState (int keytrack)=0
 Gets the layer retarget state for a limb. More...
 
virtual void SetLimbRetargetState (int keytrack, bool bEnabled)=0
 Sets the layer retarget state for a limb. More...
 
virtual INodeGetRetargetReferenceBiped ()=0
 Gets the retarget reference biped. More...
 
virtual bool SetRetargetReferenceBiped (INode *node)=0
 Sets the retarget reference biped. More...
 
virtual void RetargetToBaseLayer (bool IK_Only)=0
 Retargets the current biped layer to its base layer. More...
 
virtual void RetargetToReferenceBiped (bool IK_Only)=0
 Retargets the current biped layer to the reference biped. More...
 
- Public Member Functions inherited from IBipDriver11
virtual const BOOL GetTriangleNeck ()=0
 Queries the value of Triangle Neck. More...
 
virtual void SetTriangleNeck (BOOL bEnabled)=0
 Sets Triangle Neck. More...
 
virtual const BOOL GetForeFeet ()=0
 Queries the value of ForeFeet. More...
 
virtual void SetForeFeet (BOOL bEnabled)=0
 Sets ForeFeet. More...
 
virtual bool MirrorInPlace ()=0
 Mirrors the biped animation in place. More...
 
- Public Member Functions inherited from IBipDriver10
virtual INodeCreateXtra (int nlinks, const MCHAR *name)=0
 Creates an Xtra with the specified number of links and base name.
More...
 
virtual INodeCreateXtraOpposite (INode &xtra, bool doChildren)=0
 Creates Xtras which are the opposite of the specified Xtra and its children, if desired. More...
 
virtual INodeGetXtraOpposite (INode &xtra)=0
 Gets the opposite Xtra. More...
 
virtual bool DeleteXtra (INode &xtraBase)=0
 Deletes an Xtra. More...
 
virtual bool AttachXtra (INode &xtraBase, INode &parent)=0
 Attaches an Xtra to a parent. More...
 
virtual void SetXtraName (INode &xtraBase, const MCHAR *name)=0
 Sets the base name of an Xtra, and uses that to set the names of all the nodes in the Xtra.
More...
 
virtual const MCHARGetXtraName (INode &xtraBase)=0
 Gets the base name of an Xtra. More...
 
virtual bool PastePostureToXtras (IBipedCopy *CP, INodeTab &nodes, int KeyPasteType)=0
 Pastes a copy of an Xtra posture onto each Xtra in the tab. More...
 
virtual bool PasteTrackToXtras (IBipedCopy *CP, INodeTab &nodes)=0
 Pastes a copy of an Xtra track onto each Xtra in the tab. More...
 
virtual bool SaveBipedAnimationLayer (const MCHAR *fname, int layerIndex)=0
 Saves a single layer of a biped animation. More...
 
virtual bool LoadBipedAnimationLayer (const MCHAR *fname, int layerIndex)=0
 Loads a BIP file into a single layer of a biped animation. More...
 
virtual bool SaveBipedBaseAnimationLayer (const MCHAR *fname, int saveMaxObjects, INodeTab *maxObjects, int saveControllers, Tab< SaveSubAnimInfo > *controllers)=0
 Saves the base layer of a biped animation. More...
 
virtual bool LoadBipedBaseAnimationLayer (const MCHAR *fname, BOOL MatchFile, BOOL ZeroFootHeight, BOOL promptForDuplicates, int retargetType, BOOL scaleIKObjectSize, int loadMaxObjects, Tab< const MCHAR * > *maxObjectNames, int loadControllers, Tab< LoadSubAnimInfo > *controllers)=0
 Loads a BIP file into the base layer of a biped animation. More...
 
- Public Member Functions inherited from IBipDriver9
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 IBipDriver8
virtual void RefreshBipedUI ()=0
 Updates the biped user interface. More...
 
virtual IMixer8GetMixer8 ()=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 MCHARGetTwistPoseName (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 ICopyCollectionGetCopyCollection (int index) const =0
 Gets a copy collection. More...
 
virtual ICopyCollectionGetCopyCollection (const MCHAR *name, int *index) const =0
 Gets a copy collection. More...
 
virtual ICopyCollectionCreateCopyCollection (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 IBipedCopyCopyBipPosture (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0
 Copies the posture of the specified parts of this biped. More...
 
virtual IBipedCopyCopyBipPose (ICopyCollection *ICC, int snapshottype)=0
 Copies the biped's pose. More...
 
virtual IBipedCopyCopyBipTrack (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 IBipDriver
virtual ~IBipDriver ()
 
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 MCHARGetRootName ()=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 IMoFlowGetMoFlow ()=0
 
virtual void UnifyMotion ()=0
 
virtual const MCHARGetClipAtTime (TimeValue t)=0
 
virtual IMixerGetMixer ()=0
 
virtual void SetAttachNode (INode *node)=0
 
virtual INodeGetAttachNode ()=0
 
virtual void SetHeadTarget (INode *node)=0
 
virtual INodeGetHeadTarget ()=0
 
virtual bool IsNodeDeleted ()=0
 
virtual Interval GetCurrentRange ()=0
 
virtual int GetMaxNodes ()=0
 
virtual int GetMaxLinks ()=0
 
virtual INodeGetNode (int id, int link=0)=0
 
virtual BOOL GetIdLink (INode *node, int &id, int &link)=0
 
virtual ControlGetHorizontalControl ()=0
 
virtual ControlGetVerticalControl ()=0
 
virtual ControlGetTurnControl ()=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 INodeGetRotParentNode (int id, int link)=0
 
virtual INodeGetPosParentNode (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 MCHARGetLayerName (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 MCHARGetCurrentClip ()=0
 
virtual int NumPreferredClips ()=0
 
virtual const MCHARGetPreferredClip (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 MCHARCopyPosture (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 MCHARGetCopyName (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
 

Biped Interface Access

static MAX_DEPRECATED const ULONG I_BIPMASTER12 = 0x9172
 Biped interface identifier. More...
 
static constexpr ULONG I_BIPDRIVER12 = 0x9172
 Biped interface identifier. More...
 
MAX_DEPRECATED static BIPExport IBipDriver12GetBipMaster12Interface (Animatable &anim)
 
static BIPExport IBipDriver12GetBipDriver12Interface (Animatable &anim)
 Gets the Biped interface. More...
 

Additional Inherited Members

- Public Types inherited from IBipDriver10
enum  { kRETARGET_NONE =1 , kRETARGET_HEIGHT =2 , kRETARGET_LIMB =3 }
 
enum  { kSAVE_NONE =0 , kSAVE_AUTOMATIC =1 , kSAVE_SPECIFIED =2 }
 
enum  { kLOAD_NONE =0 , kLOAD_ALL =1 , kLOAD_SPECIFIED =2 }
 
- Static Public Member Functions inherited from IBipDriver11
MAX_DEPRECATED static BIPExport IBipDriver11GetBipMaster11Interface (Animatable &anim)
 
static BIPExport IBipDriver11GetBipDriver11Interface (Animatable &anim)
 Gets the Biped interface. More...
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. 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 voidoperator 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 voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_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...
 
- Static Public Attributes inherited from IBipDriver11
static MAX_DEPRECATED const ULONG I_BIPMASTER11 = 0x9171
 Biped interface identifier. More...
 
static constexpr ULONG I_BIPDRIVER11 = 0x9171
 Biped interface identifier. More...
 

Detailed Description

Interface into the biped driver controller.

This contains functions supporting new biped features.

Member Function Documentation

◆ GetBipMaster12Interface()

MAX_DEPRECATED static BIPExport IBipDriver12* GetBipMaster12Interface ( Animatable anim)
static
Deprecated:
This has been deprecated as of 3ds Max 2022, please use GetBipDriver12Interface instead [insensitive language]

◆ GetBipDriver12Interface()

static BIPExport IBipDriver12* GetBipDriver12Interface ( Animatable anim)
static

Gets the Biped interface.

Parameters
[in]anim- the Animatable whose Biped interface is returned
Returns
the Biped interface

◆ GetKnuckles()

virtual BOOL GetKnuckles ( ) const
pure virtual

Queries the value of Knuckles.

Returns
true if Knuckles is on, false if not

◆ SetKnuckles()

virtual void SetKnuckles ( BOOL  bEnabled)
pure virtual

Sets Knuckles.

Precondition
must be in figure mode
ForeFeet must be false
Parameters
[in]bEnabled- sets Knuckles to the value of bEnabled

◆ GetShortThumb()

virtual BOOL GetShortThumb ( ) const
pure virtual

Queries the value of ShortThumb.

Returns
true if ShortThumb is on, false if not

◆ SetShortThumb()

virtual void SetShortThumb ( BOOL  bEnabled)
pure virtual

Sets ShortThumb.

Precondition
must be in figure mode
Knuckles must be true
Parameters
[in]bEnabled- sets ShortThumb to the value of bEnabled

◆ GetLimbRetargetState()

virtual bool GetLimbRetargetState ( int  keytrack)
pure virtual

Gets the layer retarget state for a limb.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM or KEY_LLEG or KEY_RLEG
Returns
true if the limb's retarget state is on, false if not

◆ SetLimbRetargetState()

virtual void SetLimbRetargetState ( int  keytrack,
bool  bEnabled 
)
pure virtual

Sets the layer retarget state for a limb.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM or KEY_LLEG or KEY_RLEG
[in]bEnabled- sets the limb retarget state to the value of bEnabled.
See also
RetargetToBaseLayer(bool IK_Only)
RetargetToReferenceBiped(bool IK_Only)

◆ GetRetargetReferenceBiped()

virtual INode* GetRetargetReferenceBiped ( )
pure virtual

Gets the retarget reference biped.

Returns
the retarget reference biped if there is one, NULL if not

◆ SetRetargetReferenceBiped()

virtual bool SetRetargetReferenceBiped ( INode node)
pure virtual

Sets the retarget reference biped.

Parameters
[in]node- sets the reference biped to the node, which must be any node from a different biped.
See also
RetargetToReferenceBiped(bool IK_Only)
Returns
true if the reference biped was set correctly, false if not

◆ RetargetToBaseLayer()

virtual void RetargetToBaseLayer ( bool  IK_Only)
pure virtual

Retargets the current biped layer to its base layer.

For every limb whose retarget state is active, calculates the hand/foot position at every key, maintaining IK constraints to the base layer.

Precondition
A layer must be active
See also
SetLayerActive(int index, bool onOff)
Parameters
[in]IK_Only- When IK_Only is on, the biped's constrained hands and feet are retargeted only during the frames on which they are IK controlled. When IK_Only is off, the hands and feet are retargeted during both IK and FK keys.

◆ RetargetToReferenceBiped()

virtual void RetargetToReferenceBiped ( bool  IK_Only)
pure virtual

Retargets the current biped layer to the reference biped.

For every limb whose retarget state is active, calculates the hand/foot position at every key, maintaining IK constraints to the retarget biped.

Precondition
A retarget biped must be specified.
See also
SetRetargetReferenceBiped()
Parameters
[in]IK_Only- When IK_Only is on, the biped's constrained hands and feet are retargeted only during the frames on which they are IK controlled. When IK_Only is off, the hands and feet are retargeted during both IK and FK keys.

Member Data Documentation

◆ I_BIPMASTER12

MAX_DEPRECATED const ULONG I_BIPMASTER12 = 0x9172
static

Biped interface identifier.

Deprecated:
This has been deprecated as of 3ds Max 2022, please use I_BIPDRIVER12 instead [insensitive language]

◆ I_BIPDRIVER12

constexpr ULONG I_BIPDRIVER12 = 0x9172
staticconstexpr

Biped interface identifier.