|
| StreamlinedStateStorage () |
|
| StreamlinedStateStorage (const StreamlinedStateStorage &other) |
|
| ~StreamlinedStateStorage () |
|
size_type | addItem () |
|
size_type | addState (const DataExecution::DataObject &defaultValue) |
|
size_type | addState (const Vector3d &defaultValue, bool fillWithDefault=true) |
|
size_type | addState (double defaultValue, bool fillWithDefault=true) |
|
size_type | addState (int_type defaultValue, bool fillWithDefault=true) |
|
size_type | addState (quint16 defaultValue, bool fillWithDefault=true) |
|
size_type | addState (quint8 defaultValue, bool fillWithDefault=true) |
|
void | clear () |
|
bool | digestContiguousFloatStateData (const StateHandle &state, std::function< bool(size_type numItems, size_type componentsPerItem, size_type stride, const double *data)> digestFunc) const |
|
bool | digestContiguousIntegerStateData (const StateHandle &state, std::function< bool(size_type numItems, size_type numComponentsPerItem, size_type stride, const int_type *data)> digestFunc) const |
|
bool | digestContiguousUInt16StateData (const StateHandle &state, std::function< bool(size_type numItems, size_type numComponentsPerItem, size_type stride, const quint16 *data)> digestFunc) const |
|
bool | digestContiguousUInt8StateData (const StateHandle &state, std::function< bool(size_type numItems, size_type numComponentsPerItem, size_type stride, const quint8 *data)> digestFunc) const |
|
void | emptyTrash () |
|
DataExecution::DataObject & | getDataObjectState (size_type stateIndex, size_type itemIndex) const |
|
double | getDoubleState (size_type stateIndex, size_type itemIndex) const |
|
int | getIntState (size_type stateIndex, size_type itemIndex) const |
|
int | getUint16State (size_type stateIndex, size_type itemIndex) const |
|
int | getUint8State (size_type stateIndex, size_type itemIndex) const |
|
Vector3d & | getVectorState (size_type stateIndex, size_type itemIndex) const |
|
bool | isItemValid (size_type index) const |
|
bool | load (MeshSerializer &serializer, const DataExecution::DataObject &defaultValue, size_type numItems, size_type &stateIndex) |
|
bool | load (MeshSerializer &serializer, const DataExecution::DataObject &defaultValue, size_type numItems, size_type &stateIndex) |
|
void | logText (const QString &msg) const |
|
size_type | numValidAndInvalidItems () const |
|
size_type | numValidItems () const |
|
StreamlinedStateStorage & | operator= (const StreamlinedStateStorage &other) |
|
void | removeAllItems () |
|
void | removeDataObjectState (size_type index) |
|
void | removeDoubleState (size_type index) |
|
void | removeIntState (size_type index) |
|
void | removeItem (size_type index) |
|
void | removeUint16State (size_type index) |
|
void | removeUint8State (size_type index) |
|
void | removeVector3dState (size_type index) |
|
void | reserve (size_type numNodes) |
|
bool | resetToSize (size_type numItems) |
|
bool | save (MeshSerializer &serializer, const DataExecution::DataFactory &dataType, size_type stateIndex) const |
|
bool | save (MeshSerializer &serializer, const DataExecution::DataFactory &dataType, size_type stateIndex) const |
|
void | setState (size_type stateIndex, size_type itemIndex, const DataExecution::DataObject &value) |
|
void | setState (size_type stateIndex, size_type itemIndex, const Vector3d &value) |
|
void | setState (size_type stateIndex, size_type itemIndex, double value) |
|
void | setState (size_type stateIndex, size_type itemIndex, int_type value) |
|
void | setState (size_type stateIndex, size_type itemIndex, quint16 value) |
|
void | setState (size_type stateIndex, size_type itemIndex, quint8 value) |
|
template<template< typename _Type, typename _Alloc=std::allocator< _Type > > class C = std::vector>
class CSIRO::Mesh::StreamlinedStateStorage< C >
Temporary solution for flexible state storage in the new MeshModelInterface. We need to eventually add array support to the Workspace data type macros so that we can use a more general TypedArray<T>.
Storage of anything other than int_type, double and Vector3d will be done with DataObjects. The problem with this is that we store a cloned DataObject for each element which is wasteful.