IBlobMesh.h

Go to the documentation of this file.
00001 
00002 
00003 #pragma once
00004 
00005 #include "iFnPub.h"
00006 
00007 //***************************************************************
00008 //Function Publishing System stuff   
00009 //****************************************************************
00010 #define BLOBMESH_INTERFACE Interface_ID(0xDE17A66a, 0x8A41E45d)
00011 
00012 
00013 enum {  blobmesh_addnode, blobmesh_removenode,
00014         blobmesh_addpfnode, blobmesh_removepfnode,
00015         
00016         blobmesh_pickmode, blobmesh_addmode,
00017         blobmesh_addpfmode 
00018 
00019          };
00020 
00021 
00033 class IBlobMesh : public FPMixinInterface 
00034     {
00035     public:
00036 
00037         //Function Publishing System
00038         //Function Map For Mixin Interface
00039         //*************************************************
00040         BEGIN_FUNCTION_MAP
00041 
00042             VFN_1(blobmesh_addnode, fnAddNode, TYPE_INODE);
00043             VFN_1(blobmesh_removenode, fnRemoveNode, TYPE_INODE);
00044 
00045             VFN_1(blobmesh_addpfnode, fnAddPFNode, TYPE_INODE);
00046             VFN_1(blobmesh_removepfnode, fnRemovePFNode, TYPE_INODE);
00047 
00048             VFN_0(blobmesh_pickmode, fnPickMode);
00049             VFN_0(blobmesh_addmode, fnAddMode);
00050             VFN_0(blobmesh_addpfmode, fnAddPFMode);
00051 
00052         END_FUNCTION_MAP
00053 
00054 
00055         FPInterfaceDesc* GetDesc();    // <-- must implement 
00056 //note functions that start with fn are to be used with maxscript since these expect 1 based indices
00057         virtual void    fnAddNode(INode *node)=0;
00058         virtual void    fnRemoveNode(INode *node)=0;
00059 
00060         virtual void    fnAddPFNode(INode *node)=0;
00061         virtual void    fnRemovePFNode(INode *node)=0;
00062 
00063         virtual void    fnPickMode() = 0;
00064         virtual void    fnAddMode() = 0;
00065         virtual void    fnAddPFMode() = 0;
00066 
00067 
00068     };
00069 
00070 
00071 
00072 
00073