The base class for all DataGroup objects.
More...
#include <inviwo/core/datastructures/datagroup.h>
|
|
using | repr = Repr |
|
using | self = Self |
|
|
void | clearRepresentations () |
|
virtual DataGroup< Self, Repr > * | clone () const =0 |
|
template<typename T> |
| T * | getEditableRepresentation () |
|
template<typename T> |
| const T * | getRepresentation () const |
|
template<typename T> |
| bool | hasRepresentation () const |
|
bool | hasRepresentations () const |
|
|
| DataGroup (const DataGroup< Self, Repr > &rhs) |
|
DataGroup< Self, Repr > & | operator= (const DataGroup< Self, Repr > &rhs) |
|
|
std::mutex | mutex_ |
|
std::unordered_map< std::type_index, std::shared_ptr< Repr > > | representations_ |
template<typename Self, typename Repr>
class inviwo::DataGroup< Self, Repr >
The base class for all DataGroup objects.
It owns or has reference to zero or many Data objects.
It also owns DataGroupRepresentations, which has references to DataRepresentations, which are owned by the referenced/owned Data objects.
Differences between DataGroup and Data:
- DataGroup can never hold any data with owning(referencing[later]) a Data object or a DataGroup object
- DataGroupRepresentation need reference to all Data objects to be created correctly
- DataGroup does not have converters, as the DataGroup objects always can create them self correctly.
- DataGroupRepresentation becomes invalid when a child representations becomes invalid, thus we do not know when it's valid and we need to call update before we return it from getRepresentation.
The documentation for this class was generated from the following file:
- include/inviwo/core/datastructures/datagroup.h