00001 #pragma once 00002 00003 #include "ifnpub.h" 00004 00005 #define PATCHDEFORMPW_CLASS_ID Class_ID(0x22b7bd09, 0x673ac5be) 00006 #define PATCHDEFORMPW_INTERFACE Interface_ID(0xDE21A34f, 0x8A43E3E3) 00007 00008 class IPatchDeformPWMod : public FPMixinInterface 00009 { 00010 00011 public: 00012 00013 enum 00014 { 00015 patchdeformpw_params 00016 }; 00017 00018 enum 00019 { 00020 pb_patch, 00021 pb_autoupdate, 00022 pb_samplerate, 00023 00024 pb_patchlist 00025 }; 00026 00027 FPInterfaceDesc* GetDesc(); 00028 00031 virtual void Resample()=0; 00032 00035 virtual int GetNumberOfPoints(INode *node)=0; 00036 00041 virtual Point3 GetPointUVW(INode *node, int index)=0; 00042 00047 virtual Point3 GetPointLocalSpace(INode *node, int index)=0; 00048 00053 virtual Point3 GetPointPatchSpace(INode *node, int index)=0; 00054 00059 virtual int GetPointPatchIndex(INode *node, int index)=0; 00060 00061 }; 00062 00063