IKCmdOps Class Reference
 
 
 
IKCmdOps Class Reference

This reference page is linked to from the following overview topics: IK System Interfaces.


#include <iiksys.h>

Inheritance diagram for IKCmdOps:
FPStaticInterface FPInterfaceDesc FPInterface BaseInterface InterfaceServer MaxHeapOperators IKCmdOpsEx

Class Description

See also:
: Class IKChainActions, Class IIKChainControl

Description:
This class is only available in release 5 or later. The program interface to functions of the IK system. To obtain a pointer to the interface, use

IKCmdOps* iksys = GetCoreInterface(IK_FP_INTERFACE_ID);

It should be non-null if the plugin of the IK system is loaded.

Public Member Functions

virtual INode CreateIKChain (INode *start, INode *end, const MCHAR *solver)=0
virtual int  SolverCount () const =0
virtual MSTR  SolverName (int) const =0
virtual MSTR  SolverUIName (int) const =0

Member Function Documentation

virtual INode* CreateIKChain ( INode start,
INode end,
const MCHAR *  solver 
) [pure virtual]
Remarks:
This method assigns an IK solver from nodes start to end. To be successful, following conditions have to be met:
  1. Start must be an ancestor of end in the node hierarchy;
  2. All TM controllers along the chain must be replaceable;
  3. The 3rd argument, solver, must be a name of a plugin solver.


Upon success, it will create an IK chain node that contains these pieces of information plus the IK goal and returns a pointer to it. Returning non-null pointer indicates failure.

Example:

        INode* ikchainNode = iksys->CreateIKChain(bone1, bone4, _M("HIIKSolver"));
virtual int SolverCount ( ) const [pure virtual]
Remarks:
Returns the number of IK solvers that have been loaded in.

virtual MSTR SolverName ( int  ) const [pure virtual]
Remarks:
Returns the internal name of the i-th solver. This name is used in CreateIKChain() or the script.

virtual MSTR SolverUIName ( int  ) const [pure virtual]
Remarks:
Returns the UI name of the i-th solver. The UI names appear in the solver list on the Motion Panel, or the Animation menu. They are localized.