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 890 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_DAIndirect, GT_DAConstant, GT_DANumeric< T >, 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 623 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 522 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 662 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 666 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 669 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 672 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 675 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 678 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 681 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 684 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 687 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 690 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 693 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 696 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 699 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 702 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 705 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 708 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 712 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 770 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 778 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 484 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 373 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 379 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 385 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 391 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 397 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 403 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 409 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 415 of file GT_DataArray.h.
|
inlinevirtual |
Definition at line 355 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 276 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 279 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 282 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 285 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 288 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 291 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 294 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 297 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 329 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 332 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 335 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 338 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 341 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 344 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 347 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 350 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, and GT_DAVaryingArray.
Definition at line 198 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 309 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 316 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 634 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 >, GT_DAConstantValue< T_POD >, and GABC_NAMESPACE::GABC_IGTArray< POD_T >.
Definition at line 91 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 98 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 111 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_DAList, GT_DAParametric, GT_DAIndexedString, GT_DAValues< T >, GT_GEOElementId, and GT_DABool.
Definition at line 114 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 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.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 125 of file GT_DataArray.h.
Get data out of the data array
Definition at line 105 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 >, GT_GEOElementArray, GABC_NAMESPACE::GABC_IGTArray< POD_T >, 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 108 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 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 >.
|
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 135 of file GT_DataArray.h.
|
inlinevirtual |
Get data out of the data array
Reimplemented in GT_GEOElementArray, and GT_DAVaryingArray.
Definition at line 129 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 470 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 79 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 119 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, GT_DAIndirect, GT_DAVaryingArray, GT_DAList, GT_DAConstant, GT_DASubArray, and GT_DAInherit.
Definition at line 63 of file GT_DataArray.h.
|
pure virtual |
Number of elements for each array element.
Implemented in GT_DANumeric< T >, GusdGT_VtArray< T >, GT_DAConstantValue< T_POD >, GT_GEOElementArray, 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_DAConstantValue< T_POD >, GT_GEOElementArray, 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_DAList, GT_DARange, 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 127 of file GT_DataArray.h.
Public accessor for POD types.
Definition at line 880 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 76 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 465 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 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.
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.
|
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 243 of file GT_DataArray.h.
|
inlinestatic |
Quick & dirty test to see if a size is bigger than a 32 bit int.
Definition at line 501 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_DAInherit, GT_DAIndirect, GT_DAList, and GT_DAVaryingArray.
Definition at line 83 of file GT_DataArray.h.
Return the number of elements in the array for the given item.
Reimplemented in GT_GEOElementArray, GT_DAIndirect, GT_DAList, GT_DAVaryingArray, GT_DAConstant, GT_DASubArray, and GT_DAInherit.
Definition at line 60 of file GT_DataArray.h.
|
inline |
Definition at line 884 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 529 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_DAInherit, and GT_DAIndirect.
Definition at line 532 of file GT_DataArray.h.