ImFusion SDK 4.3
CompoundData Class Referenceabstract

#include <ImFusion/Base/CompoundData.h>

Interface for datasets that are formed by one or multiple other nested Data instances. More...

+ Inheritance diagram for CompoundData:

Detailed Description

Interface for datasets that are formed by one or multiple other nested Data instances.

Certain Data types may hold other instances of Data internally. One such example is for instance TrackedSharedImageSet which is a SharedImageSet that internally maintains a set of TrackingSequences to define the poses of the individual images. Implementing the CompoundData interface enables such Data types to expose their internal datasets to the outside in a generic fashion so that for instance the DataItemModel knows about them and the DataWidget can show the nested datasets underneath the main dataset.

In contrast to a DataGroup however, the CompoundData interface provides only read access to the children. This is because it's meant to model situations where the nested datasets are inherently bound to the parent dataset and not to be moved or taken from the outside.

Note
Deriving classes must make sure to emit the signals signalChildAdded, signalChildMoved, and signalChildAboutToBeRemoved correctly whenever the result of children() has changed.
See also
Data, DataGroup, DataModel

Public Member Functions

virtual DataList children () const =0
 Returns the list of direct children of this group.
 

Public Attributes

Signal< Data * > signalChildAdded
 Signal emitted when a new Data instance has been added to children()
 
Signal< Data * > signalChildMoved
 Signal emitted when a Data instance has changed its position in children()
 
Signal< Data * > signalChildAboutToBeRemoved
 Signal emitted when a Data instance is about to be removed or taken from children()
 

Member Function Documentation

◆ children()

virtual DataList children ( ) const
pure virtual

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