![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Base/DataLink.h>
Interface for linking properties between multiple Data instances. More...
Inheritance diagram for DataLink: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.
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. | |
|
pure virtual |
Checks whether the given Data instance is supported.
Implemented in LinkPose, LinkSelection, and LinkWindowing.
|
pure virtual |
Add the given Data instance to the link.
Implemented in LinkPose, LinkSelection, and LinkWindowing.
|
pure virtual |
Remove the given Data instance from the link.
Implemented in LinkPose, LinkSelection, and LinkWindowing.
|
pure virtual |
Return list of all linked Data instances.
Implemented in LinkPose, LinkSelection, and LinkWindowing.
|
pure virtual |
Return a title of the link type for displaying in the UI.
Implemented in LinkPose, LinkSelection, and LinkWindowing.
|
pure virtual |
Return a path to an icon representing the link type to display in the UI.
Implemented in LinkPose, LinkSelection, and LinkWindowing.