3ds Max C++ API Reference
IMorphByBone Class Referenceabstract

#include <iMorphByBone.h>

+ Inheritance diagram for IMorphByBone:

Public Member Functions

 VFN_1 (morphbybone_addbone, fnAddBone, TYPE_INODE)
 
 VFN_1 (morphbybone_removebone, fnRemoveBone, TYPE_INODE)
 
 VFN_2 (morphbybone_selectbone, fnSelectBone, TYPE_INODE, TYPE_STRING)
 
 FN_0 (morphbybone_getselectedbone, TYPE_INODE, fnGetSelectedBone)
 
 FN_0 (morphbybone_getselectedmorph, TYPE_STRING, fnGetSelectedMorph)
 
 VFN_2 (morphbybone_selectvertices, fnSelectVertices, TYPE_INODE, TYPE_BITARRAY)
 
 FN_2 (morphbybone_isselectedvertex, TYPE_BOOL, fnIsSelectedVertex, TYPE_INODE, TYPE_INT)
 
 VFN_0 (morphbybone_resetgraph, fnResetGraph)
 
 VFN_0 (morphbybone_grow, fnGrow)
 
 VFN_0 (morphbybone_shrink, fnShrink)
 
 VFN_0 (morphbybone_ring, fnRing)
 
 VFN_0 (morphbybone_loop, fnLoop)
 
 VFN_1 (morphbybone_createmorph, fnCreateMorph, TYPE_INODE)
 
 VFN_2 (morphbybone_removemorph, fnRemoveMorph, TYPE_INODE, TYPE_STRING)
 
 VFN_1 (morphbybone_editmorph, fnEdit, TYPE_BOOL)
 
 VFN_0 (morphbybone_clearvertices, fnClearSelectedVertices)
 
 VFN_0 (morphbybone_deletevertices, fnDeleteSelectedVertices)
 
 VFN_2 (morphbybone_resetorientation, fnResetOrientation, TYPE_INODE, TYPE_STRING)
 
 VFN_2 (morphbybone_reloadtarget, fnReloadTarget, TYPE_INODE, TYPE_STRING)
 
 VFN_1 (morphbybone_mirrorpaste, fnMirrorPaste, TYPE_INODE)
 
 VFN_2 (morphbybone_editfalloffgraph, fnEditFalloffGraph, TYPE_INODE, TYPE_STRING)
 
 VFN_3 (morphbybone_setexternalnode, fnSetExternalNode, TYPE_INODE, TYPE_STRING, TYPE_INODE)
 
 VFN_1 (morphbybone_moveverts, fnMoveVerts, TYPE_POINT3)
 
 VFN_2 (morphbybone_transformverts, fnTransFormVerts, TYPE_MATRIX3, TYPE_MATRIX3)
 
 FN_0 (morphbybone_numberofbones, TYPE_INT, fnNumberOfBones)
 
 FN_1 (morphbybone_bonegetinitialnodetm, TYPE_MATRIX3, fnBoneGetInitialNodeTM, TYPE_INODE)
 
 VFN_2 (morphbybone_bonesetinitialnodetm, fnBoneSetInitialNodeTM, TYPE_INODE, TYPE_MATRIX3)
 
 FN_1 (morphbybone_bonegetinitialobjecttm, TYPE_MATRIX3, fnBoneGetInitialObjectTM, TYPE_INODE)
 
 VFN_2 (morphbybone_bonesetinitialobjecttm, fnBoneSetInitialObjectTM, TYPE_INODE, TYPE_MATRIX3)
 
 FN_1 (morphbybone_bonegetinitialparenttm, TYPE_MATRIX3, fnBoneGetInitialParentTM, TYPE_INODE)
 
 VFN_2 (morphbybone_bonesetinitialparenttm, fnBoneSetInitialParentTM, TYPE_INODE, TYPE_MATRIX3)
 
 FN_1 (morphbybone_bonegetnumberofmorphs, TYPE_INT, fnBoneGetNumberOfMorphs, TYPE_INODE)
 
 FN_2 (morphbybone_bonegetmorphname, TYPE_STRING, fnBoneGetMorphName, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphname, fnBoneSetMorphName, TYPE_INODE, TYPE_INT, TYPE_STRING)
 
 FN_2 (morphbybone_bonegetmorphangle, TYPE_FLOAT, fnBoneGetMorphAngle, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphangle, fnBoneSetMorphAngle, TYPE_INODE, TYPE_INT, TYPE_FLOAT)
 
 FN_2 (morphbybone_bonegetmorphtm, TYPE_MATRIX3, fnBoneGetMorphTM, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphtm, fnBoneSetMorphTM, TYPE_INODE, TYPE_INT, TYPE_MATRIX3)
 
 FN_2 (morphbybone_bonegetmorphparenttm, TYPE_MATRIX3, fnBoneGetMorphParentTM, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphparenttm, fnBoneSetMorphParentTM, TYPE_INODE, TYPE_INT, TYPE_MATRIX3)
 
 FN_2 (morphbybone_bonegetmorphisdead, TYPE_BOOL, fnBoneGetMorphIsDead, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonegetmorphsetdead, fnBoneSetMorphSetDead, TYPE_INODE, TYPE_INT, TYPE_BOOL)
 
 FN_2 (morphbybone_bonegetmorphnumpoints, TYPE_INT, fnBoneGetMorphNumPoints, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphnumpoints, fnBoneSetMorphNumPoints, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 FN_3 (morphbybone_bonegetmorphvertid, TYPE_INT, fnBoneGetMorphVertID, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 VFN_4 (morphbybone_bonesetmorphvertid, fnBoneSetMorphVertID, TYPE_INODE, TYPE_INT, TYPE_INT, TYPE_INT)
 
 FN_3 (morphbybone_bonegetmorphvec, TYPE_POINT3, fnBoneGetMorphVec, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 VFN_4 (morphbybone_bonesetmorphvec, fnBoneSetMorphVec, TYPE_INODE, TYPE_INT, TYPE_INT, TYPE_POINT3)
 
 FN_3 (morphbybone_bonegetmorphpvec, TYPE_POINT3, fnBoneGetMorphPVec, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 VFN_4 (morphbybone_bonesetmorphpvec, fnBoneSetMorphPVec, TYPE_INODE, TYPE_INT, TYPE_INT, TYPE_POINT3)
 
 FN_3 (morphbybone_bonegetmorphop, TYPE_POINT3, fnBoneGetMorphOP, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 VFN_4 (morphbybone_bonesetmorphop, fnBoneSetMorphOP, TYPE_INODE, TYPE_INT, TYPE_INT, TYPE_POINT3)
 
 FN_3 (morphbybone_bonegetmorphowner, TYPE_INODE, fnBoneGetMorphOwner, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 VFN_4 (morphbybone_bonesetmorphowner, fnBoneSetMorphOwner, TYPE_INODE, TYPE_INT, TYPE_INT, TYPE_INODE)
 
 FN_2 (morphbybone_bonegetmorphfalloff, TYPE_INT, fnBoneGetMorphFalloff, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphfalloff, fnBoneSetMorphFalloff, TYPE_INODE, TYPE_INT, TYPE_INT)
 
 FN_1 (morphbybone_bonegetjointtype, TYPE_INT, fnBoneGetJointType, TYPE_INODE)
 
 VFN_2 (morphbybone_bonesetjointtype, fnBoneSetJointType, TYPE_INODE, TYPE_INT)
 
 VFN_0 (morphbybone_update, fnUpdate)
 
 FN_2 (morphbybone_getweight, TYPE_FLOAT, fnGetWeight, TYPE_INODE, TYPE_STRING)
 
 FN_2 (morphbybone_bonegetmorphenabled, TYPE_BOOL, fnBoneGetMorphEnabled, TYPE_INODE, TYPE_INT)
 
 VFN_3 (morphbybone_bonesetmorphenabled, fnBoneSetMorphEnabled, TYPE_INODE, TYPE_INT, TYPE_BOOL)
 
FPInterfaceDescGetDesc ()
 
virtual void fnAddBone (INode *node)=0
 void fnAddBone(INode *node)=0; This adds a bone to the system INode *node the bone to add More...
 
virtual void fnRemoveBone (INode *node)=0
 void fnRemoveBone(INode *node) This removes a bone from the system INode *node the bone to remove More...
 
virtual void fnSelectBone (INode *node, const MCHAR *morphName)=0
 void fnSelectBone(INode node,const MCHAR morphName) This selects a bone and/or morph in the selection list. More...
 
virtual INodefnGetSelectedBone ()=0
 INode* fnGetSelectedBone() This returns the current active bone. More...
 
virtual const MCHARfnGetSelectedMorph ()=0
 MCHAR* fnGetSelectedMorph() This returns the name of the current selected morph. More...
 
virtual void fnSelectVertices (INode *node, BitArray *sel)=0
 void fnSelectVertices(INode *node,BitArray *sel) This lets you select vertices. More...
 
virtual BOOL fnIsSelectedVertex (INode *node, int index)=0
 BOOL fnIsSelectedVertex(INode *node,int index) INode *node this is the node that owns the modifier, this is used to find a specific instance of the modifier and apply it to the right local data int index this the index of the vertex that you want to check. More...
 
virtual void fnResetGraph ()=0
 void fnResetGraph() this is equivalent to pressing the reset graph button in the UI which resets the the soft selection graph to a sinual graph More...
 
virtual void fnShrink ()=0
 void fnShrink() This contracts your vertex selection More...
 
virtual void fnGrow ()=0
 void fnGrow() This expands your vertex selection More...
 
virtual void fnRing ()=0
 void fnRing() This turns your current selection into a ring selection More...
 
virtual void fnLoop ()=0
 void fnLoop() This turns your current selection into a loop selection
More...
 
virtual void fnCreateMorph (INode *node)=0
 void fnCreateMorph(INode *node) This creates a new morph for a bone INode *node this is the bone that you want to create the morph on More...
 
virtual void fnRemoveMorph (INode *node, const MCHAR *name)=0
 void fnRemoveMorph(INode *node, const MCHAR *name) This removes a morph target INode *node this is the bone that owns the morph that you want to remove MCHAR *name this is the name of the morph that you want to remove More...
 
virtual void fnEdit (BOOL edit)=0
 fnEdit(BOOL edit) This toggles on/off the edit morph mode. More...
 
virtual void fnClearSelectedVertices ()=0
 void fnClearSelectedVertices() This ie equivalent to press the clear verts button in the UI which takes the selected vertices and sets their delta to zero More...
 
virtual void fnDeleteSelectedVertices ()=0
 void fnDeleteSelectedVertices() This ie equivalent to press the delet verts button in the UI which takes the selected vertices and removes them from the current morph More...
 
virtual void fnResetOrientation (INode *node, const MCHAR *name)=0
 void fnResetOrientation(INode *node, const MCHAR *name) This resets the orientation of morph to the current orientation of the bone that owns it INode *node this is the bone that owns the morph to be reset MCHAR *name this is the name of the morph to be reset More...
 
virtual void fnReloadTarget (INode *node, const MCHAR *name)=0
 void fnReloadTarget(INode *node, const MCHAR *name) This reloads the external mesh for a morph if there is one INode *node this is the bone that owns the morph to be reloaded MCHAR *name this is the name of the morph to be reloaded More...
 
virtual void fnMirrorPaste (INode *node)=0
 fnMirrorPaste(INode *node) This mirror pastes the node to its mirror target based on the mirror parameters INode *node this is the node that is to be mirrored More...
 
virtual void fnEditFalloffGraph (INode *node, const MCHAR *name)=0
 void fnEditFalloffGraph(INode *node, const MCHAR *name) This brings up the falloff graph of a morph if there is one INode *node this is the bone that owns the morph MCHAR *name this is the name of the morph to to have its graph brought up More...
 
virtual void fnSetExternalNode (INode *node, const MCHAR *name, INode *exnode)=0
 void fnSetExternalNode(INode *node, const MCHAR *name,INode *exnode) This lets you set the external mesh node for a morph INode *node this is the bone that owns the morph MCHAR *name this is the name of the morph to to have its external node set More...
 
virtual void fnMoveVerts (Point3 vec)=0
 void fnMoveVerts(Point3 vec) This moves the selected vertices along a vec which is applied to an active morph if there is one Point3 vec this is the vec which the vertices are moved. More...
 
virtual void fnTransFormVerts (Matrix3 a, Matrix3 b)=0
 void fnTransFormVerts(Matrix3 a, Matrix3 b) This transforms the selected vertices which is applied to an active morph if there is one Matrix a this is matrix transformation Matrix b this is the space? More...
 
virtual int fnNumberOfBones ()=0
 int fnNumberOfBones() This is the number of bones in the system More...
 
virtual Matrix3fnBoneGetInitialNodeTM (INode *node)=0
 Matrix3* fnBoneGetInitialNodeTM(INode *node) This returns the initial node tm of bone. More...
 
virtual void fnBoneSetInitialNodeTM (INode *node, Matrix3 tm)=0
 void fnBoneSetInitialNodeTM(INode *node, Matrix3 tm) This lets you set the initial node tm of a bone INode *node this is the bone that you want set the tm on Matrix3 tm this is the initial tm More...
 
virtual Matrix3fnBoneGetInitialObjectTM (INode *node)=0
 Matrix3* fnBoneGetInitialObjectTM(INode *node) This returns the initial object tm of bone. More...
 
virtual void fnBoneSetInitialObjectTM (INode *node, Matrix3 tm)=0
 void fnBoneSetInitialObjectTM(INode *node, Matrix3 tm) This lets you set the initial object tm of a bone INode *node this is the bone that you want set the tm on Matrix3 tm this is the initial tm More...
 
virtual Matrix3fnBoneGetInitialParentTM (INode *node)=0
 Matrix3* fnBoneGetInitialParentTM(INode *node) This returns the initial node tm parent that owns bone. More...
 
virtual void fnBoneSetInitialParentTM (INode *node, Matrix3 tm)=0
 void fnBoneSetInitialParentTM(INode *node, Matrix3 tm) This lets you set the parent tm of a bone. More...
 
virtual int fnBoneGetNumberOfMorphs (INode *node)=0
 int fnBoneGetNumberOfMorphs(INode *node) This returns the number of morphs that a bone owns INode *node this the bone to get the number of morphs from More...
 
virtual const MCHARfnBoneGetMorphName (INode *node, int morphIndex)=0
 the follow le get/set properties of individual morphs they all follow the same format INode *node is the bone that owns the morph int morphIndex is the index of the morph
More...
 
virtual void fnBoneSetMorphName (INode *node, int morphIndex, const MCHAR *name)=0
 
virtual float fnBoneGetMorphAngle (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphAngle (INode *node, int morphIndex, float angle)=0
 
virtual Matrix3fnBoneGetMorphTM (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphTM (INode *node, int morphIndex, Matrix3 tm)=0
 
virtual Matrix3fnBoneGetMorphParentTM (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphParentTM (INode *node, int morphIndex, Matrix3 tm)=0
 
virtual BOOL fnBoneGetMorphIsDead (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphSetDead (INode *node, int morphIndex, BOOL dead)=0
 
virtual int fnBoneGetMorphNumPoints (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphNumPoints (INode *node, int morphIndex, int numberPoints)=0
 
virtual int fnBoneGetMorphVertID (INode *node, int morphIndex, int ithIndex)=0
 These let you get access to the morph vertex properties every morph contains a list of vertices and properties INode *node is the bone that owns the morph int morphIndex is the index of the morph int ithIndex is which vertex you want to get info about the index back into the mesh vertex list. More...
 
virtual void fnBoneSetMorphVertID (INode *node, int morphIndex, int ithIndex, int vertIndex)=0
 
virtual Point3fnBoneGetMorphVec (INode *node, int morphIndex, int ithIndex)=0
 the vector in local bone space More...
 
virtual void fnBoneSetMorphVec (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
 
virtual Point3fnBoneGetMorphPVec (INode *node, int morphIndex, int ithIndex)=0
 the vector in parent space More...
 
virtual void fnBoneSetMorphPVec (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
 
virtual Point3fnBoneGetMorphOP (INode *node, int morphIndex, int ithIndex)=0
 the original point before any deformation More...
 
virtual void fnBoneSetMorphOP (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
 
virtual INodefnBoneGetMorphOwner (INode *node, int morphIndex, int ithIndex)=0
 this returns which node owns the vertex if ther modifier is instanced More...
 
virtual void fnBoneSetMorphOwner (INode *node, int morphIndex, int ithIndex, INode *onode)=0
 
virtual int fnBoneGetMorphFalloff (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphFalloff (INode *node, int morphIndex, int falloff)=0
 
virtual int fnBoneGetJointType (INode *node)=0
 
virtual void fnBoneSetJointType (INode *node, int jointType)=0
 
virtual void fnUpdate ()=0
 void fnUpdate() This forces a system to update More...
 
virtual float fnGetWeight (INode *node, const MCHAR *name)=0
 This return the weight of particular morph is contributing INode *node is the bone that owns the morph MCHAR*name this is the name of the morph. More...
 
virtual BOOL fnBoneGetMorphEnabled (INode *node, int morphIndex)=0
 
virtual void fnBoneSetMorphEnabled (INode *node, int morphIndex, BOOL enabled)=0
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- 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...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

Description:
This is the interface into the Skin Morph modifier. It contains methods to get access to the Skin Morph UI actions and the data in the Skin Morph modifier.

Member Function Documentation

◆ VFN_1() [1/6]

VFN_1 ( morphbybone_addbone  ,
fnAddBone  ,
TYPE_INODE   
)

◆ VFN_1() [2/6]

◆ VFN_2() [1/11]

◆ FN_0() [1/3]

◆ FN_0() [2/3]

◆ VFN_2() [2/11]

◆ FN_2() [1/10]

◆ VFN_0() [1/8]

◆ VFN_0() [2/8]

VFN_0 ( morphbybone_grow  ,
fnGrow   
)

◆ VFN_0() [3/8]

VFN_0 ( morphbybone_shrink  ,
fnShrink   
)

◆ VFN_0() [4/8]

VFN_0 ( morphbybone_ring  ,
fnRing   
)

◆ VFN_0() [5/8]

VFN_0 ( morphbybone_loop  ,
fnLoop   
)

◆ VFN_1() [3/6]

◆ VFN_2() [3/11]

◆ VFN_1() [4/6]

VFN_1 ( morphbybone_editmorph  ,
fnEdit  ,
TYPE_BOOL   
)

◆ VFN_0() [6/8]

◆ VFN_0() [7/8]

◆ VFN_2() [4/11]

◆ VFN_2() [5/11]

◆ VFN_1() [5/6]

◆ VFN_2() [6/11]

◆ VFN_3() [1/9]

◆ VFN_1() [6/6]

◆ VFN_2() [7/11]

◆ FN_0() [3/3]

◆ FN_1() [1/5]

◆ VFN_2() [8/11]

◆ FN_1() [2/5]

◆ VFN_2() [9/11]

◆ FN_1() [3/5]

◆ VFN_2() [10/11]

◆ FN_1() [4/5]

◆ FN_2() [2/10]

◆ VFN_3() [2/9]

◆ FN_2() [3/10]

◆ VFN_3() [3/9]

◆ FN_2() [4/10]

◆ VFN_3() [4/9]

◆ FN_2() [5/10]

◆ VFN_3() [5/9]

◆ FN_2() [6/10]

◆ VFN_3() [6/9]

◆ FN_2() [7/10]

◆ VFN_3() [7/9]

◆ FN_3() [1/5]

◆ VFN_4() [1/5]

◆ FN_3() [2/5]

◆ VFN_4() [2/5]

◆ FN_3() [3/5]

◆ VFN_4() [3/5]

◆ FN_3() [4/5]

◆ VFN_4() [4/5]

◆ FN_3() [5/5]

◆ VFN_4() [5/5]

◆ FN_2() [8/10]

◆ VFN_3() [8/9]

◆ FN_1() [5/5]

◆ VFN_2() [11/11]

◆ VFN_0() [8/8]

VFN_0 ( morphbybone_update  ,
fnUpdate   
)

◆ FN_2() [9/10]

◆ FN_2() [10/10]

◆ VFN_3() [9/9]

◆ GetDesc()

FPInterfaceDesc* GetDesc ( )
virtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

◆ fnAddBone()

virtual void fnAddBone ( INode node)
pure virtual

void fnAddBone(INode *node)=0; This adds a bone to the system INode *node the bone to add

◆ fnRemoveBone()

virtual void fnRemoveBone ( INode node)
pure virtual

void fnRemoveBone(INode *node) This removes a bone from the system INode *node the bone to remove

◆ fnSelectBone()

virtual void fnSelectBone ( INode node,
const MCHAR morphName 
)
pure virtual

void fnSelectBone(INode node,const MCHAR morphName) This selects a bone and/or morph in the selection list.

If the morphName is null only the bone will be selected. INode node this is the node to be selected MCHAR morphName this is the morph to be selected

◆ fnGetSelectedBone()

virtual INode* fnGetSelectedBone ( )
pure virtual

INode* fnGetSelectedBone() This returns the current active bone.

◆ fnGetSelectedMorph()

virtual const MCHAR* fnGetSelectedMorph ( )
pure virtual

MCHAR* fnGetSelectedMorph() This returns the name of the current selected morph.

◆ fnSelectVertices()

virtual void fnSelectVertices ( INode node,
BitArray sel 
)
pure virtual

void fnSelectVertices(INode *node,BitArray *sel) This lets you select vertices.

INode *node this is the node that owns the modifier, this is used to find a specific instance of the modifier and apply it to the right local data BitArray *sel the selection array

◆ fnIsSelectedVertex()

virtual BOOL fnIsSelectedVertex ( INode node,
int  index 
)
pure virtual

BOOL fnIsSelectedVertex(INode *node,int index) INode *node this is the node that owns the modifier, this is used to find a specific instance of the modifier and apply it to the right local data int index this the index of the vertex that you want to check.

◆ fnResetGraph()

virtual void fnResetGraph ( )
pure virtual

void fnResetGraph() this is equivalent to pressing the reset graph button in the UI which resets the the soft selection graph to a sinual graph

◆ fnShrink()

virtual void fnShrink ( )
pure virtual

void fnShrink() This contracts your vertex selection

◆ fnGrow()

virtual void fnGrow ( )
pure virtual

void fnGrow() This expands your vertex selection

◆ fnRing()

virtual void fnRing ( )
pure virtual

void fnRing() This turns your current selection into a ring selection

◆ fnLoop()

virtual void fnLoop ( )
pure virtual

void fnLoop() This turns your current selection into a loop selection

◆ fnCreateMorph()

virtual void fnCreateMorph ( INode node)
pure virtual

void fnCreateMorph(INode *node) This creates a new morph for a bone INode *node this is the bone that you want to create the morph on

◆ fnRemoveMorph()

virtual void fnRemoveMorph ( INode node,
const MCHAR name 
)
pure virtual

void fnRemoveMorph(INode *node, const MCHAR *name) This removes a morph target INode *node this is the bone that owns the morph that you want to remove MCHAR *name this is the name of the morph that you want to remove

◆ fnEdit()

virtual void fnEdit ( BOOL  edit)
pure virtual

fnEdit(BOOL edit) This toggles on/off the edit morph mode.

The current active morph is the one that will be edited BOOL edit the edit mode state

◆ fnClearSelectedVertices()

virtual void fnClearSelectedVertices ( )
pure virtual

void fnClearSelectedVertices() This ie equivalent to press the clear verts button in the UI which takes the selected vertices and sets their delta to zero

◆ fnDeleteSelectedVertices()

virtual void fnDeleteSelectedVertices ( )
pure virtual

void fnDeleteSelectedVertices() This ie equivalent to press the delet verts button in the UI which takes the selected vertices and removes them from the current morph

◆ fnResetOrientation()

virtual void fnResetOrientation ( INode node,
const MCHAR name 
)
pure virtual

void fnResetOrientation(INode *node, const MCHAR *name) This resets the orientation of morph to the current orientation of the bone that owns it INode *node this is the bone that owns the morph to be reset MCHAR *name this is the name of the morph to be reset

◆ fnReloadTarget()

virtual void fnReloadTarget ( INode node,
const MCHAR name 
)
pure virtual

void fnReloadTarget(INode *node, const MCHAR *name) This reloads the external mesh for a morph if there is one INode *node this is the bone that owns the morph to be reloaded MCHAR *name this is the name of the morph to be reloaded

◆ fnMirrorPaste()

virtual void fnMirrorPaste ( INode node)
pure virtual

fnMirrorPaste(INode *node) This mirror pastes the node to its mirror target based on the mirror parameters INode *node this is the node that is to be mirrored

◆ fnEditFalloffGraph()

virtual void fnEditFalloffGraph ( INode node,
const MCHAR name 
)
pure virtual

void fnEditFalloffGraph(INode *node, const MCHAR *name) This brings up the falloff graph of a morph if there is one INode *node this is the bone that owns the morph MCHAR *name this is the name of the morph to to have its graph brought up

◆ fnSetExternalNode()

virtual void fnSetExternalNode ( INode node,
const MCHAR name,
INode exnode 
)
pure virtual

void fnSetExternalNode(INode *node, const MCHAR *name,INode *exnode) This lets you set the external mesh node for a morph INode *node this is the bone that owns the morph MCHAR *name this is the name of the morph to to have its external node set

◆ fnMoveVerts()

virtual void fnMoveVerts ( Point3  vec)
pure virtual

void fnMoveVerts(Point3 vec) This moves the selected vertices along a vec which is applied to an active morph if there is one Point3 vec this is the vec which the vertices are moved.

◆ fnTransFormVerts()

virtual void fnTransFormVerts ( Matrix3  a,
Matrix3  b 
)
pure virtual

void fnTransFormVerts(Matrix3 a, Matrix3 b) This transforms the selected vertices which is applied to an active morph if there is one Matrix a this is matrix transformation Matrix b this is the space?

◆ fnNumberOfBones()

virtual int fnNumberOfBones ( )
pure virtual

int fnNumberOfBones() This is the number of bones in the system

◆ fnBoneGetInitialNodeTM()

virtual Matrix3* fnBoneGetInitialNodeTM ( INode node)
pure virtual

Matrix3* fnBoneGetInitialNodeTM(INode *node) This returns the initial node tm of bone.

This is the tm of the bone when it is added to the system the initial node tm is used to determine the actual deformation INode *node this is the bone that you want get the tm from

◆ fnBoneSetInitialNodeTM()

virtual void fnBoneSetInitialNodeTM ( INode node,
Matrix3  tm 
)
pure virtual

void fnBoneSetInitialNodeTM(INode *node, Matrix3 tm) This lets you set the initial node tm of a bone INode *node this is the bone that you want set the tm on Matrix3 tm this is the initial tm

◆ fnBoneGetInitialObjectTM()

virtual Matrix3* fnBoneGetInitialObjectTM ( INode node)
pure virtual

Matrix3* fnBoneGetInitialObjectTM(INode *node) This returns the initial object tm of bone.

This is the tm of the bone when it is added to the system the initial object tm is used only for display INode *node this is the bone that you want get the tm from

◆ fnBoneSetInitialObjectTM()

virtual void fnBoneSetInitialObjectTM ( INode node,
Matrix3  tm 
)
pure virtual

void fnBoneSetInitialObjectTM(INode *node, Matrix3 tm) This lets you set the initial object tm of a bone INode *node this is the bone that you want set the tm on Matrix3 tm this is the initial tm

◆ fnBoneGetInitialParentTM()

virtual Matrix3* fnBoneGetInitialParentTM ( INode node)
pure virtual

Matrix3* fnBoneGetInitialParentTM(INode *node) This returns the initial node tm parent that owns bone.


INode *node this is the bone that you want get the parent tm from

◆ fnBoneSetInitialParentTM()

virtual void fnBoneSetInitialParentTM ( INode node,
Matrix3  tm 
)
pure virtual

void fnBoneSetInitialParentTM(INode *node, Matrix3 tm) This lets you set the parent tm of a bone.


INode *node this is the bone that you want set the tm on Matrix3 tm this is the parent tm

◆ fnBoneGetNumberOfMorphs()

virtual int fnBoneGetNumberOfMorphs ( INode node)
pure virtual

int fnBoneGetNumberOfMorphs(INode *node) This returns the number of morphs that a bone owns INode *node this the bone to get the number of morphs from

◆ fnBoneGetMorphName()

virtual const MCHAR* fnBoneGetMorphName ( INode node,
int  morphIndex 
)
pure virtual

the follow le get/set properties of individual morphs they all follow the same format INode *node is the bone that owns the morph int morphIndex is the index of the morph

◆ fnBoneSetMorphName()

virtual void fnBoneSetMorphName ( INode node,
int  morphIndex,
const MCHAR name 
)
pure virtual

◆ fnBoneGetMorphAngle()

virtual float fnBoneGetMorphAngle ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphAngle()

virtual void fnBoneSetMorphAngle ( INode node,
int  morphIndex,
float  angle 
)
pure virtual

◆ fnBoneGetMorphTM()

virtual Matrix3* fnBoneGetMorphTM ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphTM()

virtual void fnBoneSetMorphTM ( INode node,
int  morphIndex,
Matrix3  tm 
)
pure virtual

◆ fnBoneGetMorphParentTM()

virtual Matrix3* fnBoneGetMorphParentTM ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphParentTM()

virtual void fnBoneSetMorphParentTM ( INode node,
int  morphIndex,
Matrix3  tm 
)
pure virtual

◆ fnBoneGetMorphIsDead()

virtual BOOL fnBoneGetMorphIsDead ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphSetDead()

virtual void fnBoneSetMorphSetDead ( INode node,
int  morphIndex,
BOOL  dead 
)
pure virtual

◆ fnBoneGetMorphNumPoints()

virtual int fnBoneGetMorphNumPoints ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphNumPoints()

virtual void fnBoneSetMorphNumPoints ( INode node,
int  morphIndex,
int  numberPoints 
)
pure virtual

◆ fnBoneGetMorphVertID()

virtual int fnBoneGetMorphVertID ( INode node,
int  morphIndex,
int  ithIndex 
)
pure virtual

These let you get access to the morph vertex properties every morph contains a list of vertices and properties INode *node is the bone that owns the morph int morphIndex is the index of the morph int ithIndex is which vertex you want to get info about the index back into the mesh vertex list.

◆ fnBoneSetMorphVertID()

virtual void fnBoneSetMorphVertID ( INode node,
int  morphIndex,
int  ithIndex,
int  vertIndex 
)
pure virtual

◆ fnBoneGetMorphVec()

virtual Point3* fnBoneGetMorphVec ( INode node,
int  morphIndex,
int  ithIndex 
)
pure virtual

the vector in local bone space

◆ fnBoneSetMorphVec()

virtual void fnBoneSetMorphVec ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
)
pure virtual

◆ fnBoneGetMorphPVec()

virtual Point3* fnBoneGetMorphPVec ( INode node,
int  morphIndex,
int  ithIndex 
)
pure virtual

the vector in parent space

◆ fnBoneSetMorphPVec()

virtual void fnBoneSetMorphPVec ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
)
pure virtual

◆ fnBoneGetMorphOP()

virtual Point3* fnBoneGetMorphOP ( INode node,
int  morphIndex,
int  ithIndex 
)
pure virtual

the original point before any deformation

◆ fnBoneSetMorphOP()

virtual void fnBoneSetMorphOP ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
)
pure virtual

◆ fnBoneGetMorphOwner()

virtual INode* fnBoneGetMorphOwner ( INode node,
int  morphIndex,
int  ithIndex 
)
pure virtual

this returns which node owns the vertex if ther modifier is instanced

◆ fnBoneSetMorphOwner()

virtual void fnBoneSetMorphOwner ( INode node,
int  morphIndex,
int  ithIndex,
INode onode 
)
pure virtual

◆ fnBoneGetMorphFalloff()

virtual int fnBoneGetMorphFalloff ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphFalloff()

virtual void fnBoneSetMorphFalloff ( INode node,
int  morphIndex,
int  falloff 
)
pure virtual

◆ fnBoneGetJointType()

virtual int fnBoneGetJointType ( INode node)
pure virtual

◆ fnBoneSetJointType()

virtual void fnBoneSetJointType ( INode node,
int  jointType 
)
pure virtual

◆ fnUpdate()

virtual void fnUpdate ( )
pure virtual

void fnUpdate() This forces a system to update

◆ fnGetWeight()

virtual float fnGetWeight ( INode node,
const MCHAR name 
)
pure virtual

This return the weight of particular morph is contributing INode *node is the bone that owns the morph MCHAR*name this is the name of the morph.

◆ fnBoneGetMorphEnabled()

virtual BOOL fnBoneGetMorphEnabled ( INode node,
int  morphIndex 
)
pure virtual

◆ fnBoneSetMorphEnabled()

virtual void fnBoneSetMorphEnabled ( INode node,
int  morphIndex,
BOOL  enabled 
)
pure virtual