3ds Max C++ API Reference
Loading...
Searching...
No Matches
IBipDriver8 Class Referenceabstract

Interface into the biped driver controller for Max 8. More...

#include <Biped8Api.h>

+ Inheritance diagram for IBipDriver8:

Public Member Functions

virtual void RefreshBipedUI ()=0
 Updates the biped user interface.
 
virtual IMixer8GetMixer8 ()=0
 Get the new mixer interface for max 8 that supports max objects.
 
Quaternion / Euler Track Specification
virtual bool GetEulerActive (const int id)=0
 Gets whether or not a biped track is euler.
 
virtual int GetEulerOrder (const int id)=0
 Gets the euler order of a biped track.
 
virtual bool SetEulerActive (int id, int eulerOrder)=0
 Sets a biped track to euler with the specified euler order.
 
virtual bool SetQuaternionActive (int id)=0
 Sets a biped track to quaternion.
 
virtual bool SetEulerOrder (int id, int eulerOrder)=0
 Sets a biped track to the specified euler order.
 
Center of Mass Selection


virtual bool IsComLocked ()=0
 Queries the locked state of the com.
 
virtual void LockCom (bool lock)=0
 Locks or unlocks the com.
 
Manipulation of Twist Bones
virtual bool GetTwist () const =0
 Queries the state of Twists for this biped.
 
virtual void SetTwist (bool enable)=0
 Enables or disables the twists for this biped.
 
virtual float GetTwistBias (int twisttrack) const =0
 Gets the twist bias for the specified twist track of this biped.
 
virtual void SetTwistBias (int twisttrack, float bias)=0
 Sets the twist bias for the specified twist track of this biped.
 
Twist Poses
virtual int NumTwistPoses (int keytrack)=0
 Queries the number of twist poses for the specified limb.
 
virtual bool CreateTwistPose (int keytrack)=0
 Creates a new arm or leg twist pose, and appends it the the existing poses.
 
virtual bool SetTwistPose (int keytrack, int index)=0
 Sets an existing arm or leg twist pose.
 
virtual bool DeleteTwistPose (int keytrack, int index)=0
 Deletes an arm or leg twist pose.
 
virtual void SetDefaultTwistPoses (int keytrack)=0
 Sets the arm or leg twist poses to the default poses.
 
virtual bool SetTwistPoseName (int keytrack, int index, const MCHAR *name)=0
 Sets the name of an arm or leg twist pose.
 
virtual bool SetTwistPoseTwist (int keytrack, int index, float twist)=0
 Sets the twist value of an arm or leg twist pose.
 
virtual bool SetTwistPoseBias (int keytrack, int index, float bias)=0
 Sets the bias value of an arm or leg twist pose.
 
virtual const MCHARGetTwistPoseName (int keytrack, int index)=0
 Returns the name of an arm or leg twist pose.
 
virtual float GetTwistPoseTwist (int keytrack, int index)=0
 Returns the twist value of an arm or leg twist pose.
 
virtual float GetTwistPoseBias (int keytrack, int index)=0
 Returns the bias value of an arm or leg twist pose.
 
virtual void SetLimbToTwistPose (int keytrack, int index, bool opposite)=0
 Updates the limb to match an arm or leg twist pose.
 
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.
 
virtual int LoadFigJustTwists (const MCHAR *fname, BOOL redraw=false, BOOL msgs=false)=0
 Loads only the twist poses from a figure file.
 
Bend Links Menu Functions

For spine, neck.tail, and pony tail link rotations

virtual void ZeroTwist (int keytrack)=0
 Zeros out the twist for the specified track of this biped.
 
virtual void ZeroAll (int keytrack)=0
 Zeros out all the angles for all the links of the specified track of this biped.
 
virtual void SmoothTwist (int keytrack, float bias)=0
 Smooths the twist between the first and last link of the specified track of this biped.
 
Copy/Paste Functions and Copy Collections
virtual int NumCopyCollections () const =0
 Queries the number of copy collections.
 
virtual ICopyCollectionGetCopyCollection (int index) const =0
 Gets a copy collection.
 
virtual ICopyCollectionGetCopyCollection (const MCHAR *name, int *index) const =0
 Gets a copy collection.
 
virtual ICopyCollectionCreateCopyCollection (const MCHAR *colname)=0
 Creates a copy collection.
 
virtual bool DeleteCopyCollection (int index)=0
 Deletes a copy collection.
 
virtual void DeleteAllCopyCollections ()=0
 Deletes all copy collections.
 
virtual IBipedCopyCopyBipPosture (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0
 Copies the posture of the specified parts of this biped.
 
virtual IBipedCopyCopyBipPose (ICopyCollection *ICC, int snapshottype)=0
 Copies the biped's pose.
 
virtual IBipedCopyCopyBipTrack (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0
 Copies the animation of the specified parts of this biped.
 
virtual bool PasteBipPosture (IBipedCopy *CP, bool opposite, int KeyPasteType, bool Hor, bool Ver, bool Trn, bool ByVel)=0
 Pastes a posture onto this biped.
 
virtual bool PasteBipPose (IBipedCopy *CP, bool opposite, int KeyPasteType, bool Hor, bool Ver, bool Trn, bool ByVel)=0
 Pastes a pose onto this biped.
 
virtual bool PasteBipTrack (IBipedCopy *CP, bool opposite, bool Hor, bool Ver, bool Trn)=0
 Pastes a track onto this biped.
 
- 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
 

Additional Inherited Members

- 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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 voidoperator 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 voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_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.
 

Detailed Description

Interface into the biped driver controller for Max 8.

This contains functions supporting new biped features in Max 8. These include euler versus quaternion rotations, locked com, twist bones, twist poses, bend links functions, and copy collections.

Member Function Documentation

◆ RefreshBipedUI()

virtual void RefreshBipedUI ( )
pure virtual

Updates the biped user interface.


This will update all biped menus in the creation or motion panel, whichever is visible.

◆ GetEulerActive()

virtual bool GetEulerActive ( const int  id)
pure virtual

Gets whether or not a biped track is euler.

Parameters
[in]id- a biped track, as defined in tracks.h
Returns
true if if the track is euler, false if it is quaternion

◆ GetEulerOrder()

virtual int GetEulerOrder ( const int  id)
pure virtual

Gets the euler order of a biped track.

Parameters
[in]id- a biped track, as defined in tracks.h
Returns
eulerOrder - an EULERTYPE, as defined in euler.h

◆ SetEulerActive()

virtual bool SetEulerActive ( int  id,
int  eulerOrder 
)
pure virtual

Sets a biped track to euler with the specified euler order.

Parameters
[in]id- a biped track, as defined in tracks.h. Props, fingers, toes, footprints, horizontal, and vertical tracks cannot be set to euler.
[in]eulerOrder- any of the EULERTYPEs, as defined euler.h, except for EULERTYPE_XYX, EULERTYPE_YZY, and EULERTYPE_ZXZ
Returns
true if successful, false if not

◆ SetQuaternionActive()

virtual bool SetQuaternionActive ( int  id)
pure virtual

Sets a biped track to quaternion.

Parameters
[in]id- a biped track, as defined in tracks.h
Returns
true if successful, false if not

◆ SetEulerOrder()

virtual bool SetEulerOrder ( int  id,
int  eulerOrder 
)
pure virtual

Sets a biped track to the specified euler order.


The euler order is only relevant if the track is euler or when it becomes euler.

Parameters
[in]id- a biped track, as defined in tracks.h
[in]eulerOrder- any of the EULERTYPEs, as defined in euler.h, except for EULERTYPE_XYX, EULERTYPE_YZY, and EULERTYPE_ZXZ
Returns
true if successful, false if not

◆ IsComLocked()

virtual bool IsComLocked ( )
pure virtual

Queries the locked state of the com.

Returns
true if the com is locked, false if not

◆ LockCom()

virtual void LockCom ( bool  lock)
pure virtual

Locks or unlocks the com.

Parameters
[in]lock- true to lock the com, false to unlock the com

◆ GetTwist()

virtual bool GetTwist ( ) const
pure virtual

Queries the state of Twists for this biped.

Returns
true if the twists are on, false if the twists are off

◆ SetTwist()

virtual void SetTwist ( bool  enable)
pure virtual

Enables or disables the twists for this biped.

Precondition
Biped must be in figure mode or must be active in the biped creation panel.
Parameters
[in]enable- If true, new twists will be added. If false, all twists will be removed.

◆ GetTwistBias()

virtual float GetTwistBias ( int  twisttrack) const
pure virtual

Gets the twist bias for the specified twist track of this biped.

Parameters
[in]twisttrack- one of the following twist track identifiers: TWS_LFARM, TWS_RFARM, TWS_LCALF, TWS_RCALF, TWS_LHORSE, TWS_RHORSE
Returns
the twist bias, a number between 0.0 and 1.0

◆ SetTwistBias()

virtual void SetTwistBias ( int  twisttrack,
float  bias 
)
pure virtual

Sets the twist bias for the specified twist track of this biped.

Parameters
[in]twisttrack- one of the following twist track identifiers: TWS_LFARM, TWS_RFARM, TWS_LCALF, TWS_RCALF, TWS_LHORSE, TWS_RHORSE
[in]bias- the bias, between 0.0 and 1.0

◆ NumTwistPoses()

virtual int NumTwistPoses ( int  keytrack)
pure virtual

Queries the number of twist poses for the specified limb.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM for arm poses, KEY_LLEG or KEY_RLEG for leg poses
Returns
the number of arm or leg twist poses

◆ CreateTwistPose()

virtual bool CreateTwistPose ( int  keytrack)
pure virtual

Creates a new arm or leg twist pose, and appends it the the existing poses.


The pose will be the current rotation of the upper arm for the arm track, and the thigh for the leg track.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to create an arm pose, and KEY_LLEG or KEY_RLEG to create a leg pose
Returns
true if the function was successful, false if not

◆ SetTwistPose()

virtual bool SetTwistPose ( int  keytrack,
int  index 
)
pure virtual

Sets an existing arm or leg twist pose.


The pose will be the current rotation of the upper arm for the arm track, and the thigh for the leg track.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set an arm pose, and KEY_LLEG or KEY_RLEG to set a leg pose
[in]index- the index of the pose in the pose list
Returns
true if the function was successful, false if not

◆ DeleteTwistPose()

virtual bool DeleteTwistPose ( int  keytrack,
int  index 
)
pure virtual

Deletes an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set an arm pose, and KEY_LLEG or KEY_RLEG to set a leg pose
[in]index- the index of the pose in the pose list
Returns
true if the function was successful, false if not

◆ SetDefaultTwistPoses()

virtual void SetDefaultTwistPoses ( int  keytrack)
pure virtual

Sets the arm or leg twist poses to the default poses.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set the arm poses, and KEY_LLEG or KEY_RLEG to set the leg poses

◆ SetTwistPoseName()

virtual bool SetTwistPoseName ( int  keytrack,
int  index,
const MCHAR name 
)
pure virtual

Sets the name of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set an arm pose, and KEY_LLEG or KEY_RLEG to set a leg pose
[in]index- the index of the pose in the pose list
[in]name- the name to call the pose
Returns
true if the function was successful, false if not

◆ SetTwistPoseTwist()

virtual bool SetTwistPoseTwist ( int  keytrack,
int  index,
float  twist 
)
pure virtual

Sets the twist value of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set an arm pose, and KEY_LLEG or KEY_RLEG to set a leg pose
[in]index- the index of the pose in the pose list
[in]twist- the twist value in degrees, between -180 and 180
Returns
true if the function was successful, false if not

◆ SetTwistPoseBias()

virtual bool SetTwistPoseBias ( int  keytrack,
int  index,
float  bias 
)
pure virtual

Sets the bias value of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to set an arm pose, and KEY_LLEG or KEY_RLEG to set a leg pose
[in]index- the index of the pose in the pose list
[in]bias- the bias value, between 0.0 and 1.0
Returns
true if the function was successful, false if not

◆ GetTwistPoseName()

virtual const MCHAR * GetTwistPoseName ( int  keytrack,
int  index 
)
pure virtual

Returns the name of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to get an arm pose, and KEY_LLEG or KEY_RLEG to get a leg pose
[in]index- the index of the pose in the pose list
Returns
the name of the specified pose

◆ GetTwistPoseTwist()

virtual float GetTwistPoseTwist ( int  keytrack,
int  index 
)
pure virtual

Returns the twist value of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to get an arm pose, and KEY_LLEG or KEY_RLEG to get a leg pose
[in]index- the index of the pose in the pose list
Returns
the twist value of the specified twist pose

◆ GetTwistPoseBias()

virtual float GetTwistPoseBias ( int  keytrack,
int  index 
)
pure virtual

Returns the bias value of an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to get an arm pose, and KEY_LLEG or KEY_RLEG to get a leg pose
[in]index- the index of the pose in the pose list
Returns
the bias value of the specified pose

◆ SetLimbToTwistPose()

virtual void SetLimbToTwistPose ( int  keytrack,
int  index,
bool  opposite 
)
pure virtual

Updates the limb to match an arm or leg twist pose.

Parameters
[in]keytrack- KEY_LARM or KEY_RARM to get an arm pose, and KEY_LLEG or KEY_RLEG to get a leg pose
[in]index- the index of the pose in the pose list
[in]opposite- the twisties of the opposite limb will also be updated if this is true

◆ LoadFigNoTwists()

virtual int LoadFigNoTwists ( const MCHAR fname,
BOOL  redraw = false,
BOOL  msgs = false 
)
pure virtual

Loads a figure file without loading the twist poses stored in the file.

Parameters
[in]fname- name of figure file
[in]redraw- redraw viewports if true
[in]msgs- pop up error dialogs if an error occurs
Returns
true if the function was successful, false if not

◆ LoadFigJustTwists()

virtual int LoadFigJustTwists ( const MCHAR fname,
BOOL  redraw = false,
BOOL  msgs = false 
)
pure virtual

Loads only the twist poses from a figure file.

Parameters
[in]fname- name of figure file
[in]redraw- redraw viewports if true
[in]msgs- pop up error dialogs if an error occurs
Returns
true if the function was successful, false if not

◆ ZeroTwist()

virtual void ZeroTwist ( int  keytrack)
pure virtual

Zeros out the twist for the specified track of this biped.

Parameters
[in]keytrack- one of the following track identifiers: KEY_SPINE,KEY_NECK,KEY_TAIL,KEY_PONY1,KEY_PONY2

◆ ZeroAll()

virtual void ZeroAll ( int  keytrack)
pure virtual

Zeros out all the angles for all the links of the specified track of this biped.

Parameters
[in]keytrack- one of the following track identifiers: KEY_SPINE,KEY_NECK,KEY_TAIL,KEY_PONY1,KEY_PONY2

◆ SmoothTwist()

virtual void SmoothTwist ( int  keytrack,
float  bias 
)
pure virtual

Smooths the twist between the first and last link of the specified track of this biped.

Parameters
[in]keytrack- one of the following track identifiers: KEY_SPINE,KEY_NECK,KEY_TAIL,KEY_PONY1,KEY_PONY2
[in]bias- the bias, between 0.0 and 1.0

◆ NumCopyCollections()

virtual int NumCopyCollections ( ) const
pure virtual

Queries the number of copy collections.

Returns
the number of copy collections.

◆ GetCopyCollection() [1/2]

virtual ICopyCollection * GetCopyCollection ( int  index) const
pure virtual

Gets a copy collection.

Parameters
[in]index- index of desired copy collection
Returns
the specified copy collection, NULL if the index was out of bounds

◆ GetCopyCollection() [2/2]

virtual ICopyCollection * GetCopyCollection ( const MCHAR name,
int index 
) const
pure virtual

Gets a copy collection.

Parameters
[in]name- name of desired copy collection
[out]index- index of desired copy collection
Returns
the specified copy collection, NULL if the index was out of bounds

◆ CreateCopyCollection()

virtual ICopyCollection * CreateCopyCollection ( const MCHAR colname)
pure virtual

Creates a copy collection.

Parameters
[in]colname- name of new copy collection
Returns
the newly created copy collection

◆ DeleteCopyCollection()

virtual bool DeleteCopyCollection ( int  index)
pure virtual

Deletes a copy collection.

Parameters
[in]index- index of copy collection to delete
Returns
true if the collection was deleted, false if the index was out of bounds

◆ DeleteAllCopyCollections()

virtual void DeleteAllCopyCollections ( )
pure virtual

Deletes all copy collections.

◆ CopyBipPosture()

virtual IBipedCopy * CopyBipPosture ( ICopyCollection ICC,
INodeTab nodes,
int  snapshottype 
)
pure virtual

Copies the posture of the specified parts of this biped.

Parameters
[in]ICC- copy collection in which to place the new copy
[in]nodes- parts of the biped whose posture will be copied.
If this is NULL, the posture of the selected parts of the biped will be copied.
[in]snapshottype- type of snapshot to store, one of the following: SNAP_VIEW (active viewport), SNAP_AUTO (automatic), SNAP_NONE (none)
Returns
the new copy, NULL if a copy was not created

◆ CopyBipPose()

virtual IBipedCopy * CopyBipPose ( ICopyCollection ICC,
int  snapshottype 
)
pure virtual

Copies the biped's pose.

Parameters
[in]ICC- copy collection in which to place the new copy
[in]snapshottype- type of snapshot to store, one of the following: SNAP_VIEW (active viewport), SNAP_AUTO (automatic), SNAP_NONE (none)
Returns
the new copy, NULL if a copy was not created

◆ CopyBipTrack()

virtual IBipedCopy * CopyBipTrack ( ICopyCollection ICC,
INodeTab nodes,
int  snapshottype 
)
pure virtual

Copies the animation of the specified parts of this biped.

Parameters
[in]ICC- copy collection in which to place the new copy
[in]nodes- parts of the biped whose animation will be copied.
If this is NULL, the animation of the selected parts of the biped will be copied.
[in]snapshottype- type of snapshot to store, one of the following: SNAP_VIEW (active viewport), SNAP_AUTO (automatic), SNAP_NONE (none)
Returns
the new copy, NULL if a copy was not created

◆ PasteBipPosture()

virtual bool PasteBipPosture ( IBipedCopy CP,
bool  opposite,
int  KeyPasteType,
bool  Hor,
bool  Ver,
bool  Trn,
bool  ByVel 
)
pure virtual

Pastes a posture onto this biped.

Parameters
[in]CP- a biped copy of type posture
[in]opposite- true to paste opposite, false to paste normal
[in]KeyPasteType- method to paste TCB/IK values, one of the following: PST_DEF (default), PST_COPY (copied), PST_INTERP (interpolated).
KeyPasteType is only relevant if you are in auto key mode
[in]Hor- true to paste the horizontal com, false to keep the existing horizontal com
[in]Ver- true to paste the vertical com, false to keep the existing vertical com
[in]Trn- true to paste the rotation com, false to keep the existing rotation com. Hor, Ver, Trn are only relevant if you are pasting a posture with a copied com
[in]ByVel- true to paste the com by velocity, false to paste the com absolute, relevant for true values of Hor, Ver, Trn
Returns
true if the paste was successful, false if the paste was unsuccessful

◆ PasteBipPose()

virtual bool PasteBipPose ( IBipedCopy CP,
bool  opposite,
int  KeyPasteType,
bool  Hor,
bool  Ver,
bool  Trn,
bool  ByVel 
)
pure virtual

Pastes a pose onto this biped.

Parameters
[in]CP- a biped copy of type pose
[in]opposite- true to paste opposite, false to paste normal
[in]KeyPasteType- method to paste TCB/IK values, one of the following: PST_DEF (default), PST_COPY (copied), PST_INTERP (interpolated).
KeyPasteType is only relevant if you are in auto key mode.
[in]Hor- true to paste the horizontal com, false to keep the existing horizontal com
[in]Ver- true to paste the vertical com, false to keep the existing vertical com
[in]Trn- true to paste the rotation com, false to keep the existing rotation com
[in]ByVel- true to paste the com by velocity, false to paste the com absolute, relevant for true values of Hor, Ver, Trn
Returns
true if the paste was successful, false if the paste was unsuccessful

◆ PasteBipTrack()

virtual bool PasteBipTrack ( IBipedCopy CP,
bool  opposite,
bool  Hor,
bool  Ver,
bool  Trn 
)
pure virtual

Pastes a track onto this biped.

Parameters
[in]CP- a biped copy of type track
[in]opposite- true to paste opposite, false to paste normal
[in]Hor- true to paste the horizontal com, false to keep the existing horizontal com
[in]Ver- true to paste the vertical com, false to keep the existing vertical com
[in]Trn- true to paste the rotation com, false to keep the existing rotation com
Returns
true if the paste was successful, false if the paste was unsuccessful

◆ GetMixer8()

virtual IMixer8 * GetMixer8 ( )
pure virtual

Get the new mixer interface for max 8 that supports max objects.

Returns
The IMixer8 interface
See also
IMixer8