3ds Max C++ API Reference
ISplineIKGoal Class Referenceabstract

#include <ikhierarchy.h>

+ Inheritance diagram for ISplineIKGoal:

Public Member Functions

BaseInterfaceGetInterface (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 Matrix3Goal () const =0
 
virtual INodeGetGoalNode () const =0
 
virtual IIKChainControlGetChainControl ()=0
 
virtual float GetSplineLength () const =0
 
virtual float TwistHStartAngle () const =0
 
virtual float TwistHEndAngle () const =0
 
virtual INodeStartJoint () const =0
 
virtual INodeEndJoint () const =0
 
virtual const ZeroPlaneMapDefaultZeroMap () const =0
 
virtual BOOL IsClosed () const =0
 
virtual const Matrix3TwistParent () const =0
 
- Public Member Functions inherited from IIKGoal
LifetimeType LifetimeControl ()
 
CoreExport void ReleaseInterface ()
 
virtual ~IIKGoal ()
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

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.

Member Function Documentation

◆ GetInterface()

BaseInterface* GetInterface ( Interface_ID  id)
inlinevirtual
Remarks
Returns a pointer of type BaseInterface for the interface IIKGoal
Parameters
id- Input id = kGoalID(<b>0x53937e2, 0x2be92941)
Returns
Interface_ID kGoalID(0x53937e2, 0x2be92941)

Reimplemented from IIKGoal.

751 { if (id == kSplineIKGoalID) return this; else return IIKGoal::GetInterface(id); }
BaseInterface * GetInterface(Interface_ID id)
Definition: ikhierarchy.h:681
const Interface_ID kSplineIKGoalID(0x4ee7cd9, 0x68a54886)

◆ GetID()

Interface_ID GetID ( )
inlinevirtual
Remarks
Returns, Interface_ID kGoalID(0x53937e2, 0x2be92941)

Reimplemented from IIKGoal.

Reimplemented in ISplineIKGoal2.

752 { return kSplineIKGoalID; }

◆ StartParam()

virtual float StartParam ( ) const
pure virtual

◆ EndParam()

virtual float EndParam ( ) const
pure virtual

◆ SplinePosAt()

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.

◆ SplineTangentAt()

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.

◆ Goal()

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

◆ GetGoalNode()

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

◆ GetChainControl()

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

◆ GetSplineLength()

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

◆ TwistHStartAngle()

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

◆ TwistHEndAngle()

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

◆ StartJoint()

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

◆ EndJoint()

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

◆ DefaultZeroMap()

virtual const ZeroPlaneMap* DefaultZeroMap ( ) const
pure virtual
Remarks
Returns a ZeroPlaneMap.

◆ IsClosed()

virtual BOOL IsClosed ( ) const
pure virtual
Remarks
Returns TRUE/FALSE as to whether curve is open or closed.

◆ TwistParent()

virtual const Matrix3& TwistParent ( ) const
pure virtual