Workspace 6.21.5
|
Type-specific implementation of the ArrayNdDimensionFilter interface. Also implements a ArrayNdTyped object of the same type.
#include <DataAnalysis/DataStructures/arraynddimensionfilter.h>
Public Types | |
typedef ArrayNd::size_type | size_type |
Public Types inherited from ArrayNd | |
typedef NamedDimensionRange::size_type | size_type |
Public Member Functions | |
ArrayNdDimensionFilterTyped () | |
ArrayNdDimensionFilterTyped (ArrayNdDimensionFilterTyped &&other) | |
ArrayNdDimensionFilterTyped (const ArrayNdDimensionFilterTyped &other) | |
~ArrayNdDimensionFilterTyped () override | |
bool | arrayAccessHint (const NamedDimensionRangeList &range) override |
ArrayNdDimensionFilterTyped * | clone () const override |
ArrayNd * | getAsArrayNd () override |
const DataCollection & | getAttributes () const override |
bool | getData (const NamedDimensionRangeList &range, T *data) const override |
const DataExecution::DataFactory * | getDataFactory () const override |
int | getDimensionIndex (const QString &name) const override |
ArrayNdDimensionLabels | getDimensionLabels (const QString &dimName) const override |
QString | getDimensionName (int index) const override |
size_type | getDimensionSize (const QString &name) const override |
size_type | getDimensionSize (int index) const override |
double | getFillValue () const override |
QVariant | getFillValueAsVariant () const override |
bool | hasFillValue () const override |
bool | isDimensionUnlimited (int index) const override |
int | numDimensions () const override |
ArrayNdDimensionFilterTyped & | operator= (ArrayNdDimensionFilterTyped rhs) |
bool | setBaseData (ArrayNd &data, const NamedDimensionRangeFilterList &filters, bool ownsData=false) override |
bool | setDimensions (const NamedDimensionRangeList &dimensions) override |
bool | setFillValue (const T &value) override |
void | setHasFillValue (bool b) override |
T | valueAt (const DimensionIndexList &indices) const override |
T | valueAt (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const override |
bool | writeData (const NamedDimensionRangeList &range, const T *const data) override |
Public Member Functions inherited from ArrayNdDimensionFilter | |
virtual | ~ArrayNdDimensionFilter ()=default |
virtual ArrayNd * | getAsArrayNd ()=0 |
virtual bool | setBaseData (ArrayNd &data, const NamedDimensionRangeFilterList &filters, bool ownsData=false)=0 |
Public Member Functions inherited from ArrayNdTyped< T > | |
bool | arrayAccessHint (const NamedDimensionRangeList &range) override=0 |
ArrayNdTyped * | clone () const override=0 |
virtual bool | getData (const NamedDimensionRangeList &range, T *data) const =0 |
double | getFillValue () const override=0 |
QVariant | getFillValueAsVariant () const override=0 |
QVariant | getValue (const DimensionIndexList &dimIndices) const override |
QVariant | getValue (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const override |
bool | hasFillValue () const override=0 |
double | operator() (const DimensionIndexList &dimIndices) const override |
double | operator() (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const override |
ArrayNdTyped & | operator= (const ArrayNdTyped &other)=default |
virtual bool | setFillValue (const T &value)=0 |
void | setHasFillValue (bool b) override=0 |
virtual T | valueAt (const DimensionIndexList &indices) const =0 |
virtual T | valueAt (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const =0 |
virtual bool | writeData (const NamedDimensionRangeList &range, const T *const data)=0 |
Public Member Functions inherited from ArrayNd | |
ArrayNd () | |
~ArrayNd () override | |
virtual bool | arrayAccessHint (const NamedDimensionRangeList &range)=0 |
const_iterator | begin () const |
ArrayNd * | clone () const override=0 |
const_iterator | end () const |
NamedDimensionRangeList | getAllDimensions () const |
virtual const DataCollection & | getAttributes () const =0 |
template<typename T > | |
bool | getData (const NamedDimensionRangeList &range, T *data) const |
virtual const DataExecution::DataFactory * | getDataFactory () const =0 |
NamedDimensionRange | getDimension (const QString &name) const |
virtual int | getDimensionIndex (const QString &name) const =0 |
virtual ArrayNdDimensionLabels | getDimensionLabels (const QString &dimensionName) const =0 |
virtual QString | getDimensionName (int index) const =0 |
virtual size_type | getDimensionSize (const QString &name) const =0 |
virtual size_type | getDimensionSize (int index) const =0 |
virtual double | getFillValue () const =0 |
virtual QVariant | getFillValueAsVariant () const =0 |
template<typename T > | |
ArrayNdTyped< T > * | getTypedInterface () |
template<typename T > | |
const ArrayNdTyped< T > * | getTypedInterface () const |
virtual QVariant | getValue (const DimensionIndexList &dimIndices) const =0 |
virtual QVariant | getValue (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const =0 |
virtual bool | hasFillValue () const =0 |
virtual bool | isDimensionUnlimited (int index) const =0 |
virtual int | numDimensions () const =0 |
virtual double | operator() (const DimensionIndexList &dimIndices) const =0 |
virtual double | operator() (size_type dim0, size_type dim1=0, size_type dim2=0, size_type dim3=0, size_type dim4=0) const =0 |
const_iterator_range | range (const NamedDimensionRangeList &range) const |
virtual bool | setDimensions (const NamedDimensionRangeList &dimensions)=0 |
template<typename T > | |
bool | setFillValue (const T &value) |
virtual void | setHasFillValue (bool b)=0 |
template<typename T > | |
bool | writeData (const NamedDimensionRangeList &range, const T *data) |
Public Member Functions inherited from Clonable | |
virtual | ~Clonable ()=default |
virtual Clonable * | clone () const =0 |
Additional Inherited Members | |
Protected Member Functions inherited from ArrayNd | |
ArrayNd (ArrayNd &&other) | |
ArrayNd (const ArrayNd &other) | |
ArrayNd & | operator= (const ArrayNd &other)=default |
typedef ArrayNd::size_type size_type |
Creates an empty ArrayNdTypedFilter. It contains no data until setData() is called.
ArrayNdDimensionFilterTyped | ( | const ArrayNdDimensionFilterTyped< T > & | other | ) |
ArrayNdDimensionFilterTyped | ( | ArrayNdDimensionFilterTyped< T > && | other | ) |
|
override |
|
overridevirtual |
range | The range we are expecting to read from when using the getValue or operator() functions. |
The range we are hinting that we're about to access repeatedly through individual indexed reads (i.e. using the operator() function).
Implements ArrayNdTyped< T >.
|
overridevirtual |
Implements ArrayNdTyped< T >.
|
overridevirtual |
Returns the Filter safely cast to an ArrayNd type.
Implements ArrayNdDimensionFilter.
|
overridevirtual |
|
overridevirtual |
range | The bounded range from which we are reading data. These dimensions must be specified in terms of the sliced dimensions, not the dimensions of the underlying base dataset. |
data | The data store into which we will write the data that we are reading from the dataset. |
Implements ArrayNdTyped< T >.
|
overridevirtual |
Implements ArrayNd.
|
overridevirtual |
name | The name of the dimension we are getting the index of. |
Implements ArrayNd.
|
overridevirtual |
dimensionName | The name of the dimension for which we wish to retrieve its labels. |
Implements ArrayNd.
|
overridevirtual |
index | the index of the dimension we wish to retrieve the name of. |
Implements ArrayNd.
|
overridevirtual |
name | the name of the dimension we wish to retrieve the size of. |
Implements ArrayNd.
|
overridevirtual |
index | the index of the dimension we wish to retrieve the size of. |
Implements ArrayNd.
|
overridevirtual |
The Fill Value of the dataset is used to indicate an 'empty' cell. Cells that do not contain any valid data, or data outside the known / valid range, will contain the fill value.
Implements ArrayNdTyped< T >.
|
overridevirtual |
The Fill Value of the dataset is used to indicate an 'empty' cell. Cells that do not contain any valid data, or data outside the known / valid range, will contain the fill value.
Implements ArrayNdTyped< T >.
|
overridevirtual |
The Fill Value of the dataset is used to indicate an 'empty' cell. Cells that do not contain any valid data, or data outside the known / valid range, will contain the fill value. This function returns a value indicating whether or not a fill value is being used.
Implements ArrayNdTyped< T >.
|
overridevirtual |
index | The index of the dimension we are inspecting. |
Implements ArrayNd.
|
overridevirtual |
Implements ArrayNd.
ArrayNdDimensionFilterTyped< T > & operator= | ( | ArrayNdDimensionFilterTyped< T > | rhs | ) |
|
overridevirtual |
data | The N-dimensional dataset which we are filtering. |
filters | The filters that determine the resulting dataset. |
ownsData | Whether or not this structure is to take ownership of the supplied data, and therefore whether or not it should be responsible for cleaning it up. |
Implements ArrayNdDimensionFilter.
|
overridevirtual |
dimensions | The complete list of dimensions we want the dataset to have. |
Sets the dimensions of the dataset. This will result in the allocation of the underlying data storage. If the dataset previously contained data, this will result in a resize of the dataset, which may require the copying of data, the cost of which will vary greatly depending upon the implementation. For newly created cells in the dataset, a fill-value will be used (by default, this will be a default constructed object).
To avoid expensive copying, it is recommended to only invoke this function on an empty (i.e. uninitialized) dataset.
Implements ArrayNd.
|
overridevirtual |
value | The fill value that we are setting. |
When the dimensions of a dataset are set (setDimensions), a fill-value is specified which will be used to populate the newly created cells. This function allows the fill-value to be overridden.
Implements ArrayNdTyped< T >.
|
overridevirtual |
b | Whether or not to use a fill value for this dataset. By default, the fill value will be the default constructed type of the underlying stored data. |
The Fill Value of the dataset is used to indicate an 'empty' cell. Cells that do not contain any valid data, or data outside the known / valid range, will contain the fill value. This function allows the caller to indicate that a fill value is in use in the dataset.
Implements ArrayNdTyped< T >.
|
overridevirtual |
indices | The specific indices of the dimensions we wish to access. By default, the indices in the list are assumed to be in the same order that they are in the dataset (e.g. indices[0] will index into getDimension(0)). |
Retrieve a single value from the datset using syntax similar to array subscript notation. This particular overload allows the caller to retrieve a value from a dataset with any number of dimensions.
Implements ArrayNdTyped< T >.
|
overridevirtual |
dim0 | The index of the first dimension in the dataset. |
dim1 | The index of the second dimension in the dataset. |
dim2 | The index of the third dimension in the dataset. |
dim3 | The index of the fourth dimension in the dataset. |
dim4 | The index of the fifth dimension in the dataset. |
Retrieve a single value from the datset using syntax similar to array subscript notation. This particular overload allows the caller to retrieve a value from a dataset with 5 dimensions. Dimensions at indexes 5 and above (assuming they exist) will be be retrieved using index 0 for these dimensions.
Implements ArrayNdTyped< T >.
|
overridevirtual |
range | The bounded range to which we are writing the data. These dimensions must be specified in terms of the sliced dimensions, not the dimensions of the underlying base dataset. |
data | The data which we are going to write into the dataset. |
Implements ArrayNdTyped< T >.