Interface into the biped master 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.
#include <Biped8Api.h>
Public Member Functions |
|
virtual void | RefreshBipedUI ()=0 |
Updates the biped user interface. |
|
virtual IMixer8 * | GetMixer8 ()=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 MCHAR * | GetTwistPoseName (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 ICopyCollection * | GetCopyCollection (int index) const =0 |
Gets a copy collection. |
|
virtual ICopyCollection * | GetCopyCollection (const MCHAR *name, int *index) const =0 |
Gets a copy collection. |
|
virtual ICopyCollection * | CreateCopyCollection (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 IBipedCopy * | CopyBipPosture (ICopyCollection *ICC, INodeTab *nodes, int snapshottype)=0 |
Copies the posture of the specified parts of
this biped. |
|
virtual IBipedCopy * | CopyBipPose (ICopyCollection *ICC, int snapshottype)=0 |
Copies the biped's pose. |
|
virtual IBipedCopy * | CopyBipTrack (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. |
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.
virtual bool GetEulerActive | ( | const int | id | ) | [pure virtual] |
Gets whether or not a biped track is euler.
[in] | id | - a biped track, as defined in tracks.h |
virtual int GetEulerOrder | ( | const int | id | ) | [pure virtual] |
Gets the euler order of a biped track.
[in] | id | - a biped track, as defined in tracks.h |
virtual bool SetEulerActive | ( | int | id, |
int | eulerOrder | ||
) | [pure virtual] |
Sets a biped track to euler with the specified euler order.
[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 |
virtual bool SetQuaternionActive | ( | int | id | ) | [pure virtual] |
Sets a biped track to quaternion.
[in] | id | - a biped track, as defined in tracks.h |
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.
[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 |
virtual bool IsComLocked | ( | ) | [pure virtual] |
Queries the locked state of the com.
virtual void LockCom | ( | bool | lock | ) | [pure virtual] |
Locks or unlocks the com.
[in] | lock | - true to lock the com, false to unlock the com |
virtual bool GetTwist | ( | ) | const [pure virtual] |
Queries the state of Twists for this biped.
virtual void SetTwist | ( | bool | enable | ) | [pure virtual] |
Enables or disables the twists for this biped.
[in] | enable | - If true, new twists will be added. If false, all twists will be removed. |
virtual float GetTwistBias | ( | int | twisttrack | ) | const [pure virtual] |
Gets the twist bias for the specified twist track of this biped.
[in] | twisttrack | - one of the following twist track identifiers: TWS_LFARM, TWS_RFARM, TWS_LCALF, TWS_RCALF, TWS_LHORSE, TWS_RHORSE |
virtual void SetTwistBias | ( | int | twisttrack, |
float | bias | ||
) | [pure virtual] |
Sets the twist bias for the specified twist track of this biped.
[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 |
virtual int NumTwistPoses | ( | int | keytrack | ) | [pure virtual] |
Queries the number of twist poses for the specified limb.
[in] | keytrack | - KEY_LARM or KEY_RARM for arm poses, KEY_LLEG or KEY_RLEG for leg poses |
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.
[in] | keytrack | - KEY_LARM or KEY_RARM to create an arm pose, and KEY_LLEG or KEY_RLEG to create a leg pose |
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.
[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 |
virtual bool DeleteTwistPose | ( | int | keytrack, |
int | index | ||
) | [pure virtual] |
Deletes an arm or leg twist pose.
[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 |
virtual void SetDefaultTwistPoses | ( | int | keytrack | ) | [pure virtual] |
Sets the arm or leg twist poses to the default poses.
[in] | keytrack | - KEY_LARM or KEY_RARM to set the arm poses, and KEY_LLEG or KEY_RLEG to set the leg poses |
virtual bool SetTwistPoseName | ( | int | keytrack, |
int | index, | ||
const MCHAR * | name | ||
) | [pure virtual] |
Sets the name of an arm or leg twist pose.
[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 |
virtual bool SetTwistPoseTwist | ( | int | keytrack, |
int | index, | ||
float | twist | ||
) | [pure virtual] |
Sets the twist value of an arm or leg twist pose.
[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 |
virtual bool SetTwistPoseBias | ( | int | keytrack, |
int | index, | ||
float | bias | ||
) | [pure virtual] |
Sets the bias value of an arm or leg twist pose.
[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 |
virtual const MCHAR* GetTwistPoseName | ( | int | keytrack, |
int | index | ||
) | [pure virtual] |
Returns the name of an arm or leg twist pose.
[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 |
virtual float GetTwistPoseTwist | ( | int | keytrack, |
int | index | ||
) | [pure virtual] |
Returns the twist value of an arm or leg twist pose.
[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 |
virtual float GetTwistPoseBias | ( | int | keytrack, |
int | index | ||
) | [pure virtual] |
Returns the bias value of an arm or leg twist pose.
[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 |
virtual void SetLimbToTwistPose | ( | int | keytrack, |
int | index, | ||
bool | opposite | ||
) | [pure virtual] |
Updates the limb to match an arm or leg twist pose.
[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 |
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.
[in] | fname | - name of figure file |
[in] | redraw | - redraw viewports if true |
[in] | msgs | - pop up error dialogs if an error occurs |
virtual int LoadFigJustTwists | ( | const MCHAR * | fname, |
BOOL | redraw = false , |
||
BOOL | msgs = false |
||
) | [pure virtual] |
Loads only the twist poses from a figure file.
[in] | fname | - name of figure file |
[in] | redraw | - redraw viewports if true |
[in] | msgs | - pop up error dialogs if an error occurs |
virtual void ZeroTwist | ( | int | keytrack | ) | [pure virtual] |
Zeros out the twist for the specified track of this biped.
[in] | keytrack | - one of the following track identifiers: KEY_SPINE,KEY_NECK,KEY_TAIL,KEY_PONY1,KEY_PONY2 |
virtual void ZeroAll | ( | int | keytrack | ) | [pure virtual] |
Zeros out all the angles for all the links of the specified track of this biped.
[in] | keytrack | - one of the following track identifiers: KEY_SPINE,KEY_NECK,KEY_TAIL,KEY_PONY1,KEY_PONY2 |
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.
[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 |
virtual int NumCopyCollections | ( | ) | const [pure virtual] |
Queries the number of copy collections.
virtual ICopyCollection* GetCopyCollection | ( | int | index | ) | const [pure virtual] |
Gets a copy collection.
[in] | index | - index of desired copy collection |
virtual ICopyCollection* GetCopyCollection | ( | const MCHAR * | name, |
int * | index | ||
) | const [pure virtual] |
Gets a copy collection.
[in] | name | - name of desired copy collection |
[out] | index | - index of desired copy collection |
virtual ICopyCollection* CreateCopyCollection | ( | const MCHAR * | colname | ) | [pure virtual] |
Creates a copy collection.
[in] | colname | - name of new copy collection |
virtual bool DeleteCopyCollection | ( | int | index | ) | [pure virtual] |
Deletes a copy collection.
[in] | index | - index of copy collection to delete |
virtual void DeleteAllCopyCollections | ( | ) | [pure virtual] |
Deletes all copy collections.
virtual IBipedCopy* CopyBipPosture | ( | ICopyCollection * | ICC, |
INodeTab * | nodes, | ||
int | snapshottype | ||
) | [pure virtual] |
Copies the posture of the specified parts of this biped.
[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) |
virtual IBipedCopy* CopyBipPose | ( | ICopyCollection * | ICC, |
int | snapshottype | ||
) | [pure virtual] |
Copies the biped's pose.
[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) |
virtual IBipedCopy* CopyBipTrack | ( | ICopyCollection * | ICC, |
INodeTab * | nodes, | ||
int | snapshottype | ||
) | [pure virtual] |
Copies the animation of the specified parts of this biped.
[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) |
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.
[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 |
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.
[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 |
virtual bool PasteBipTrack | ( | IBipedCopy * | CP, |
bool | opposite, | ||
bool | Hor, | ||
bool | Ver, | ||
bool | Trn | ||
) | [pure virtual] |
Pastes a track onto this biped.
[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 |