64 lines
1.5 KiB
C++
Executable File
64 lines
1.5 KiB
C++
Executable File
|
|
|
|
#ifndef __IBMESH__H
|
|
#define __IBMESH__H
|
|
|
|
#include "iFnPub.h"
|
|
|
|
//***************************************************************
|
|
//Function Publishing System stuff
|
|
//****************************************************************
|
|
#define BLOBMESH_INTERFACE Interface_ID(0xDE17A66a, 0x8A41E45d)
|
|
|
|
|
|
enum { blobmesh_addnode, blobmesh_removenode,
|
|
blobmesh_addpfnode, blobmesh_removepfnode,
|
|
|
|
blobmesh_pickmode, blobmesh_addmode,
|
|
blobmesh_addpfmode
|
|
|
|
};
|
|
|
|
|
|
class IBlobMesh : public FPMixinInterface
|
|
{
|
|
public:
|
|
|
|
//Function Publishing System
|
|
//Function Map For Mixin Interface
|
|
//*************************************************
|
|
BEGIN_FUNCTION_MAP
|
|
|
|
VFN_1(blobmesh_addnode, fnAddNode, TYPE_INODE);
|
|
VFN_1(blobmesh_removenode, fnRemoveNode, TYPE_INODE);
|
|
|
|
VFN_1(blobmesh_addpfnode, fnAddPFNode, TYPE_INODE);
|
|
VFN_1(blobmesh_removepfnode, fnRemovePFNode, TYPE_INODE);
|
|
|
|
VFN_0(blobmesh_pickmode, fnPickMode);
|
|
VFN_0(blobmesh_addmode, fnAddMode);
|
|
VFN_0(blobmesh_addpfmode, fnAddPFMode);
|
|
|
|
END_FUNCTION_MAP
|
|
|
|
|
|
FPInterfaceDesc* GetDesc(); // <-- must implement
|
|
//note functions that start with fn are to be used with maxscript since these expect 1 based indices
|
|
virtual void fnAddNode(INode *node)=0;
|
|
virtual void fnRemoveNode(INode *node)=0;
|
|
|
|
virtual void fnAddPFNode(INode *node)=0;
|
|
virtual void fnRemovePFNode(INode *node)=0;
|
|
|
|
virtual void fnPickMode() = 0;
|
|
virtual void fnAddMode() = 0;
|
|
virtual void fnAddPFMode() = 0;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif |