HDK
|
Abstract data class for an array of float, int or string data. More...
#include <GT_DataArray.h>
Classes | |
class | fillV3BoxTask |
Nested class to perform filling for a POD array. More... | |
class | minMaxTask |
Compute the min & max values for an array. This fails for strings. More... | |
Static Public Member Functions | |
static bool | isBigInteger (GT_Size size) |
Quick & dirty test to see if a size is bigger than a 32 bit int. More... | |
static void * | operator new (size_t size) |
static void * | operator new (size_t size, void *p) |
static void | operator delete (void *p, size_t size) |
Abstract data class for an array of float, int or string data.
This is an abstract class. The data does not have to be owned by this array. The data can be generated on the fly by the class. Or the data might be flat numeric data.
Definition at line 40 of file GT_DataArray.h.
GT_DataArray::GT_DataArray | ( | ) |
GT_DataArray::GT_DataArray | ( | const GT_DataArray & | src | ) |
|
virtual |
|
inline |
Definition at line 885 of file GT_DataArray.h.
GT_Storage GT_DataArray::checkIndexing | ( | GT_IndexingMode | mode | ) | const |
Test to see whether the data array requires int32 or int64 indexing.
|
pure virtual |
Implemented in GusdGT_VtArray< T >, GT_DARange, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GusdGT_VtStringArray< T >, GT_DAParametric, GT_DANumeric< T >, GT_DAIndirect, GT_DAConstant, GT_DAVaryingArray, GT_DAList, GT_DAConstantValue< T_POD >, GT_DASubArray, GT_DAValues< T >, GT_DARandom, GT_GEOElementId, GT_DABool, and GT_DAIndexedString.
|
inlineprotectedvirtual |
Reimplemented in GT_DANumeric< T >, and GT_GEOElementArray.
Definition at line 618 of file GT_DataArray.h.
|
inline |
Forcibly set the data id for the array. You take responsibility for all artifacts and crashes if you call this indiscriminately.
Definition at line 517 of file GT_DataArray.h.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DABool.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 657 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 661 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 664 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 667 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 670 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 673 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 676 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_GEOElementId.
Definition at line 679 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 682 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 685 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 688 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 691 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 694 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 697 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 700 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 703 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DABool.
Definition at line 707 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 765 of file GT_DataArray.h.
|
inlineprotectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray.
Definition at line 773 of file GT_DataArray.h.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, and GT_DABool.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
|
protectedvirtual |
Virtual implementation for inline methods. Note that doImport
is for tuple data, while doImportArray
is for tuple array data.
For debugging, print values to stdout.
|
inline |
Definition at line 482 of file GT_DataArray.h.
|
pure virtual |
Number of entries in the array.
Implemented in GT_DANumeric< T >, GusdGT_VtArray< T >, GT_DAConstantValue< T_POD >, GusdGT_VtStringArray< T >, GT_DARange, GT_DAParametric, GT_DAVaryingArray, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, GT_DAValues< T >, GT_GEOElementId, GT_DARandom, GT_DAIndexedString, and GT_DABool.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 371 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 377 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 383 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 389 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 395 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 401 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 407 of file GT_DataArray.h.
|
inlinevirtual |
Extract an element, but making nrepeats
copies. The buffer should be able to contain length*nrepeats*tsize
elements When filling an RGB color, with a repeat count of 4, the resulting buffer will look like:
With a repeat count of 1, this is equivalent to fillArray()
Definition at line 413 of file GT_DataArray.h.
|
inlinevirtual |
Definition at line 353 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 274 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 277 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 280 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 283 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 286 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 289 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 292 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 295 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 327 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 330 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 333 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 336 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 339 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 342 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 345 of file GT_DataArray.h.
|
inline |
Extract data for an array attribute into a flat data array. Since each entry in an array attribute varies in terms of array size, the sizes of each entry will be stored in the sizes
array.
Definition at line 348 of file GT_DataArray.h.
|
inlinevirtual |
Fill array of strings from start to length number of entries. This should only be called for an array attribute of strings. The data
will contain a flattened array of strings, with the sizes
array containing the array length per entry.
Reimplemented in GT_GEOElementArray.
Definition at line 196 of file GT_DataArray.h.
void GT_DataArray::fillStrings | ( | std::string * | strings, |
int | tuple_idx = 0 |
||
) | const |
Fill an array of std::string with the strings corresponding to each entry. There must be entries()
strings in the array. Only a single tuple index is extracted.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 307 of file GT_DataArray.h.
|
inline |
Extract data for the entire array into a flat data array. By default, this is implemented as:
Obviously, the data
array should be big enough to hold length*tuple_size
elements.
The tuple size (tsize
) specifies how many elements to extract from each element of this array. The stride
specifies how many items to skip over for each element. With a stride of -1, the stride will be set to the tsize
. Otherwise the stride will be set to the maximum of tsize
and stride
.
The stride can be useful when trying to interleave data. For example:
Definition at line 314 of file GT_DataArray.h.
|
inlineprotected |
Ensure the size is set properly when performing an import. If the size isn't specified, we use the array's tuple size, otherwise we make sure to clamp the tuple size.
Definition at line 629 of file GT_DataArray.h.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, GT_DAValues< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, GT_DAValues< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, GT_DAValues< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, and GT_DAValues< T >.
Copy the data out of the array as a tuple of size entries The data may be copied, or the array may return a pointer to raw data. That is, the sub-class may not copy the data into the storage.
Reimplemented in GT_GEOElementArray, GT_DAValues< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
const T* GT_DataArray::getArray | ( | GT_DataArrayHandle & | buffer | ) | const |
Template-friendly version of getU8Array() and related methods.
If the array has backing storage, this method can be used to access the storage. The backing storage must be a flat array of interleaved values of the given pod type. For example, if the array has 35 entries of fpreal32 color (RGB) data, the pointer returned should be mapped to an array that's (35*3) fpreal32 values with the first three values representing the RGB values for the first item in the array.
Reimplemented in GT_DANumeric< T >, GusdGT_VtArray< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Definition at line 89 of file GT_DataArray.h.
|
inlinevirtual |
Return the "data id" associated with the data. The data ID will be incremented if the data is modified. An ID less than 0 indicates that the data ID should always be considered unique and will never be the same across evaluations. This data ID can be used to detect whether attribute data has changed in similar tesselations.
Reimplemented in GT_DAIndirect, and GT_DAInherit.
Definition at line 96 of file GT_DataArray.h.
Get data out of the data array
Reimplemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAParametric, GT_DAList, GT_DAValues< T >, GT_DAIndexedString, GT_GEOElementId, and GT_DABool.
Definition at line 109 of file GT_DataArray.h.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Get data out of the data array
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAParametric, GT_DAList, GT_DAValues< T >, GT_DAIndexedString, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Get data out of the data array
Reimplemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAParametric, GT_DAList, GT_DAIndexedString, GT_DAValues< T >, GT_GEOElementId, and GT_DABool.
Definition at line 112 of file GT_DataArray.h.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 119 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 121 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 123 of file GT_DataArray.h.
Get data out of the data array
Definition at line 103 of file GT_DataArray.h.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >.
Get data out of the data array
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DAList, GT_DARange, GT_DAParametric, GT_DAValues< T >, GT_DAIndexedString, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Get data out of the data array
Reimplemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DAList, GT_DARange, GT_DAParametric, GT_DAValues< T >, GT_DAIndexedString, GT_GEOElementId, and GT_DABool.
Definition at line 106 of file GT_DataArray.h.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Get data out of the data array
Definition at line 101 of file GT_DataArray.h.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 129 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 131 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 133 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 127 of file GT_DataArray.h.
|
pure virtual |
When an array of strings is based on an indexed list of strings, this method can be used to extract all the strings and their corresponding indicies. It's possible that the indices may not be contiguous or may even be out of order.
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAIndexedString, GT_DAParametric, GT_DAVaryingArray, GT_DAValues< T >, GusdGT_VtStringArray< T >, GT_DAList, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
pure virtual |
Get an approximation of the memory usage. Since data is shared, this may be an over-estimation of the memory used.
Implemented in GT_GEOAutoNormalArray, GusdGT_VtStringArray< T >, GusdGT_VtStringArray< T >, GT_DANumeric< T >, GusdGT_VtArray< T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GusdGT_VtStringArray< T >, GT_DARange, GT_DAParametric, GT_DAList, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAVaryingArray, GT_DAValues< T >, GT_DAInherit, GT_GEOElementId, GT_DARandom, GT_DAIndexedString, and GT_DABool.
Enlarge a bounding box with values of this 3-tuple array.
Definition at line 468 of file GT_DataArray.h.
Return "true" if there's pointer aliasing.
Reimplemented in GT_DAList, GT_DAInherit, and GT_DAValues< T >.
Definition at line 77 of file GT_DataArray.h.
Get the range of values in the array
Get the range of values in the array
const fpreal* GT_DataArray::getRealArray | ( | GT_DataArrayHandle & | buffer | ) | const |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Get data out of the data array
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DAList, GT_DARange, GT_DAParametric, GT_DAIndexedString, GT_DAValues< T >, GusdGT_VtStringArray< T >, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, GT_DAList, and GT_DAVaryingArray.
Definition at line 117 of file GT_DataArray.h.
|
pure virtual |
Type of data stored in the array.
Implemented in GT_DANumeric< T >, GusdGT_VtArray< T >, GT_DAConstantValue< T_POD >, GusdGT_VtStringArray< T >, GT_DAParametric, GT_DARange, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, GT_DAValues< T >, GT_DAInherit, GT_DARandom, GT_GEOElementId, GT_DAIndexedString, and GT_DABool.
When an array of strings is based on an indexed list of strings, this method can be used to query each element's index. If the strings are not indexed, the method should return -1.
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAIndexedString, GT_DAParametric, GT_DAValues< T >, GusdGT_VtStringArray< T >, GT_DAList, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
pure virtual |
When an array of strings is based on an indexed list of strings, this method can be used to query the maximum number of indices. If the strings are not indexed, the method should return -1.
Implemented in GT_DANumeric< T >, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAParametric, GT_DAIndexedString, GT_DAVaryingArray, GT_DAValues< T >, GusdGT_VtStringArray< T >, GT_DAList, GT_GEOElementId, GT_DARandom, and GT_DABool.
|
virtual |
When an array of strings is based on an indexed list of strings, this method can be used to extract all the strings. If an index is not used, the string array may contain a NULL pointer. When you call getStringIndex()
, you can look up directly into the strings
array returned here.
Note, if the strings are not stored as an indexed list, this method will return an empty array.
Reimplemented in GT_DAIndexedString.
|
inlinevirtual |
Total number of array elements if this is an array attribute. Sum of each entry's array length, as each entry's array length can vary.
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 61 of file GT_DataArray.h.
|
pure virtual |
Number of elements for each array element.
Implemented in GT_DANumeric< T >, GusdGT_VtArray< T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GusdGT_VtStringArray< T >, GT_DARange, GT_DAParametric, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, GT_DAValues< T >, GT_DAInherit, GT_DARandom, GT_GEOElementId, GT_DAIndexedString, and GT_DABool.
|
virtual |
Return "type" information for the data. This defaults to GT_TYPE_NONE.
Reimplemented in GT_DANumeric< T >, GusdGT_VtArray< T >, GT_GEOElementArray, GT_DAConstantValue< T_POD >, GusdGT_VtStringArray< T >, GT_DARange, GT_DAParametric, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAList, GT_DAValues< T >, GT_DARandom, GT_DAInherit, GT_GEOElementId, GT_DAIndexedString, and GT_DABool.
Get data out of the data array
Implemented in GT_DANumeric< T >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, GT_DAConstantValue< T_POD >, GT_DARange, GT_DAList, GT_DAParametric, GT_DAValues< T >, GT_GEOElementId, GT_DAIndexedString, GT_DARandom, and GT_DABool.
|
virtual |
Get raw access to the data buffer (or fill the data array passed in) If the array is unable to provide a raw pointer to the underlying data, the GT_DataArrayHandle will be allocated to store the data, and it's raw data will be returned.
This means that the data returned will be destructed when the buffer is destructed. Beware.
Reimplemented in GT_DANumeric< T >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 125 of file GT_DataArray.h.
Public accessor for POD types.
Definition at line 875 of file GT_DataArray.h.
|
virtual |
Create a "hardened" version of the array.
Reimplemented in GT_DAConstantValue< T_POD >, GusdGT_VtArray< T >, GT_DAParametric, GusdGT_VtStringArray< T >, GT_DANumeric< T >, GT_DARandom, GT_DAIndexedString, and GT_DABool.
|
inlinevirtual |
Returns "true" if each entry is an array.
Reimplemented in GT_GEOElementArray, GT_DAVaryingArray, GT_DAList, and GT_DAInherit.
Definition at line 74 of file GT_DataArray.h.
|
inline |
Compute a hash of the data in the array. The base class hash is computed
Where hashNumeric
returns the value for integer types. Real data is cast to the corresponding unsigned integer values. For example, fpreal16
Definition at line 463 of file GT_DataArray.h.
|
virtual |
Compute a hash of the data in the array. The base class hash is computed
Where hashNumeric
returns the value for integer types. Real data is cast to the corresponding unsigned integer values. For example, fpreal16
Reimplemented in GT_DANumeric< T >, and GusdGT_VtArray< T >.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 209 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 211 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 213 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 215 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 217 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 219 of file GT_DataArray.h.
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 221 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 223 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 225 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 227 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 229 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 231 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 233 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 235 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 237 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 239 of file GT_DataArray.h.
|
inline |
Extract data out of the array in a template friendly fashion. Unlike the get()
methods, these methods will always copy data into the buffers. If the size
is 0, the tuple size will be used. The data buffer must be big enough.
If the size given is larger than getTupleSize(), only the first getTupleSize()
elements will be filled out (leaving the others untouched).
Definition at line 241 of file GT_DataArray.h.
|
inlinestatic |
Quick & dirty test to see if a size is bigger than a 32 bit int.
Definition at line 496 of file GT_DataArray.h.
|
virtual |
Compare whether two data arrays are equal.
Reimplemented in GT_DANumeric< T >, and GusdGT_VtArray< T >.
|
inlinevirtual |
Data array is valid; can be sampled from.
Reimplemented in GT_GEOElementArray, GT_DAIndirect, GT_DAList, GT_DAVaryingArray, and GT_DAInherit.
Definition at line 81 of file GT_DataArray.h.
|
inline |
Definition at line 879 of file GT_DataArray.h.
For memory tracking, we override the new/delete operators
|
static |
For memory tracking, we override the new/delete operators
For memory tracking, we override the new/delete operators
bool GT_DataArray::save | ( | UT_JSONWriter & | w, |
bool | flat = true |
||
) | const |
Save array to a JSON stream. The 'flat' determines how to output arrays with a tuple size greater than 1. If 'flat' is true, the output will be an uninterrupted stream of values. If 'flat' is false, then the output will look something like [[1,2,3],[4,5,6], ... ]
Set the data id - This is used by geometry arrays to copy over the data id from GA. As above, you take responsibility for all artifacts and crashes if you set this incorrectly. Do not set this if you don't know how data IDs work.
Definition at line 524 of file GT_DataArray.h.
|
protected |
Templated method to fill an array.
|
protected |
Templated method to fill an array attribute.
|
inlinevirtual |
Update cached data, in case the underlying attribute changed.
Reimplemented in GT_GEOAutoNormalArray, GT_GEOElementArray, GT_DAIndirect, and GT_DAInherit.
Definition at line 527 of file GT_DataArray.h.