Public Member Functions

IMeshDeformPWMod Class Reference

Search for all occurrences

Detailed Description

IMeshDeformPWMod is the interface into the Skin Wrap(Mesh) modifier.

#include <ISkinWrapMesh.h>

Inheritance diagram for IMeshDeformPWMod:
Inheritance graph
[legend]

List of all members.

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.

Member Function Documentation

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

Implements FPInterface.

virtual void SelectVertices ( int  whichWrapMesh,
BitArray selList,
BOOL  updateViews 
) [pure virtual]

This selects the control point cage vertices.

Parameters:
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.

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
node - the node that owns the local data
silent - this supresses any warning/error message boxes

IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod
IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod IMeshDeformPWMod