ImFusion C++ SDK 4.5.0
ImFusion::AlgorithmControllerFactory Class Referenceabstract

#include <ImFusion/Base/AlgorithmControllerFactory.h>

Interface for algorithm controller factories. More...

Inheritance diagram for ImFusion::AlgorithmControllerFactory:

Detailed Description

Interface for algorithm controller factories.

Examples
StreamAlgorithmFactory.cpp.

Public Member Functions

 AlgorithmControllerFactory ()
 AlgorithmControllerFactory (std::string module)
 AlgorithmControllerFactory (std::string module, bool checkLicense)
std::string moduleName () const
 Returns the module name of the factory.
virtual AlgorithmControllercreate (Algorithm *a) const =0
 Create controller for a given algorithm instance if possible.
DataControllercreateDataController (const std::string &id, const DataList &data) const
 Create data controller.
virtual std::vector< std::stringcompatibleDataControllers (const DataList &data) const
 Return list of data controllers compatible with input data. The list contains the data controller id.
std::vector< std::stringdataControllerNames () 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.

Protected Types

typedef std::function< std::string(const DataList &data, const std::string &id, DataController **a)> createCompatibleFunc

Protected Attributes

std::string m_moduleName
std::vector< createCompatibleFunc > m_dataControllers
std::unordered_map< std::type_index, std::stringm_dataControllerNames

Constructor & Destructor Documentation

◆ AlgorithmControllerFactory() [1/2]

ImFusion::AlgorithmControllerFactory::AlgorithmControllerFactory ( )
Deprecated
"Use controller factory with a module name."

◆ AlgorithmControllerFactory() [2/2]

ImFusion::AlgorithmControllerFactory::AlgorithmControllerFactory ( std::string module,
bool checkLicense )
explicit
Deprecated
The checkLicense parameter is no longer used.
Deprecated
"checkLicense parameter is deprecated and ignored. Use single-parameter constructor."

Member Function Documentation

◆ create()

◆ createDataController()

DataController * ImFusion::AlgorithmControllerFactory::createDataController ( const std::string & id,
const DataList & data ) const

Create data controller.

Parameters
idalgorithm identifier
datainput data
Returns
pointer to generated algorithm if successful, zero otherwise

The documentation for this class was generated from the following file:
  • ImFusion/Base/AlgorithmControllerFactory.h
Search Tab / S to search, Esc to close