ImFusion SDK 4.3
DataLink Class Referenceabstract

#include <ImFusion/Base/DataLink.h>

Interface for linking properties between multiple Data instances. More...

+ Inheritance diagram for DataLink:

Detailed Description

Interface for linking properties between multiple Data instances.

A DataLink provides functionality to keep certain aspects of Data (e.g. windowing information) in sync across multiple instances. Usually, syncing will be done in a bidirectional fashion (i.e. changes to any participating Data instance will be synced to all other instances). If concrete subclasses of DataLink behave differently (e.g. unidirectional linking single source -> target(s)) they shall explicitly mention this in their class documentation.

Note
When mentioning properties in the context of DataLink, this can refer to any aspect of a Data instance and does not necessarily mean the Properties interface.

Public Member Functions

virtual bool accepts (const Data &data) const =0
 Checks whether the given Data instance is supported.
 
virtual void add (Data &data)=0
 Add the given Data instance to the link.
 
virtual void remove (Data *data)=0
 Remove the given Data instance from the link.
 
virtual std::vector< Data * > data () const =0
 Return list of all linked Data instances.
 
virtual std::string uiTitle () const =0
 Return a title of the link type for displaying in the UI.
 
virtual std::string uiIconPath () const =0
 Return a path to an icon representing the link type to display in the UI.
 

Member Function Documentation

◆ accepts()

virtual bool accepts ( const Data & data) const
pure virtual

Checks whether the given Data instance is supported.

Implemented in LinkPose, LinkSelection, and LinkWindowing.

◆ add()

virtual void add ( Data & data)
pure virtual

Add the given Data instance to the link.

Implemented in LinkPose, LinkSelection, and LinkWindowing.

◆ remove()

virtual void remove ( Data * data)
pure virtual

Remove the given Data instance from the link.

Implemented in LinkPose, LinkSelection, and LinkWindowing.

◆ data()

virtual std::vector< Data * > data ( ) const
pure virtual

Return list of all linked Data instances.

Implemented in LinkPose, LinkSelection, and LinkWindowing.

◆ uiTitle()

virtual std::string uiTitle ( ) const
pure virtual

Return a title of the link type for displaying in the UI.

Implemented in LinkPose, LinkSelection, and LinkWindowing.

◆ uiIconPath()

virtual std::string uiIconPath ( ) const
pure virtual

Return a path to an icon representing the link type to display in the UI.

Implemented in LinkPose, LinkSelection, and LinkWindowing.


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