ImFusion C++ SDK 4.4.0
ImFusion::DataLink Class Referenceabstract

#include <ImFusion/Base/DataLink.h>

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

Inheritance diagram for ImFusion::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 ImFusion::DataLink::accepts ( const Data & data) const
pure virtual

Checks whether the given Data instance is supported.

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.

◆ add()

virtual void ImFusion::DataLink::add ( Data & data)
pure virtual

Add the given Data instance to the link.

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.

◆ remove()

virtual void ImFusion::DataLink::remove ( Data * data)
pure virtual

Remove the given Data instance from the link.

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.

◆ data()

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

Return list of all linked Data instances.

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.

◆ uiTitle()

virtual std::string ImFusion::DataLink::uiTitle ( ) const
pure virtual

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

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.

◆ uiIconPath()

virtual std::string ImFusion::DataLink::uiIconPath ( ) const
pure virtual

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

Implemented in ImFusion::LinkPose, ImFusion::LinkSelection, and ImFusion::LinkWindowing.


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