ISkinWrapMesh.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "ifnpub.h"
00004 
00005 #define MESHDEFORMPW_CLASS_ID   Class_ID(0x22b7bd09, 0x673ac5cf)
00006 #define MESHDEFORMPW_INTERFACE Interface_ID(0xDE21A34f, 0x8A43E3D2)
00007 
00009 class IMeshDeformPWMod : public FPMixinInterface
00010 {
00011 public:
00012     FPInterfaceDesc* GetDesc(); 
00013 
00019     virtual void    SelectVertices(int whichWrapMesh, BitArray *selList, BOOL updateViews)=0;
00020     
00024     virtual BitArray *GetSelectedVertices(int whichWrapMesh)=0;
00025 
00028     virtual int GetNumberControlPoints(int whichWrapMesh)=0;
00029 
00031 
00034     virtual Point3 *GetPointScale(int whichWrapMesh,int index)=0;
00035     
00040     virtual void SetPointScale(int whichWrapMesh,int index, Point3 scale)=0;
00041 
00045     virtual float GetPointStr(int whichWrapMesh,int index)=0;
00046     
00051     virtual void SetPointStr(int whichWrapMesh,int index, float str)=0;
00052 
00056     virtual Matrix3 GetPointInitialTM(int whichWrapMesh,int index)=0;
00059     virtual Matrix3 GetPointCurrentTM(int whichWrapMesh,int index)=0;
00063     virtual float GetPointDist(int whichWrapMesh,int index) = 0;
00067     virtual int GetPointXVert(int whichWrapMesh,int index) = 0;
00068 
00069 
00071 
00072     virtual void MirrorSelectedVerts()=0;
00073 
00075 
00076     virtual void BakeControlPoints()=0;
00077 
00079 
00080     virtual void RetreiveControlPoints()=0;
00081 
00083     virtual void Resample()=0;
00084 
00086     virtual void SetResampleModContext() = 0;
00087     
00089 
00093     virtual void SetRebuildNeighborDataModContext() = 0;
00094 
00097     virtual void SetRebuildSelectedWeightDataModContext() = 0;
00098 
00101     virtual int NumberOfVertices(INode *node) = 0;
00102 
00106     virtual int VertNumberWeights(INode *node, int vindex) = 0;
00107 
00112     virtual float VertGetWeight(INode *node, int vindex, int windex) = 0;
00113 
00118     virtual float VertGetDistance(INode *node, int vindex, int windex) = 0;
00119 
00124     virtual int VertGetControlPoint(INode *node, int vindex, int windex) = 0;
00125 
00126 
00131     virtual int VertGetWrapNode(INode *node, int vindex, int windex) = 0;
00132 
00134 
00136     virtual void Reset()=0;
00137 
00139 
00142     virtual void ConvertToSkin(BOOL silent)=0;
00143 };
00144 
00145