ImFusion SDK 4.3
DataAnnotationFactory Class Referenceabstract

#include <ImFusion/Base/DataAnnotationFactory.h>

Interface for data annotation factories. More...

+ Inheritance diagram for DataAnnotationFactory:

Detailed Description

Interface for data annotation factories.

Classes

struct  DataAttribute
 

Public Member Functions

virtual InteractiveObjectcreateDataAnnotation (const std::string &name, Data &data) const =0
 Create data annotation.
 
virtual std::vector< std::stringcompatibleDataAnnotations (Data &data) const =0
 Return true when a data object supports having a data annotation.
 
virtual std::string dataDescription (const Data &data) const
 Return a description string to be shown in the data model for a data type.
 
virtual std::string dataIconPath (const Data &data) const
 Return a file path to an icon representing a data type, may point to a Qt resource.
 
virtual std::vector< DataAttributedataAttributes (const Data &data) const
 Return a list of attributes to be shown in the DataWidget GUI for a data type.
 
virtual std::unique_ptr< DatacloneData (const Data *data) const
 Return a clone of a given Data instance.
 
- Public Member Functions inherited from FactoryBase
 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.
 

Additional Inherited Members

- Protected Member Functions inherited from FactoryBase
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 Protected Member Functions inherited from FactoryBase
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.
 
- Protected Attributes inherited from FactoryBase
std::string m_factoryModule
 
bool m_checkLicense
 

Member Function Documentation

◆ createDataAnnotation()

virtual InteractiveObject * createDataAnnotation ( const std::string & name,
Data & data ) const
pure virtual

Create data annotation.

Parameters
datainput data
Returns
pointer to generated annotation if successful, zero otherwise

Implemented in ASCDataAnnotationFactory, CTDataAnnotationFactory, DefaultDataAnnotationFactory, DicomDataAnnotationFactory, GraphDataAnnotationFactory, SpineDataAnnotationFactory, StreamDataAnnotationFactory, and VisionDataAnnotationFactory.

◆ compatibleDataAnnotations()

virtual std::vector< std::string > compatibleDataAnnotations ( Data & data) const
pure virtual

◆ dataDescription()

virtual std::string dataDescription ( const Data & data) const
inlinevirtual

Return a description string to be shown in the data model for a data type.

Return an empty string for unsupported types.

Reimplemented in ASCDataAnnotationFactory, CTDataAnnotationFactory, DefaultDataAnnotationFactory, GraphDataAnnotationFactory, SpineDataAnnotationFactory, StreamDataAnnotationFactory, and VisionDataAnnotationFactory.

◆ dataIconPath()

virtual std::string dataIconPath ( const Data & data) const
inlinevirtual

Return a file path to an icon representing a data type, may point to a Qt resource.

Return an empty string for unsupported types.

Reimplemented in ASCDataAnnotationFactory, CTDataAnnotationFactory, DefaultDataAnnotationFactory, GraphDataAnnotationFactory, SpineDataAnnotationFactory, StreamDataAnnotationFactory, and VisionDataAnnotationFactory.

◆ dataAttributes()

virtual std::vector< DataAttribute > dataAttributes ( const Data & data) const
inlinevirtual

Return a list of attributes to be shown in the DataWidget GUI for a data type.

Reimplemented in CTDataAnnotationFactory, DefaultDataAnnotationFactory, StreamDataAnnotationFactory, and VisionDataAnnotationFactory.

◆ cloneData()

virtual std::unique_ptr< Data > cloneData ( const Data * data) const
inlinevirtual

Return a clone of a given Data instance.

This allows plugins to expose cloning logics for custom data types to the base ImFusionLib.

Reimplemented in ASCDataAnnotationFactory, DefaultDataAnnotationFactory, GraphDataAnnotationFactory, SpineDataAnnotationFactory, and VisionDataAnnotationFactory.


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