3ds Max C++ API Reference
Loading...
Searching...
No Matches
ISetIKKeyProp Class Reference

This is a helper class. More...

#include <istdplug.h>

+ Inheritance diagram for ISetIKKeyProp:

Public Member Functions

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

Additional Inherited Members

- Public Types inherited from IIKKeyProp
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...
 
- 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 

Detailed Description

This is a helper class.

If we want to set just one attribute of the IK Key Property, we can derive a new class from it as follows:

class SetIKBlendProp : public ISetIKKeyProp {
public:
SetIKBlendProp(float blend) : mBlend(blend) {}
float GetIKBlend() const { return mBlend; }
bool SetIKBlend() const { return true; }
float mBlend;
};
IKeyControl2* keyControl = (IKeyControl2*)control->GetInterface(I_KEYCONTROL2);
SetIKBlendProp prop(new_blend_value);
keyControl->SetKeyProp(IKeyProperty::kIKProp, key_index, prop);
Extend IKeyControl to include interfaces to IKeyProperty.
Definition: istdplug.h:1668
virtual bool SetKeyProp(IKeyProperty::PropID id, int i, const IKeyProperty &prop)
Set the property to the i-th key.
Definition: istdplug.h:1698
@ kIKProp
Property ID of IIKKeyProp.
Definition: istdplug.h:1355
This is a helper class.
Definition: istdplug.h:1444
#define I_KEYCONTROL2
An Animatable supporting this interface is an IKeyControl2.
Definition: AnimatableInterfaceIDs.h:49

Member Function Documentation

◆ GetIKBlend()

float GetIKBlend ( ) const
inlinevirtual

Override IIKKeyProp::GetIKBlend().

Implements IIKKeyProp.

1447{ return 0.0f; }

◆ GetIKSpace()

EnumIKSpace GetIKSpace ( ) const
inlinevirtual

Override IIKKeyProp::GetIKSpace().

Implements IIKKeyProp.

1449{ return kObjectSpace; }
@ kObjectSpace
The object space if the parent space of the IK goal object.
Definition: istdplug.h:1381

◆ GetPivotOn()

bool GetPivotOn ( ) const
inlinevirtual

Override IIKKeyProp::GetPivotOn().

Implements IIKKeyProp.

1451{ return false; }

◆ GetWorldPivot()

Point3 GetWorldPivot ( ) const
inlinevirtual

Override IIKKeyProp::GetWorldPivot().

Implements IIKKeyProp.

1453{ return Point3::Origin; }
static const Point3 Origin
Definition: point3.h:87

◆ GetPivotNode()

INode * GetPivotNode ( ) const
inlinevirtual

Override IIKKeyProp::GetPivotNode().

Implements IIKKeyProp.

1455{ return NULL; }
#define NULL
Definition: autoptr.h:18