Public Member Functions

IKMasterControl Class Reference

Search for all occurrences

Detailed Description

See also:
Class ReferenceTarget, Class IKSlaveControl, Class Control.

Description:
This class is available in release 2.0 and later only.

The IK Controller requires that you use the Bones system. When you create the bones, a slave IK controller is assigned to each bone. All of the slave IK controllers in a single hierarchy are, in turn, controlled by a master IK controller. This class provides two methods to work with the master controller. To get an interface to this class call GetInterface(I_MASTER);on the controller in question. If the return value is non-NULL you can cast the pointer to an instance of this class.

For an example the use of this class see /MAXSDK/SAMPLES/OBJECTS/BONES.CPP.

#include <ikctrl.h>

Inheritance diagram for IKMasterControl:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Class_ID  ClassID ()
  Retrieves a constant that uniquely identifies the plugin class.
SClass_ID  SuperClassID ()
  Retrieves a constant representing the type of the plugin.
virtual void  AddSlaveNode (INode *node)=0
virtual void *  GetMasterBase ()=0
virtual void  SetPosThresh (float t)=0
virtual void  SetRotThresh (float t)=0
virtual void  SetIterations (int i)=0
virtual void  SetStartTime (TimeValue s)=0
virtual void  SetEndTime (TimeValue e)=0
virtual float  GetPosThresh ()=0
virtual float  GetRotThresh ()=0
virtual int  GetIterations ()=0
virtual TimeValue  GetStartTime ()=0
virtual TimeValue  GetEndTime ()=0
virtual void  RemoveIKChainControllers (TimeValue t)=0

Member Function Documentation

Class_ID ClassID ( ) [inline, virtual]

Retrieves a constant that uniquely identifies the plugin class.

This method must return the unique ID for the plugin class. If two ClassIDs conflict, the system will only load the first conflicting one it finds. A program (gencid.exe) is provided to generate unique class id values.

Returns:
A class id that uniquely identifies a plugin class
See also:
Class ClassID, List of Class IDs.

Reimplemented from Animatable.

{return IKMASTER_CLASSID;}
SClass_ID SuperClassID ( ) [inline, virtual]

Retrieves a constant representing the type of the plugin.

Returns:
A super class id that uniquely identifies the type (category) of the plugin. Note that several plugin classes can be of the same type, thus return the same super class id. Plugins are uniquely identified by their class ids. List of Super Class IDs.
See also:
SClass_ID

Reimplemented from ReferenceTarget.

virtual void AddSlaveNode ( INode node ) [pure virtual]
Remarks:
Adds the specified node to the list of slave nodes maintained.
Parameters:
INode *node

The node to add.
virtual void* GetMasterBase ( ) [pure virtual]
Remarks:
Returns a pointer to the IK master object.
virtual void SetPosThresh ( float  t ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Sets the position threshold. If the UI for the master controller is not visible while this method is called, the screen is not redrawn to reflect the changes. After calling this method you should therefore call Interface::RedrawViews().
Parameters:
float t

The value to set.
virtual void SetRotThresh ( float  t ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Sets the rotation threshold. If the UI for the master controller is not visible while this method is called, the screen is not redrawn to reflect the changes. After calling this method you should therefore call Interface::RedrawViews().
Parameters:
float t

The value to set.
virtual void SetIterations ( int  i ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Sets the iterations value. If the UI for the master controller is not visible while this method is called, the screen is not redrawn to reflect the changes. After calling this method you should therefore call Interface::RedrawViews().
Parameters:
int i

The value to set.
virtual void SetStartTime ( TimeValue  s ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Sets the start time. If the UI for the master controller is not visible while this method is called, the screen is not redrawn to reflect the changes. After calling this method you should therefore call Interface::RedrawViews().
Parameters:
TimeValue s

The time to set.
virtual void SetEndTime ( TimeValue  e ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Sets the end time. If the UI for the master controller is not visible while this method is called, the screen is not redrawn to reflect the changes. After calling this method you should therefore call Interface::RedrawViews().
Parameters:
TimeValue e

The time to set.
virtual float GetPosThresh ( ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Returns the position threshold.
virtual float GetRotThresh ( ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Returns the rotation threshold.
virtual int GetIterations ( ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Returns the iterations setting.
virtual TimeValue GetStartTime ( ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Returns the start time.
virtual TimeValue GetEndTime ( ) [pure virtual]
Remarks:
This method is available in release 3.0 and later only.

Returns the end time.
virtual void RemoveIKChainControllers ( TimeValue  t ) [pure virtual]

IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl
IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl IKMasterControl