![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Base/AlgorithmControllerFactory.h>
Interface for algorithm controller factories. More...
Interface for algorithm controller factories.
Public Member Functions | |
AlgorithmControllerFactory () | |
AlgorithmControllerFactory (std::string module, bool checkLicense=true) | |
virtual AlgorithmController * | create (Algorithm *a) const =0 |
Create controller for a given algorithm instance if possible. | |
DataController * | createDataController (const std::string &id, const DataList &data) const |
Create data controller. | |
virtual std::vector< std::string > | compatibleDataControllers (const DataList &data) const |
Return list of data controllers compatible with input data. The list contains the data controller id. | |
std::vector< std::string > | dataControllerNames () const |
Return all registered algorithm names. | |
template<class T> | |
void | registerDataController (const std::string &name) |
Register data controller. Categories are specified by separating them from the name with ; as separator (e.g. Filters;Gaussian) | |
void | unregisterAllDataControllers () |
Unregister all data controller of this factory. | |
![]() | |
FactoryBase () | |
No license check is performed for the module instantiated with this constructor. | |
FactoryBase (std::string module, bool checkLicense=true) | |
std::string | moduleName () const |
Returns the module name of the factory. | |
Protected Types | |
typedef std::function< std::string(const DataList &data, const std::string &id, DataController **a)> | createCompatibleFunc |
Protected Attributes | |
std::vector< createCompatibleFunc > | m_dataControllers |
std::unordered_map< std::type_index, std::string > | m_dataControllerNames |
![]() | |
std::string | m_factoryModule |
bool | m_checkLicense |
Additional Inherited Members | |
![]() | |
virtual | ~FactoryBase () |
Virtual destructor. | |
std::string | getComponentPath (const std::string &componentName) const |
Returns the path to the component referred to by name . | |
bool | isLicensed (const std::string &name) |
Return true if the license allows the use of the component referred to by name . | |
![]() | |
static std::string | getComponentPath (const std::string &moduleName, const std::string &componentName) |
Returns the path to the component referred to by name . | |
static bool | isLicensed (const std::string &moduleName, const std::string &name) |
Return true if the license allows the use of the component referred to by name . | |
|
pure virtual |
Create controller for a given algorithm instance if possible.
Implemented in AnatomyControllerFactory, BaseAlgorithmControllerFactory, DefaultIoAlgorithmControllerFactory, DicomAlgorithmControllerFactory, GlAlgorithmControllerFactory, GraphPluginControllerFactory, NavigationAlgorithmControllerFactory, RoboticsAlgorithmControllerFactory, SpineControllerFactory, StreamAlgorithmControllerFactory, LiveUSAlgorithmControllerFactory, and USAlgorithmControllerFactory.
DataController * createDataController | ( | const std::string & | id, |
const DataList & | data ) const |
Create data controller.
id | algorithm identifier |
data | input data |