Public Types | Public Member Functions

ILinkCtrl 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.

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

This class represents the interface to the Link Controller. You can obtain a pointer to the link controller interface using; GetLinkConstInterface(cd). This macro will return

(LinkConstTransform*)(CD)->GetFPInterface(LINK_CONSTRAINT_INTERFACE).

Developers may use the following values to access the references of the Link controller.

LINKCTRL_CONTROL_REF

The TM controller

LINKCTRL_FIRSTPARENT_REF

The index of the first parent node.

LINKCTRL_PBLOCK_REF

The parameter block.

All methods of this class are Implemented by the System.

#include <istdplug.h>

Inheritance diagram for ILinkCtrl:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  get_num_targets, get_node, set_node, get_frame_no,
  set_frame_no, add_target, delete_target, add_world
}

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_frame_no, TYPE_INT, GetFrameNumber, TYPE_INDEX)
  FN_2 (set_frame_no, TYPE_BOOL, SetFrameNumber, TYPE_INDEX, TYPE_INT)
  FN_2 (add_target, TYPE_BOOL, AddTarget, TYPE_INODE, TYPE_INT)
  FN_1 (delete_target, TYPE_BOOL, DeleteTarget, TYPE_INDEX)
  FN_1 (add_world, TYPE_INT, AddWorld, TYPE_INT)
END_FUNCTION_MAP FPInterfaceDesc GetDesc ()
virtual int  GetNumTargets ()=0
virtual TimeValue  GetLinkTime (int i)=0
virtual void  SetLinkTime (int i, TimeValue t)=0
virtual void  LinkTimeChanged ()=0
virtual void  AddNewLink (INode *node, TimeValue t)=0
virtual BOOL  DeleteTarget (int frameNo)=0
virtual int  GetFrameNumber (int targetNumber)=0
virtual BOOL  SetFrameNumber (int targetNumber, int frameNumber)=0
virtual BOOL  AddTarget (INode *target, int frameNo)=0
virtual INode GetNode (int targetNumber)=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_frame_no  ,
TYPE_INT  ,
GetFrameNumber  ,
TYPE_INDEX   
)
FN_2 ( set_frame_no  ,
TYPE_BOOL  ,
SetFrameNumber  ,
TYPE_INDEX  ,
TYPE_INT   
)
FN_2 ( add_target  ,
TYPE_BOOL  ,
AddTarget  ,
TYPE_INODE  ,
TYPE_INT   
)
FN_1 ( delete_target  ,
TYPE_BOOL  ,
DeleteTarget  ,
TYPE_INDEX   
)
FN_1 ( add_world  ,
TYPE_INT  ,
AddWorld  ,
TYPE_INT   
)
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.

This method returns the number of parents (links).
virtual TimeValue GetLinkTime ( int  i ) [pure virtual]
Remarks:
Returns the start time associated with the 'i-th' link.
Parameters:
int i

Specifies which parent (link).
virtual void SetLinkTime ( int  i,
TimeValue  t 
) [pure virtual]
Remarks:
Sets the start time associated with the 'i-th' link. See LinkTimeChanged() below. Note: This method also sorts the indices according to increasing time values.
Parameters:
int i

Specifies which parent (link).

TimeValue t

The time to set.
virtual void LinkTimeChanged ( ) [pure virtual]
Remarks:
This method should be called after changing link times. Note: This method also sorts the indices according to increasing time values.
virtual void AddNewLink ( INode node,
TimeValue  t 
) [pure virtual]
Remarks:
Adds a new link at the specified time.
Parameters:
INode *node

Points to the node of the link to add.

TimeValue t

The time to change to this link.
virtual BOOL DeleteTarget ( int  frameNo ) [pure virtual]
Remarks:
This method will delete the specified link.
Parameters:
int frameNo

Specifies which link to delete.
virtual int GetFrameNumber ( int  targetNumber ) [pure virtual]
Remarks:
This method returns the start frame of the specified target.
Parameters:
int targetNumber

The target number for which to get the start frame.
virtual BOOL SetFrameNumber ( int  targetNumber,
int  frameNumber 
) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

This method allows you to set the start frame of the specified target.
Parameters:
int targetNumber

The target number for which to set the start frame.

int frameNumber

The time value.
Returns:
TRUE if the start frame is set, otherwise FALSE.
virtual BOOL AddTarget ( INode target,
int  frameNo 
) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

This method allows you to append a target.
Parameters:
INode *target

The target node to append.

int frameNo

The frame time.
Returns:
TRUE if the target was appended, otherwise FALSE.
virtual INode* GetNode ( int  targetNumber ) [pure virtual]
Remarks:
This method is available in release 4.0 and later only.

This method returns one of the link nodes that the link constraint controller targets, specified by targetNumber.
Parameters:
int targetNumber

The node number in the link target list to be obtained.

ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl
ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl ILinkCtrl