Opticks是通过加载插件库并查找已经注册的插件来识别你的插件,所以插件必须先注册才能被使用。
这里插件注册必须先建立一个新的 .cpp文件为 ModuleManager.cpp ,在ModuleManager.cpp文件中调用宏 REGISTER_MODULE() ,如下:
#include "PlugInRegistration.h"
REGISTER_MODULE(OpticksTutorial);
宏 REGISTER_MODULE() 只有一个参数,它是这个模块的ID,这个模块的 ID 必须是有效的 C++标识符,并且没有在我们插件库中的其它地方被用到。该参数 在插件库中将被声明成一个 C++的命名空间,因此它应该是唯一的。此外,模块的 ID 在被程序加载的其它模块中也要是唯一的,如果两个插件库含有相同的 ID,只有第一个才会被程序加载,所以我们只能在插件库中使用一次 REGISTER_MODULE 宏,如果在插件库中使用两次这个宏,则会产生编译错误。
注册完模块库后就可以注册我们的子类插件了,注册宏: REGISTER_PLUGIN() 或 REGISTER_PLUGIN_BASIC(),示例如下:
REGISTER_PLUGIN(OpticksTutorial, Tutorial