3ds Max C++ API Reference
IIKKeyProp Class Referenceabstract

Interface to the IK Key Property. More...

#include <istdplug.h>

+ Inheritance diagram for IIKKeyProp:

Public Types

enum  EnumIKSpace { kBodySpace , kObjectSpace }
 The enum type for the space with regard to which the IK goal is interpreted. More...
 
- Public Types inherited from IKeyProperty
enum  PropID { kIKProp }
 Property ID enumeration. More...
 

Public Member Functions

PropID GetPropID () const
 The Property ID of this interface. More...
 
virtual float GetIKBlend () const =0
 Get the IK Blend attribute of the property. More...
 
virtual EnumIKSpace GetIKSpace () const =0
 Get the IK Space attribute of the property. More...
 
virtual bool GetPivotOn () const =0
 Get the Pivot On attribute of the property. More...
 
virtual Point3 GetWorldPivot () const =0
 Get the World Pivot attribute of the property. More...
 
virtual INodeGetPivotNode () const =0
 Get the Pivot Node attribute of the property. More...
 
virtual bool SetIKBlend () const
 When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the IK Blend attribute. More...
 
virtual bool SetIKSpace () const
 When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the IK Space attribute. More...
 
virtual bool SetPivotOn () const
 When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the Pivot On attribute. More...
 
virtual bool SetWorldPivot () const
 When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the World Pivot attribute. More...
 
virtual bool SetPivotNode () const
 When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the Pivot Node attribute. More...
 
- Public Member Functions inherited from IKeyProperty
virtual ~IKeyProperty ()
 Virtual destructor. More...
 

Additional Inherited Members

- 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

Interface to the IK Key Property.

This class defines the interface to the IK key property. This property has a property ID of IKeyProperty::kIKProp. A pointer to IKeyProperty whose propertyID is kIKProp can be safely cast to a pointer to an IIKKeyProp:

if (ptr->GetPropID() == IKeyProperty::kIKProp)
IIKKeyProp* ikProp = (IIKKeyProp*)ptr;
Interface to the IK Key Property.
Definition: istdplug.h:1373
@ kIKProp
Property ID of IIKKeyProp.
Definition: istdplug.h:1355

Member Enumeration Documentation

◆ EnumIKSpace

The enum type for the space with regard to which the IK goal is interpreted.

Enumerator
kBodySpace 

The body space is the parent space of the start bone shifted by the position of the start bone.

kObjectSpace 

The object space if the parent space of the IK goal object.

1376  {
1378  kBodySpace,
1379 
1381  kObjectSpace,
1382  };
@ kBodySpace
The body space is the parent space of the start bone shifted by the position of the start bone.
Definition: istdplug.h:1378
@ kObjectSpace
The object space if the parent space of the IK goal object.
Definition: istdplug.h:1381

Member Function Documentation

◆ GetPropID()

PropID GetPropID ( ) const
inlinevirtual

The Property ID of this interface.

See also
IKeyProperty::GetPropID

Implements IKeyProperty.

1386 { return IKeyProperty::kIKProp; }

◆ GetIKBlend()

virtual float GetIKBlend ( ) const
pure virtual

Get the IK Blend attribute of the property.

It should be in the range of [0,1].

Implemented in ISetIKKeyProp.

◆ GetIKSpace()

virtual EnumIKSpace GetIKSpace ( ) const
pure virtual

Get the IK Space attribute of the property.

Implemented in ISetIKKeyProp.

◆ GetPivotOn()

virtual bool GetPivotOn ( ) const
pure virtual

Get the Pivot On attribute of the property.

Implemented in ISetIKKeyProp.

◆ GetWorldPivot()

virtual Point3 GetWorldPivot ( ) const
pure virtual

Get the World Pivot attribute of the property.

Implemented in ISetIKKeyProp.

◆ GetPivotNode()

virtual INode* GetPivotNode ( ) const
pure virtual

Get the Pivot Node attribute of the property.

Implemented in ISetIKKeyProp.

◆ SetIKBlend()

virtual bool SetIKBlend ( ) const
inlinevirtual

When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the IK Blend attribute.

If it is true, GetIKBlend() will be used as the target of the set value.

1407 { return false; }

◆ SetIKSpace()

virtual bool SetIKSpace ( ) const
inlinevirtual

When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the IK Space attribute.

If it is true, GetIKSpace() will be used as the target of the set value.

1412 { return false; }

◆ SetPivotOn()

virtual bool SetPivotOn ( ) const
inlinevirtual

When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the Pivot On attribute.

If it is true, GetPivotOn() will be used as the target of the set value.

1417 { return false; }

◆ SetWorldPivot()

virtual bool SetWorldPivot ( ) const
inlinevirtual

When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the World Pivot attribute.

If it is true, GetWorldPivot() will be used as the target of the set value.

1422 { return false; }

◆ SetPivotNode()

virtual bool SetPivotNode ( ) const
inlinevirtual

When passed in IKeyControl2::SetKeyProp(), it tells whether to set value to the Pivot Node attribute.

If it is true, GetPivotNode() will be used as the target of the set value.

1427 { return false; }