?? medplugin.h
字號:
/*=========================================================================
Program: 3DMed
Date: $Date: 2005/11/04 06:08:06 $
Version: $Version: 2.00 $
Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
=========================================================================*/
#ifndef __medPlugin_h
#define __medPlugin_h
#include "medSysIncs.h"
typedef const char* (*medStringFunc)();
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
#define MEDEXPORT __declspec(dllexport)
#else
#define MEDEXPORT
#endif
class medVolume;
class medMesh;
//=========================================================================
class MED_SDK_API medVolumeImportPlugin
{
public:
virtual bool Show(void) = 0;
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
medVolume* GetOutput();
protected:
medVolumeImportPlugin();
virtual ~medVolumeImportPlugin();
medVolume *m_Data;
};
#define IMPLEMENT_VOLUME_IMPORT(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "VolumeImportPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medVolumeImportPlugin* MakePlugin() {return new ClassName;} \
}
typedef medVolumeImportPlugin* (*MakeVolumeImportPlugin)();
//=========================================================================
class MED_SDK_API medVolumeExportPlugin
{
public:
virtual bool Show(void) = 0;
void SetInput(medVolume* input) {m_Data = input;}
medVolume* GetInput() {return m_Data;}
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medVolumeExportPlugin();
virtual ~medVolumeExportPlugin();
medVolume *m_Data;
};
#define IMPLEMENT_VOLUME_EXPORT(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "VolumeExportPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medVolumeExportPlugin* MakePlugin() {return new ClassName;} \
}
typedef medVolumeExportPlugin* (*MakeVolumeExportPlugin)();
//=========================================================================
class MED_SDK_API medVolumeFilterPlugin
{
public:
virtual bool Show(void) = 0;
void SetInput(medVolume* input) {m_InData = input;}
medVolume* GetInput() {return m_InData;}
medVolume* GetOutput();
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medVolumeFilterPlugin();
virtual ~medVolumeFilterPlugin();
medVolume *m_InData;
medVolume *m_OutData;
};
#define IMPLEMENT_VOLUME_FILTER(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "VolumeFilterPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medVolumeFilterPlugin* MakePlugin() {return new ClassName;} \
}
typedef medVolumeFilterPlugin* (*MakeVolumeFilterPlugin)();
//=========================================================================
class MED_SDK_API medMeshImportPlugin
{
public:
virtual bool Show(void) = 0;
medMesh* GetOutput();
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medMeshImportPlugin();
virtual ~medMeshImportPlugin();
medMesh *m_Data;
};
#define IMPLEMENT_MESH_IMPORT(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "MeshImportPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medMeshImportPlugin* MakePlugin() {return new ClassName;} \
}
typedef medMeshImportPlugin* (*MakeMeshImportPlugin)();
//=========================================================================
class MED_SDK_API medMeshExportPlugin
{
public:
virtual bool Show(void) = 0;
void SetInput(medMesh* input) {m_Data = input;}
medMesh* GetInput() {return m_Data;}
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medMeshExportPlugin();
virtual ~medMeshExportPlugin();
medMesh *m_Data;
};
#define IMPLEMENT_MESH_EXPORT(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "MeshExportPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medMeshExportPlugin* MakePlugin() {return new ClassName;} \
}
typedef medMeshExportPlugin* (*MakeMeshExportPlugin)();
//=========================================================================
class MED_SDK_API medMeshFilterPlugin
{
public:
virtual bool Show(void) = 0;
void SetInput(medMesh* input) {m_InData = input;}
medMesh* GetInput() {return m_InData;}
medMesh* GetOutput();
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medMeshFilterPlugin();
virtual ~medMeshFilterPlugin();
medMesh *m_InData;
medMesh *m_OutData;
};
#define IMPLEMENT_MESH_FILTER(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "MeshFilterPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medMeshFilterPlugin* MakePlugin() {return new ClassName;} \
}
typedef medMeshFilterPlugin* (*MakeMeshFilterPlugin)();
//=========================================================================
class MED_SDK_API medSegmentationPlugin
{
public:
virtual bool Show(void) = 0;
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
void SetInput(medVolume* input) {m_InData = input;}
medVolume* GetInput() {return m_InData;}
medVolume* GetOutput();
protected:
medSegmentationPlugin();
virtual ~medSegmentationPlugin();
medVolume *m_InData;
medVolume *m_OutData;
};
#define IMPLEMENT_SEGMENTATION(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "SegmentationPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medSegmentationPlugin* MakePlugin() {return new ClassName;} \
}
typedef medSegmentationPlugin* (*MakeSegmentationPlugin)();
//=========================================================================
class MED_SDK_API medRegistrationPlugin
{
public:
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medRegistrationPlugin();
virtual ~medRegistrationPlugin();
};
#define IMPLEMENT_REGISTRATION(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "RegistrationPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medRegistrationPlugin* MakePlugin() {return new ClassName;} \
}
typedef medRegistrationPlugin* (*MakeRegistrationPlugin)();
//=========================================================================
class MED_SDK_API medVisualizationPlugin
{
public:
virtual void ChangeLanguage(void) {}
virtual void Delete(void) { delete this; }
protected:
medVisualizationPlugin();
virtual ~medVisualizationPlugin();
};
#define IMPLEMENT_VISUALIZATION(ClassName, MenuDescription) \
extern "C" { \
MEDEXPORT const char* GetTypeName() {return "VisualizationPlugin"; } \
MEDEXPORT const char* GetClassname() {return #ClassName;} \
MEDEXPORT const char* GetMenuDescription() {return MenuDescription;} \
MEDEXPORT medVisualizationPlugin* MakePlugin() {return new ClassName;} \
}
typedef medVisualizationPlugin* (*MakeVisualizationPlugin)();
//=========================================================================
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -