Public Types | Public Member Functions

IPathPosition Class Reference

This reference page is linked to from the following overview topics: Controller API Elements.


Search for all occurrences

Detailed Description

See also:
Class Control, Class INode.

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

This class represents the interface to the Path Position Controller. You can obtain a pointer to the path position controller interface using; GetIPathConstInterface(cd). This macro will return

(IPathPosition*)(CD)->GetFPInterface(PATH_CONSTRAINT_INTERFACE).

PATHPOS_PATH_REF may be used to access the position constraint controller's references and PATHPOS_PBLOCK_REF to reference the parameter block.

All methods of this class are Implemented by the System.

#include <istdplug.h>

Inheritance diagram for IPathPosition:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  get_num_targets, get_node, get_target_weight, set_target_weight,
  append_target, delete_target
}

Public Member Functions

BEGIN_FUNCTION_MAP  FN_0 (get_num_targets, TYPE_INT, GetNumTargets)
  FN_1 (get_node, TYPE_INODE, GetNode, TYPE_INDEX)
  FN_1 (get_target_weight, TYPE_FLOAT, GetTargetWeight, TYPE_INDEX)
  FN_2 (set_target_weight, TYPE_BOOL, SetTargetWeight, TYPE_INDEX, TYPE_FLOAT)
  FN_2 (append_target, TYPE_BOOL, AppendTarget, TYPE_INODE, TYPE_FLOAT)
  FN_1 (delete_target, TYPE_BOOL, DeleteTarget, TYPE_INDEX)
END_FUNCTION_MAP FPInterfaceDesc GetDesc ()
virtual int  GetNumTargets ()=0
virtual INode GetNode (int targetNumber)=0
virtual float  GetTargetWeight (int targetNumber)=0
virtual BOOL  SetTargetWeight (int targetNumber, float weight)=0
virtual BOOL  AppendTarget (INode *target, float weight=50.0)=0
virtual BOOL  DeleteTarget (int selection)=0
virtual void  SetFollow (BOOL f)=0
virtual BOOL  GetFollow ()=0
virtual void  SetBankAmount (float a)=0
virtual float  GetBankAmount ()=0
virtual void  SetBank (BOOL b)=0
virtual BOOL  GetBank ()=0
virtual void  SetTracking (float t)=0
virtual float  GetTracking ()=0
virtual void  SetAllowFlip (BOOL f)=0
virtual BOOL  GetAllowFlip ()=0
virtual void  SetConstVel (BOOL cv)=0
virtual BOOL  GetConstVel ()=0
virtual void  SetFlip (BOOL onOff)=0
virtual BOOL  GetFlip ()=0
virtual void  SetAxis (int axis)=0
virtual int  GetAxis ()=0
virtual void  SetLoop (BOOL l)=0
virtual BOOL  GetLoop ()=0
virtual void  SetRelative (BOOL rel)=0
virtual BOOL  GetRelative ()=0

Member Enumeration Documentation

anonymous enum

Member Function Documentation

BEGIN_FUNCTION_MAP FN_0 ( get_num_targets  ,
TYPE_INT  ,
GetNumTargets   
)
FN_1 ( get_node  ,
TYPE_INODE  ,
GetNode  ,
TYPE_INDEX   
)
FN_1 ( get_target_weight  ,
TYPE_FLOAT  ,
GetTargetWeight  ,
TYPE_INDEX   
)
FN_2 ( set_target_weight  ,
TYPE_BOOL  ,
SetTargetWeight  ,
TYPE_INDEX  ,
TYPE_FLOAT   
)
FN_2 ( append_target  ,
TYPE_BOOL  ,
AppendTarget  ,
TYPE_INODE  ,
TYPE_FLOAT   
)
FN_1 ( delete_target  ,
TYPE_BOOL  ,
DeleteTarget  ,
TYPE_INDEX   
)
END_FUNCTION_MAP FPInterfaceDesc* GetDesc ( ) [virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

virtual int GetNumTargets ( ) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

Returns the number of nodes in the path list.
virtual INode* GetNode ( int  targetNumber ) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

Gets one of the path nodes that the path controller follows, specified by targetNumber.
Parameters:
int targetNumber

The node number in the path list to be obtained.
virtual float GetTargetWeight ( int  targetNumber ) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

Gets the weight of one of the path nodes that the path controller follows, specified by targetNumber, and time t. If the targetNumber is not relevant then 0.0f is returned.
Parameters:
int targetNumber

The node number in the path list whose weight is to be obtained.
virtual BOOL SetTargetWeight ( int  targetNumber,
float  weight 
) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

Sets the weight of one of the path nodes that the path controller follows, specified by targetNumber.
Parameters:
int targetNumber

The node number in the path list whose weight is to be set.

float weight

The weight to assign.
Returns:
TRUE if there is more than one path in the list and you are trying to set weight, FALSE otherwise.
virtual BOOL AppendTarget ( INode target,
float  weight = 50.0 
) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

Appends the current path list by one and appends the current weight list by one.
Parameters:
INode *target

The node that is to be appended to the current path list.

float weight=50.0

The weight to be assigned to the newly appended path.
virtual BOOL DeleteTarget ( int  selection ) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

This method allows you to delete a specified target.
Parameters:
int selection

The node number in the orientation target list to delete.
Returns:
TRUE if successful, otherwise FALSE.
virtual void SetFollow ( BOOL  f ) [pure virtual]
Remarks:
This method allows you to set the follow flag.
Parameters:
BOOL f

TRUE for on, FALSE for off.

virtual BOOL GetFollow ( ) [pure virtual]
Remarks:
This method returns the state of the follow flag. TRUE if on; FALSE if off.
virtual void SetBankAmount ( float  a ) [pure virtual]
Remarks:
Sets the bank amount parameter.

Bank and tracking are scaled in the UI.

The bank values are scaled in the user interface. The following macros may be used to convert to and from the UI values.

#define BANKSCALE 100.0f

#define FromBankUI(a) ((a)*BANKSCALE)

#define ToBankUI(a) ((a)/BANKSCALE)
Parameters:
float a

The bank amount.
virtual float GetBankAmount ( ) [pure virtual]
Remarks:
Returns the bank amount setting. See the remarks in SetBankAmount() above.
virtual void SetBank ( BOOL  b ) [pure virtual]
Remarks:
Sets the bank parameter to on or off.
Parameters:
BOOL b

TRUE for on; FALSE for off.
virtual BOOL GetBank ( ) [pure virtual]
Remarks:
Returns the on/off state of the bank parameter. TRUE if on; FALSE if off.
virtual void SetTracking ( float  t ) [pure virtual]
Remarks:
Sets the smoothness parameter.

The smoothing (tracking) values are scaled in the user interface. The following macros may be used to convert to and from the UI values.

#define TRACKSCALE 0.04f

#define FromTrackUI(a) ((a)*TRACKSCALE)

#define ToTrackUI(a) ((a)/TRACKSCALE)
Parameters:
float t

The smoothness setting.
virtual float GetTracking ( ) [pure virtual]
Remarks:
Returns the smoothness setting. See remarks in SetTracking() above.
virtual void SetAllowFlip ( BOOL  f ) [pure virtual]
Remarks:
Sets the state of the 'Allow Upside Down' parameter.
Parameters:
BOOL f

TRUE for on; FALSE for off.
virtual BOOL GetAllowFlip ( ) [pure virtual]
Remarks:
Returns the state of the 'Allow Upside Down' parameter.
Returns:
TRUE for on; FALSE for off.
virtual void SetConstVel ( BOOL  cv ) [pure virtual]
Remarks:
Sets the state of the 'Constant Velocity' parameter.
Parameters:
BOOL cv

TRUE for on; FALSE for off.
virtual BOOL GetConstVel ( ) [pure virtual]
Remarks:
Returns the state of the 'Constant Velocity' parameter.
Returns:
TRUE for on; FALSE for off.
virtual void SetFlip ( BOOL  onOff ) [pure virtual]
Remarks:
Sets the state of the 'Flip' parameter.
Parameters:
BOOL onOff

TRUE for on; FALSE for off.
virtual BOOL GetFlip ( ) [pure virtual]
Remarks:
Returns the state of the 'Flip' parameter.
Returns:
TRUE for on; FALSE for off.
virtual void SetAxis ( int  axis ) [pure virtual]
Remarks:
Set the state of the axis parameter.
Parameters:
int axis

The axis setting. One of the following values:

0: X axis.

1: Y axis.

2: Z axis.
virtual int GetAxis ( ) [pure virtual]
Remarks:
Returns the axis setting.
Returns:
One of the following values:

0: X axis.

1: Y axis.

2: Z axis.
virtual void SetLoop ( BOOL  l ) [pure virtual]
Remarks:
This method allows you to set the state of the loop flag.
Parameters:
BOOL l

TRUE for on; FALSE for off.
virtual BOOL GetLoop ( ) [pure virtual]
Remarks:
Returns the state of the loop flag.
Returns:
TRUE for on; FALSE for off.
virtual void SetRelative ( BOOL  rel ) [pure virtual]
Remarks:
This method allows you to set the state of the relative/absolute flag.
Parameters:
BOOL rel

TRUE to set to relative; FALSE to set to absolute.
virtual BOOL GetRelative ( ) [pure virtual]
Remarks:
Returns the state of the relative/absolute flag.
Returns:
TRUE if relative is on; FALSE is off (i.e. absolute).

IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition
IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition IPathPosition