ImFusion SDK 4.3
ImFusionPlugin Class Referenceabstract

#include <ImFusion/Base/ImFusionPlugin.h>

Base class for plugins that can be loaded by the ImFusion SDK. More...

+ Inheritance diagram for ImFusionPlugin:

Detailed Description

Base class for plugins that can be loaded by the ImFusion SDK.

This base class defines the interface so that the ImFusionLib and the plugin can interact with each other (e.g. add algorithm factories). If you need to do any initialization work (e.g. populate additional factories) you should do this in the constructor.

Note
In order to be discoverable by the ImFusionLib you must further export an ImFusion::ImFusionPlugin* createPlugin() C function that instantiates your derived class. This can be easily done with the IMFUSION_REGISTER_PLUGIN() macro.

MyExamplePlugin.h

#include <ImFusion/Base/ImFusionPlugin.h>
class MyExamplePlugin : public ImFusion::ImFusionPlugin {
...
};
Base class for plugins that can be loaded by the ImFusion SDK.
Definition ImFusionPlugin.h:53

MyExamplePlugin.cpp

#include <MyExamplePlugin.h>
...
#define IMFUSION_REGISTER_PLUGIN(PluginClassName)
Convenience macro to DLL-export a custom ImFusion plugin.
Definition ImFusionPlugin.h:17

Classes

struct  VersionInfo
 

Public Member Functions

virtual const AlgorithmFactorygetAlgorithmFactory ()=0
 Get algorithm factory for algorithms hosted by plugin.
 
virtual const AlgorithmControllerFactorygetAlgorithmControllerFactory ()=0
 Get algorithm controller factory for algorithms hosted by plugin.
 
virtual const DataAnnotationFactorygetDataAnnotationFactory ()
 Get data GL annotation factory for annotations hosted by plugin.
 
virtual std::string pluginName () const
 Return the name of the plugin.
 
virtual std::vector< WorkspaceConversionFunctiongetWorkspaceConversionFunctions ()
 Return a list of workspace conversion functions and the corresponding workspace versions they apply to.
 
virtual void setApplicationController (ApplicationController &)
 Gives the plugin access to the application controller.
 
virtual ImFusionPlugin::VersionInfo version () const
 Return version.
 

Member Function Documentation

◆ getAlgorithmFactory()

virtual const AlgorithmFactory * getAlgorithmFactory ( )
pure virtual

◆ getAlgorithmControllerFactory()

virtual const AlgorithmControllerFactory * getAlgorithmControllerFactory ( )
pure virtual

◆ getDataAnnotationFactory()

virtual const DataAnnotationFactory * getDataAnnotationFactory ( )
inlinevirtual

Get data GL annotation factory for annotations hosted by plugin.

Reimplemented in CTPlugin, DicomPlugin, GraphPlugin, MLPlugin, SpinePlugin, StreamPlugin, and VisionPlugin.

◆ pluginName()

virtual std::string pluginName ( ) const
inlinevirtual

Return the name of the plugin.

Note
When implementing this method, make sure to use a unique identifier to avoid conflicts with other plugins.

Reimplemented in CTPlugin, DicomGuiPlugin, DicomPlugin, GraphPlugin, ImageMathPlugin, MLPlugin, NavigationPlugin, PythonPlugin, RegPlugin, RoboticsPlugin, SegPlugin, SpinePlugin, StreamPlugin, LiveUSPlugin, USPlugin, and VisionPlugin.

◆ setApplicationController()

virtual void setApplicationController ( ApplicationController & )
inlinevirtual

Gives the plugin access to the application controller.

Plugins should not rely on this method being called in all setups.

Reimplemented in PythonPlugin.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close