ISplineIKGoal Class Reference


Detailed Description

See also:
: Class IIKGoal

class ISplineIKGoal: public IIKGoal

This class is only available in release 5 or later. This is an interface to a specific type of IK goal, the spline IK goal. The interface id is given the constant kSplineIKGoalID.

#include <ikhierarchy.h>

Inheritance diagram for ISplineIKGoal:
Inheritance graph
[legend]

List of all members.

Public Member Functions

BaseInterface GetInterface (Interface_ID id)
Interface_ID  GetID ()
virtual float  StartParam () const =0
virtual float  EndParam () const =0
virtual Point3  SplinePosAt (float, BOOL, BOOL=FALSE) const =0
virtual Point3  SplineTangentAt (float, BOOL) const =0
virtual const Matrix3 Goal () const =0
virtual INode GetGoalNode () const =0
virtual IIKChainControl GetChainControl ()=0
virtual float  GetSplineLength () const =0
virtual float  TwistHStartAngle () const =0
virtual float  TwistHEndAngle () const =0
virtual INode StartJoint () const =0
virtual INode EndJoint () const =0
virtual const ZeroPlaneMap DefaultZeroMap () const =0
virtual BOOL  IsClosed () const =0
virtual const Matrix3 TwistParent () const =0

Member Function Documentation

BaseInterface* GetInterface ( Interface_ID  id ) [inline, virtual]
Remarks:
Returns a pointer of type BaseInterface for the interface IIKGoal
Parameters:
Interface_ID id

Input id = kGoalID(<b>0x53937e2, 0x2be92941)
Remarks:
Returns, Interface_ID kGoalID(0x53937e2, 0x2be92941)

Reimplemented from IIKGoal.

{ if (id == kSplineIKGoalID) return this; else return IIKGoal::GetInterface(id); }
Interface_ID GetID ( ) [inline, virtual]
Remarks:
Returns, Interface_ID kGoalID(0x53937e2, 0x2be92941)

Reimplemented from IIKGoal.

Reimplemented in ISplineIKGoal2.

{ return kSplineIKGoalID; }
virtual float StartParam ( ) const [pure virtual]
virtual float EndParam ( ) const [pure virtual]
virtual Point3 SplinePosAt ( float  ,
BOOL  ,
BOOL  = FALSE 
) const [pure virtual]
Remarks:
Returns the position of a point on a spline or NURBS curve given its global u-value. The point can be computed in the local or the world space of the curve, represented by the second BOOL argument. The third BOOL argument determines if we should really recompute the curve or use the cached data.

virtual Point3 SplineTangentAt ( float  ,
BOOL   
) const [pure virtual]
Remarks:
Similar to the above: returns the tangent at a point on a spline or NURBS curve given its global u-value. The point can be computed in the local or the world space of the curve, represented by the second BOOL argument.

virtual const Matrix3& Goal ( ) const [pure virtual]
Remarks:
Obtained from IHIIKGoal. I don't think we are currently using it for the SPlineIK.

virtual INode* GetGoalNode ( ) const [pure virtual]
Remarks:
Grabs the Goal node.

virtual IIKChainControl* GetChainControl ( ) [pure virtual]
Remarks:
Returns a pointer IIKChainControl.

virtual float GetSplineLength ( ) const [pure virtual]
Remarks:
Compute the length of the spline which the IKchain conforms to.

virtual float TwistHStartAngle ( ) const [pure virtual]
Remarks:
Get the angle of the Start Twist Manipulator

virtual float TwistHEndAngle ( ) const [pure virtual]
Remarks:
Get the angle of the End Twist Manipulator

virtual INode* StartJoint ( ) const [pure virtual]
Remarks:
Get the Start Joint node of the IK Chain

virtual INode* EndJoint ( ) const [pure virtual]
Remarks:
Get the End Joint node of the IK Chain

virtual const ZeroPlaneMap* DefaultZeroMap ( ) const [pure virtual]
virtual BOOL IsClosed ( ) const [pure virtual]
Remarks:
Returns TRUE/FALSE as to whether curve is open or closed.
virtual const Matrix3& TwistParent ( ) const [pure virtual]

ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal
ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal ISplineIKGoal