IMeshDeformPWMod is the interface into the Skin Wrap(Mesh) modifier.
#include <ISkinWrapMesh.h>
Public Member Functions |
|
FPInterfaceDesc * | GetDesc () |
virtual void | SelectVertices (int whichWrapMesh, BitArray *selList, BOOL updateViews)=0 |
This selects the control point cage
vertices. |
|
virtual BitArray * | GetSelectedVertices (int whichWrapMesh)=0 |
This returns the current selected control
points on the cage. |
|
virtual int | GetNumberControlPoints (int whichWrapMesh)=0 |
This returns the number of control points on
the cage. |
|
virtual Point3 * | GetPointScale (int whichWrapMesh, int index)=0 |
This returns the local scale factor for a
control point. |
|
virtual void | SetPointScale (int whichWrapMesh, int index, Point3 scale)=0 |
This lets you set a control points local
scale. |
|
virtual float | GetPointStr (int whichWrapMesh, int index)=0 |
this returns the strength of a control point
|
|
virtual void | SetPointStr (int whichWrapMesh, int index, float str)=0 |
This lets you set the strength of a control
point. |
|
virtual Matrix3 | GetPointInitialTM (int whichWrapMesh, int index)=0 |
This returns the initial tm of the control
point. |
|
virtual Matrix3 | GetPointCurrentTM (int whichWrapMesh, int index)=0 |
This returns the current tm of the control
point. |
|
virtual float | GetPointDist (int whichWrapMesh, int index)=0 |
This returns the size of the envelope of a
control point. |
|
virtual int | GetPointXVert (int whichWrapMesh, int index)=0 |
this is the vertex that forms the x axis,
the z axis is the normal |
|
virtual void | MirrorSelectedVerts ()=0 |
This mirrors the current selected control
points. |
|
virtual void | BakeControlPoints ()=0 |
This bakes the control point data into the
app data of the node that is the control mesh. |
|
virtual void | RetreiveControlPoints ()=0 |
This retrieves the control point data from
the app data of the node that is the control mesh. |
|
virtual void | Resample ()=0 |
This forces the modifier to resample itself.
|
|
virtual void | SetResampleModContext ()=0 |
same as Resample |
|
virtual void | SetRebuildNeighborDataModContext ()=0 |
Update the neighbouring weight lists on
selection change. |
|
virtual void | SetRebuildSelectedWeightDataModContext ()=0 |
This forces the selected control points to
have their weights rebuilt this should be called when you change
the str/scaling etc of a control point. |
|
virtual int | NumberOfVertices (INode *node)=0 |
returns the number of deformed vertices
|
|
virtual int | VertNumberWeights (INode *node, int vindex)=0 |
this returns the number of weights of a
vertex |
|
virtual float | VertGetWeight (INode *node, int vindex, int windex)=0 |
this returns a particular weight of a vertex
|
|
virtual float | VertGetDistance (INode *node, int vindex, int windex)=0 |
this returns a particular distance of a
vertex |
|
virtual int | VertGetControlPoint (INode *node, int vindex, int windex)=0 |
this returns the control point that owns
this weight |
|
virtual int | VertGetWrapNode (INode *node, int vindex, int windex)=0 |
this returns the wrap node that owns this
weight |
|
virtual void | Reset ()=0 |
This forces the modifier to reset itself.
|
|
virtual void | ConvertToSkin (BOOL silent)=0 |
This takes the weighting generated from a
wrap modifier and turns it into a skin modifier. |
FPInterfaceDesc* GetDesc | ( | ) | [virtual] |
Implements FPInterface.
virtual void SelectVertices | ( | int | whichWrapMesh, |
BitArray * | selList, | ||
BOOL | updateViews | ||
) | [pure virtual] |
This selects the control point cage vertices.
whichWrapMesh | - this is which wrap mesh you are getting the selection from each wrap mesh keeps it own selection list |
selList | - the bitarray representing the selection |
updateView | - whether to update the view and the modifier |
virtual BitArray* GetSelectedVertices | ( | int | whichWrapMesh | ) | [pure virtual] |
This returns the current selected control points on the cage.
whichWrapMesh | - this is which wrap mesh you are setting the selection to each wrap mesh keeps it own selection list |
virtual int GetNumberControlPoints | ( | int | whichWrapMesh | ) | [pure virtual] |
This returns the number of control points on the cage.
whichWrapMesh | - this is which wrap mesh you are getting the number of control pointss from |
virtual Point3* GetPointScale | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
This returns the local scale factor for a control point.
The total influence area is equal to the control points distance * global distance * local scale
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - this is which control point you want to get |
virtual void SetPointScale | ( | int | whichWrapMesh, |
int | index, | ||
Point3 | scale | ||
) | [pure virtual] |
This lets you set a control points local scale.
whichWrapMesh | - this is which wrap mesh you are setting the info to |
index | - this is the index of the point you want to set |
scale | - this is the scale of the point |
virtual float GetPointStr | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
this returns the strength of a control point
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - this is the index of the control point you want to get |
virtual void SetPointStr | ( | int | whichWrapMesh, |
int | index, | ||
float | str | ||
) | [pure virtual] |
This lets you set the strength of a control point.
whichWrapMesh | - this is which wrap mesh you are setting the info to |
index | - this is the index of the control point you want to set |
str | - this is the strength |
virtual Matrix3 GetPointInitialTM | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
This returns the initial tm of the control point.
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - the control point index |
virtual Matrix3 GetPointCurrentTM | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
This returns the current tm of the control point.
index | - the control point index |
virtual float GetPointDist | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
This returns the size of the envelope of a control point.
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - the control point index |
virtual int GetPointXVert | ( | int | whichWrapMesh, |
int | index | ||
) | [pure virtual] |
this is the vertex that forms the x axis, the z axis is the normal
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - the control point index |
virtual void MirrorSelectedVerts | ( | ) | [pure virtual] |
This mirrors the current selected control points.
This is identical to pushing the Mirro button in the UI
virtual void BakeControlPoints | ( | ) | [pure virtual] |
This bakes the control point data into the app data of the node that is the control mesh.
This is identical to pushing the Bake button in the UI
virtual void RetreiveControlPoints | ( | ) | [pure virtual] |
This retrieves the control point data from the app data of the node that is the control mesh.
This is identical to pushing the Retrieve button in the UI
virtual void Resample | ( | ) | [pure virtual] |
This forces the modifier to resample itself.
This will force all weights to be recomputed
virtual void SetResampleModContext | ( | ) | [pure virtual] |
same as Resample
virtual void SetRebuildNeighborDataModContext | ( | ) | [pure virtual] |
Update the neighbouring weight lists on selection change.
The system keep tracks of a potential weight lists by using neighbor data. Any time a selection is changed this potential weight list needs to be updated use this function to update that list. This should be called after any control point selection change.
virtual void SetRebuildSelectedWeightDataModContext | ( | ) | [pure virtual] |
This forces the selected control points to have their weights rebuilt this should be called when you change the str/scaling etc of a control point.
virtual int NumberOfVertices | ( | INode * | node | ) | [pure virtual] |
returns the number of deformed vertices
node | - the node that owns the local data |
virtual int VertNumberWeights | ( | INode * | node, |
int | vindex | ||
) | [pure virtual] |
this returns the number of weights of a vertex
node | - the node that owns the local data |
vindex | - the vertex index that you want to get the number of weights from |
virtual float VertGetWeight | ( | INode * | node, |
int | vindex, | ||
int | windex | ||
) | [pure virtual] |
this returns a particular weight of a vertex
node | - the node that owns the local data |
vindex | - the vertex index that you want to get the weight |
windex | - the weight index you want to get |
virtual float VertGetDistance | ( | INode * | node, |
int | vindex, | ||
int | windex | ||
) | [pure virtual] |
this returns a particular distance of a vertex
node | - the node that owns the local data |
vindex | - the vertex index that you want to get the weight |
windex | - the weight index you want to get |
virtual int VertGetControlPoint | ( | INode * | node, |
int | vindex, | ||
int | windex | ||
) | [pure virtual] |
this returns the control point that owns this weight
node | - the node that owns the local data |
vindex | - the vertex index that you want to get the weight |
windex | - the weight index you want to get |
virtual int VertGetWrapNode | ( | INode * | node, |
int | vindex, | ||
int | windex | ||
) | [pure virtual] |
this returns the wrap node that owns this weight
node | - the node that owns the local data |
vindex | - the vertex index that you want to get the weight |
windex | - the weight index you want to get |
virtual void Reset | ( | ) | [pure virtual] |
This forces the modifier to reset itself.
This is identical to pressing the reset button in the UI. This will force all weights and param space to be recomputed
virtual void ConvertToSkin | ( | BOOL | silent | ) | [pure virtual] |
This takes the weighting generated from a wrap modifier and turns it into a skin modifier.
This requires that the modifier not be instances and all the wrap objects be driven by skin
node | - the node that owns the local data |
silent | - this supresses any warning/error message boxes |