Public Member Functions

IMorphByBone Class Reference

Search for all occurrences

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.

#include <iMorphByBone.h>

Inheritance diagram for IMorphByBone:
Inheritance graph
[legend]

List of all members.

Public Member Functions

BEGIN_FUNCTION_MAP  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)
END_FUNCTION_MAP FPInterfaceDesc GetDesc ()
virtual void  fnAddBone (INode *node)=0
  void fnAddBone(INode *node)=0; This adds a bone to the system INode *node the bone to add
virtual void  fnRemoveBone (INode *node)=0
  void fnRemoveBone(INode *node) This removes a bone from the system INode *node the bone to remove
virtual void  fnSelectBone (INode *node, MCHAR *morphName)=0
  void fnSelectBone(INode *node,MCHAR* morphName) This selects a bone and/or morph in the selection list.
virtual INode fnGetSelectedBone ()=0
  INode* fnGetSelectedBone() This returns the current active bone.
virtual MCHAR *  fnGetSelectedMorph ()=0
  MCHAR* fnGetSelectedMorph() This returns the name of the current selected morph.
virtual void  fnSelectVertices (INode *node, BitArray *sel)=0
  void fnSelectVertices(INode *node,BitArray *sel) This lets you select vertices.
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.
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
virtual void  fnShrink ()=0
  void fnShrink() This contracts your vertex selection
virtual void  fnGrow ()=0
  void fnGrow() This expands your vertex selection
virtual void  fnRing ()=0
  void fnRing() This turns your current selection into a ring selection
virtual void  fnLoop ()=0
  void fnLoop() This turns your current selection into a loop selection
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
virtual void  fnRemoveMorph (INode *node, MCHAR *name)=0
  void fnRemoveMorph(INode *node, 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
virtual void  fnEdit (BOOL edit)=0
  fnEdit(BOOL edit) This toggles on/off the edit morph mode.
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
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
virtual void  fnResetOrientation (INode *node, MCHAR *name)=0
  void fnResetOrientation(INode *node, 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
virtual void  fnReloadTarget (INode *node, MCHAR *name)=0
  void fnReloadTarget(INode *node, 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
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
virtual void  fnEditFalloffGraph (INode *node, MCHAR *name)=0
  void fnEditFalloffGraph(INode *node, 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
virtual void  fnSetExternalNode (INode *node, MCHAR *name, INode *exnode)=0
  void fnSetExternalNode(INode *node, 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
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.
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?
virtual int  fnNumberOfBones ()=0
  int fnNumberOfBones() This is the number of bones in the system
virtual Matrix3 fnBoneGetInitialNodeTM (INode *node)=0
  Matrix3* fnBoneGetInitialNodeTM(INode *node) This returns the initial node tm of bone.
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
virtual Matrix3 fnBoneGetInitialObjectTM (INode *node)=0
  Matrix3* fnBoneGetInitialObjectTM(INode *node) This returns the initial object tm of bone.
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
virtual Matrix3 fnBoneGetInitialParentTM (INode *node)=0
  Matrix3* fnBoneGetInitialParentTM(INode *node) This returns the initial node tm parent that owns bone.
virtual void  fnBoneSetInitialParentTM (INode *node, Matrix3 tm)=0
  void fnBoneSetInitialParentTM(INode *node, Matrix3 tm) This lets you set the parent tm of a bone.
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
virtual MCHAR *  fnBoneGetMorphName (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
virtual void  fnBoneSetMorphName (INode *node, int morphIndex, MCHAR *name)=0
virtual float  fnBoneGetMorphAngle (INode *node, int morphIndex)=0
virtual void  fnBoneSetMorphAngle (INode *node, int morphIndex, float angle)=0
virtual Matrix3 fnBoneGetMorphTM (INode *node, int morphIndex)=0
virtual void  fnBoneSetMorphTM (INode *node, int morphIndex, Matrix3 tm)=0
virtual Matrix3 fnBoneGetMorphParentTM (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.
virtual void  fnBoneSetMorphVertID (INode *node, int morphIndex, int ithIndex, int vertIndex)=0
virtual Point3 fnBoneGetMorphVec (INode *node, int morphIndex, int ithIndex)=0
  the vector in local bone space
virtual void  fnBoneSetMorphVec (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
virtual Point3 fnBoneGetMorphPVec (INode *node, int morphIndex, int ithIndex)=0
  the vector in parent space
virtual void  fnBoneSetMorphPVec (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
virtual Point3 fnBoneGetMorphOP (INode *node, int morphIndex, int ithIndex)=0
  the original point before any deformation
virtual void  fnBoneSetMorphOP (INode *node, int morphIndex, int ithIndex, Point3 vec)=0
virtual INode fnBoneGetMorphOwner (INode *node, int morphIndex, int ithIndex)=0
  this returns which node owns the vertex if ther modifier is instanced
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
virtual float  fnGetWeight (INode *node, MCHAR *name)=0
  float fnGetWeight(INode *node, MCHAR*name) 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
virtual BOOL  fnBoneGetMorphEnabled (INode *node, int morphIndex)=0
virtual void  fnBoneSetMorphEnabled (INode *node, int morphIndex, BOOL enabled)=0

Member Function Documentation

BEGIN_FUNCTION_MAP 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   
)
END_FUNCTION_MAP FPInterfaceDesc* GetDesc ( ) [virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

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

virtual void fnRemoveBone ( INode node ) [pure virtual]

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

virtual void fnSelectBone ( INode node,
MCHAR *  morphName 
) [pure virtual]

void fnSelectBone(INode *node,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

virtual INode* fnGetSelectedBone ( ) [pure virtual]

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

virtual MCHAR* fnGetSelectedMorph ( ) [pure virtual]

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

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

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.

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

virtual void fnShrink ( ) [pure virtual]

void fnShrink() This contracts your vertex selection

virtual void fnGrow ( ) [pure virtual]

void fnGrow() This expands your vertex selection

virtual void fnRing ( ) [pure virtual]

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

virtual void fnLoop ( ) [pure virtual]

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

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

virtual void fnRemoveMorph ( INode node,
MCHAR *  name 
) [pure virtual]

void fnRemoveMorph(INode *node, 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

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

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

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

virtual void fnResetOrientation ( INode node,
MCHAR *  name 
) [pure virtual]

void fnResetOrientation(INode *node, 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

virtual void fnReloadTarget ( INode node,
MCHAR *  name 
) [pure virtual]

void fnReloadTarget(INode *node, 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

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

virtual void fnEditFalloffGraph ( INode node,
MCHAR *  name 
) [pure virtual]

void fnEditFalloffGraph(INode *node, 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

virtual void fnSetExternalNode ( INode node,
MCHAR *  name,
INode exnode 
) [pure virtual]

void fnSetExternalNode(INode *node, 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

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.

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?

virtual int fnNumberOfBones ( ) [pure virtual]

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

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

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

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

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

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

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

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

virtual 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

virtual void fnBoneSetMorphName ( INode node,
int  morphIndex,
MCHAR *  name 
) [pure virtual]
virtual float fnBoneGetMorphAngle ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphAngle ( INode node,
int  morphIndex,
float  angle 
) [pure virtual]
virtual Matrix3* fnBoneGetMorphTM ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphTM ( INode node,
int  morphIndex,
Matrix3  tm 
) [pure virtual]
virtual Matrix3* fnBoneGetMorphParentTM ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphParentTM ( INode node,
int  morphIndex,
Matrix3  tm 
) [pure virtual]
virtual BOOL fnBoneGetMorphIsDead ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphSetDead ( INode node,
int  morphIndex,
BOOL  dead 
) [pure virtual]
virtual int fnBoneGetMorphNumPoints ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphNumPoints ( INode node,
int  morphIndex,
int  numberPoints 
) [pure virtual]
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.

virtual void fnBoneSetMorphVertID ( INode node,
int  morphIndex,
int  ithIndex,
int  vertIndex 
) [pure virtual]
virtual Point3* fnBoneGetMorphVec ( INode node,
int  morphIndex,
int  ithIndex 
) [pure virtual]

the vector in local bone space

virtual void fnBoneSetMorphVec ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
) [pure virtual]
virtual Point3* fnBoneGetMorphPVec ( INode node,
int  morphIndex,
int  ithIndex 
) [pure virtual]

the vector in parent space

virtual void fnBoneSetMorphPVec ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
) [pure virtual]
virtual Point3* fnBoneGetMorphOP ( INode node,
int  morphIndex,
int  ithIndex 
) [pure virtual]

the original point before any deformation

virtual void fnBoneSetMorphOP ( INode node,
int  morphIndex,
int  ithIndex,
Point3  vec 
) [pure virtual]
virtual INode* fnBoneGetMorphOwner ( INode node,
int  morphIndex,
int  ithIndex 
) [pure virtual]

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

virtual void fnBoneSetMorphOwner ( INode node,
int  morphIndex,
int  ithIndex,
INode onode 
) [pure virtual]
virtual int fnBoneGetMorphFalloff ( INode node,
int  morphIndex 
) [pure virtual]
virtual void fnBoneSetMorphFalloff ( INode node,
int  morphIndex,
int  falloff 
) [pure virtual]
virtual int fnBoneGetJointType ( INode node ) [pure virtual]
virtual void fnBoneSetJointType ( INode node,
int  jointType 
) [pure virtual]
virtual void fnUpdate ( ) [pure virtual]

void fnUpdate() This forces a system to update

virtual float fnGetWeight ( INode node,
MCHAR *  name 
) [pure virtual]

float fnGetWeight(INode *node, MCHAR*name) 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

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

IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone
IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone IMorphByBone