3ds Max C++ API Reference
|
IMeshDeformPWMod is the interface into the Skin Wrap(Mesh) modifier. More...
#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. | |
![]() | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
![]() | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=0 |
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 ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
![]() | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
![]() | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
![]() | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_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. | |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
![]() | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |
IMeshDeformPWMod is the interface into the Skin Wrap(Mesh) modifier.
|
virtual |
Implements FPInterface.
|
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 |
updateViews | - whether to update the view and the modifier |
|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
This returns the current tm of the control point.
whichWrapMesh | - this is which wrap mesh you are getting the info from |
index | - the control point index |
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 |
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 |
|
pure virtual |
This mirrors the current selected control points.
This is identical to pushing the Mirro button in the UI
|
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
|
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
|
pure virtual |
This forces the modifier to resample itself.
This will force all weights to be recomputed
|
pure virtual |
same as Resample
|
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.
|
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.
returns the number of deformed vertices
node | - the node that owns the local data |
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 |
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 |
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 |
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 |
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 |
|
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
|
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
silent | - this suppresses any warning/error message boxes |