HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GusdGT_VtStringArray< T > Class Template Reference

#include <GT_VtStringArray.h>

+ Inheritance diagram for GusdGT_VtStringArray< T >:

Public Types

typedef GusdGT_VtStringArray< TThis
 
typedef T ValueType
 
typedef VtArray< TArrayType
 

Public Member Functions

 GusdGT_VtStringArray ()
 
 GusdGT_VtStringArray (const ArrayType &array)
 
 ~GusdGT_VtStringArray () override
 
const char * className () const override
 
const Toperator() (GT_Offset o) const
 
const ArrayTypeoperator* () const
 
GT_String getString (GT_Offset o) const
 
void swap (ArrayType &o)
 
GT_DataArrayHandle harden () const override
 Create a "hardened" version of the array. More...
 
GT_String getS (GT_Offset o, int idx=0) const override
 
GT_Size getStringIndexCount () const override
 
GT_Offset getStringIndex (GT_Offset, int) const override
 
void getIndexedStrings (UT_StringArray &, UT_IntArray &) const override
 
GT_Storage getStorage () const override
 Type of data stored in the array. More...
 
GT_Size getTupleSize () const override
 Number of elements for each array element. More...
 
GT_Size entries () const override
 Number of entries in the array. More...
 
GT_Type getTypeInfo () const override
 Return "type" information for the data. This defaults to GT_TYPE_NONE. More...
 
int64 getMemoryUsage () const override
 
template<>
int64 getMemoryUsage () const
 
template<>
int64 getMemoryUsage () const
 
- Public Member Functions inherited from GT_DataArray
 GT_DataArray ()
 
 GT_DataArray (const GT_DataArray &src)
 
virtual ~GT_DataArray ()
 
virtual GT_Size getTotalArrayEntries () const
 
virtual bool hasArrayEntries () const
 Returns "true" if each entry is an array. More...
 
virtual bool getPointerAliasing (const void *data) const
 Return "true" if there's pointer aliasing. More...
 
virtual bool isValid () const
 Data array is valid; can be sampled from. More...
 
virtual const voidgetBackingData () const
 
virtual int64 getDataId () const
 
template<typename T >
const TgetArray (GT_DataArrayHandle &buffer) const
 Template-friendly version of getU8Array() and related methods. More...
 
virtual void getStrings (UT_StringArray &strings) const
 
void fillStrings (std::string *strings, int tuple_idx=0) const
 
virtual void fillStringArray (UT_StringArray &data, UT_ValArray< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void extendedFillArray (uint8 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1, fpreal black=0, fpreal white=1) const
 
virtual bool isEqual (const GT_DataArray &src) const
 Compare whether two data arrays are equal. More...
 
bool getMinMax (fpreal64 *min, fpreal64 *max) const
 Enlarge a bounding box with values of this 3-tuple array. More...
 
bool enlargeBounds (UT_BoundingBox &b) const
 
GT_Storage checkIndexing (GT_IndexingMode mode) const
 Test to see whether the data array requires int32 or int64 indexing. More...
 
void dumpValues (const char *msg=NULL) const
 For debugging, print values to stdout. More...
 
bool save (UT_JSONWriter &w, bool flat=true) const
 
void copyDataId (const GT_DataArray &src)
 
void setDataId (int64 id)
 
virtual void updateGeoDetail (const GU_ConstDetailHandle &dtl, const char *attrib_name, GT_Owner attrib_owner, const int expected_size)
 Update cached data, in case the underlying attribute changed. More...
 
template<typename T >
T getValue (GT_Offset index) const
 Public accessor for POD types. More...
 
template<typename T >
T lerpValue (GT_Offset i0, GT_Offset i1, fpreal t) const
 
template<typename T >
T bilerpValue (GT_Offset u0v0, GT_Offset u1v0, GT_Offset u0v1, GT_Offset u1v1, fpreal u, fpreal v)
 
virtual int8 getI8 (GT_Offset offset, int idx=0) const
 
virtual int16 getI16 (GT_Offset offset, int idx=0) const
 
virtual int64 getI64 (GT_Offset offset, int idx=0) const
 
virtual fpreal16 getF16 (GT_Offset offset, int idx=0) const
 
virtual fpreal64 getF64 (GT_Offset offset, int idx=0) const
 
virtual bool getSA (UT_StringArray &a, GT_Offset offset) const
 
virtual bool getFA16 (UT_ValArray< fpreal16 > &a, GT_Offset offset) const
 
virtual bool getFA32 (UT_ValArray< fpreal32 > &a, GT_Offset offset) const
 
virtual bool getFA64 (UT_ValArray< fpreal64 > &a, GT_Offset offset) const
 
virtual bool getIA16 (UT_ValArray< int16 > &a, GT_Offset offset) const
 
virtual bool getIA32 (UT_ValArray< int32 > &a, GT_Offset offset) const
 
virtual bool getIA64 (UT_ValArray< int64 > &a, GT_Offset offset) const
 
virtual const uint8getU8Array (GT_DataArrayHandle &buffer) const
 
virtual const int8getI8Array (GT_DataArrayHandle &buffer) const
 
virtual const int16getI16Array (GT_DataArrayHandle &buffer) const
 
virtual const int32getI32Array (GT_DataArrayHandle &buffer) const
 
virtual const int64getI64Array (GT_DataArrayHandle &buffer) const
 
virtual const fpreal16getF16Array (GT_DataArrayHandle &buffer) const
 
virtual const fpreal32getF32Array (GT_DataArrayHandle &buffer) const
 
virtual const fpreal64getF64Array (GT_DataArrayHandle &buffer) const
 
const fprealgetRealArray (GT_DataArrayHandle &buffer) const
 
void import (GT_Offset idx, int8 *data, GT_Size size=0) const
 
void import (GT_Offset idx, int16 *data, GT_Size size=0) const
 
void import (GT_Offset idx, int32 *data, GT_Size size=0) const
 
void import (GT_Offset idx, int64 *data, GT_Size size=0) const
 
void import (GT_Offset idx, fpreal16 *data, GT_Size size=0) const
 
void import (GT_Offset idx, fpreal32 *data, GT_Size size=0) const
 
void import (GT_Offset idx, fpreal64 *data, GT_Size size=0) const
 
void import (GT_Offset idx, UT_ValArray< fpreal16 > &data) const
 
void import (GT_Offset idx, UT_ValArray< fpreal32 > &data) const
 
void import (GT_Offset idx, UT_ValArray< fpreal64 > &data) const
 
void import (GT_Offset idx, UT_ValArray< int16 > &data) const
 
void import (GT_Offset idx, UT_ValArray< int32 > &data) const
 
void import (GT_Offset idx, UT_ValArray< int64 > &data) const
 
void import (GT_Offset idx, UT_StringArray &data) const
 
void import (GT_Offset idx, uint8 *data, GT_Size size=0, fpreal black=0, fpreal white=1) const
 
void fillArray (int8 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (int16 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (int32 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (int64 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (fpreal16 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (fpreal32 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (fpreal64 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1) const
 
void fillArray (uint8 *data, GT_Offset start, GT_Size length, int tsize, int stride=-1, fpreal black=0, fpreal white=1) const
 
void fillVec3BBox (fpreal32 *dest, GT_Offset start, GT_Size length, UT_BoundingBoxF &bbox, int tsize, int stride=-1)
 
void fillVec3BBox (fpreal64 *dest, GT_Offset start, GT_Size length, UT_BoundingBoxD &bbox, int tsize, int stride=-1)
 
void fillArray (UT_Array< int16 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
void fillArray (UT_Array< int32 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
void fillArray (UT_Array< int64 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
void fillArray (UT_Array< fpreal16 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
void fillArray (UT_Array< fpreal32 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
void fillArray (UT_Array< fpreal64 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length)
 
virtual void extendedFill (uint8 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (int8 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (int16 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (int32 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (int64 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (fpreal16 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (fpreal32 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual void extendedFill (fpreal64 *data, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride=-1) const
 
virtual const uint8get (GT_Offset i, uint8 *store, int sz) const
 
virtual const int8get (GT_Offset i, int8 *store, int sz) const
 
virtual const int16get (GT_Offset i, int16 *store, int sz) const
 
virtual const int32get (GT_Offset i, int32 *store, int sz) const
 
virtual const int64get (GT_Offset i, int64 *store, int sz) const
 
virtual const fpreal16get (GT_Offset i, fpreal16 *store, int z) const
 
virtual const fpreal32get (GT_Offset i, fpreal32 *store, int z) const
 
virtual const fpreal64get (GT_Offset i, fpreal64 *store, int z) const
 
virtual void getRange (exint &lo, exint &hi, int tuple_idx=0) const
 
virtual void getRange (fpreal &lo, fpreal &hi, int tidx=0) const
 
SYS_HashType hash () const
 
virtual SYS_HashType hashRange (exint begin, exint end) const
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GT_DataArray >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 

Protected Member Functions

void _UpdateDataPointer (bool makeUnique)
 
GT_String _GetString (const T &o) const
 
GT_String _GetStringFromStdString (const std::string &o) const
 
template<>
GT_String _GetString (const std::string &o) const
 
template<>
GT_String _GetString (const TfToken &o) const
 
template<>
GT_String _GetString (const SdfPath &o) const
 
template<>
GT_String _GetString (const SdfAssetPath &o) const
 
- Protected Member Functions inherited from GT_DataArray
virtual bool computeMinMax (fpreal64 *min, fpreal64 *max) const
 
SYS_STATIC_FORCE_INLINE GT_Size fixImportTupleSize (GT_Size size, GT_Size tuple_size)
 
template<typename T_POD >
void t_extendedFill (T_POD *dest, GT_Offset start, GT_Size length, int tsize, int nrepeats, int stride) const
 Templated method to fill an array. More...
 
template<typename T_POD >
void t_extendedFillArray (UT_Array< T_POD > &dest, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 Templated method to fill an array attribute. More...
 
virtual void doImport (GT_Offset idx, uint8 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, int8 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, int16 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, int32 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, int64 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, fpreal16 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, fpreal32 *data, GT_Size size) const
 
virtual void doImport (GT_Offset idx, fpreal64 *data, GT_Size size) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< fpreal16 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< fpreal32 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< fpreal64 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< int16 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< int32 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< int64 > &data) const
 
virtual void doImportQuantized (GT_Offset idx, uint8 *data, GT_Size size, fpreal black, fpreal white) const
 
virtual void doFillArray (uint8 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (int8 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (int16 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (int32 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (int64 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (fpreal16 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (fpreal32 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArray (fpreal64 *data, GT_Offset start, GT_Size length, int tuple_size, int stride) const
 
virtual void doFillArrayAttr (UT_Array< int16 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillArrayAttr (UT_Array< int32 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillArrayAttr (UT_Array< int64 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillArrayAttr (UT_Array< fpreal16 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillArrayAttr (UT_Array< fpreal32 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillArrayAttr (UT_Array< fpreal64 > &data, UT_Array< int > &sizes, GT_Offset start, GT_Size length) const
 
virtual void doFillQuantizedArray (uint8 *data, GT_Offset start, GT_Size length, int tuple_size, int stride, fpreal black, fpreal white) const
 
virtual void doExtendedQuantizedFill (uint8 *data, GT_Offset start, GT_Size length, int tuple_size, int nrepeats, int stride, fpreal black, fpreal white) const
 
virtual void doFillVec3BBox (fpreal32 *dest, GT_Offset start, GT_Size length, UT_BoundingBoxF &bbox, int, int stride)
 
virtual void doFillVec3BBox (fpreal64 *dest, GT_Offset start, GT_Size length, UT_BoundingBoxD &bbox, int, int stride)
 
- Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_DataArray >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from GT_DataArray
static bool isBigInteger (GT_Size size)
 Quick & dirty test to see if a size is bigger than a 32 bit int. More...
 
static voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 

Detailed Description

template<class T>
class GusdGT_VtStringArray< T >

GT_DataArray implementation wrapping VtArray for string-like types. I.e., std::string, TfToken, et. al.

Warning
: The GT_String (const char*) pointer returned for all empty strings is always the NULL pointer. This includes std::string, which can't be constructed from a NULL string. Be careful when reconstring source objects!

Definition at line 46 of file GT_VtStringArray.h.

Member Typedef Documentation

template<class T >
typedef VtArray<T> GusdGT_VtStringArray< T >::ArrayType

Definition at line 51 of file GT_VtStringArray.h.

template<class T >
typedef GusdGT_VtStringArray<T> GusdGT_VtStringArray< T >::This

Definition at line 49 of file GT_VtStringArray.h.

template<class T >
typedef T GusdGT_VtStringArray< T >::ValueType

Definition at line 50 of file GT_VtStringArray.h.

Constructor & Destructor Documentation

template<class T >
GusdGT_VtStringArray< T >::GusdGT_VtStringArray ( )

Definition at line 136 of file GT_VtStringArray.h.

template<class T >
GusdGT_VtStringArray< T >::GusdGT_VtStringArray ( const ArrayType array)

Definition at line 128 of file GT_VtStringArray.h.

template<class T >
GusdGT_VtStringArray< T >::~GusdGT_VtStringArray ( )
inlineoverride

Definition at line 57 of file GT_VtStringArray.h.

Member Function Documentation

template<class T >
GT_String GusdGT_VtStringArray< T >::_GetString ( const T o) const
protected

Return a GT_String from one of our elems. This must be specialized per element type.

template<>
GT_String GusdGT_VtStringArray< std::string >::_GetString ( const std::string o) const
protected

Definition at line 173 of file GT_VtStringArray.h.

template<>
GT_String GusdGT_VtStringArray< TfToken >::_GetString ( const TfToken o) const
protected

Definition at line 179 of file GT_VtStringArray.h.

template<>
GT_String GusdGT_VtStringArray< SdfPath >::_GetString ( const SdfPath o) const
protected

Definition at line 185 of file GT_VtStringArray.h.

template<>
GT_String GusdGT_VtStringArray< SdfAssetPath >::_GetString ( const SdfAssetPath o) const
protected

Definition at line 191 of file GT_VtStringArray.h.

template<class T >
GT_String GusdGT_VtStringArray< T >::_GetStringFromStdString ( const std::string o) const
inlineprotected

Definition at line 109 of file GT_VtStringArray.h.

template<class T >
void GusdGT_VtStringArray< T >::_UpdateDataPointer ( bool  makeUnique)
protected

Update our _data member to point at the array data. This must be called after any operation that changes the contents of _array.

Definition at line 143 of file GT_VtStringArray.h.

template<class T >
const char* GusdGT_VtStringArray< T >::className ( ) const
inlineoverridevirtual

Implements GT_DataArray.

Definition at line 59 of file GT_VtStringArray.h.

template<class T >
GT_Size GusdGT_VtStringArray< T >::entries ( ) const
inlineoverridevirtual

Number of entries in the array.

Implements GT_DataArray.

Definition at line 93 of file GT_VtStringArray.h.

template<class T >
void GusdGT_VtStringArray< T >::getIndexedStrings ( UT_StringArray strings,
UT_IntArray indices 
) const
inlineoverridevirtual

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.

Implements GT_DataArray.

Definition at line 87 of file GT_VtStringArray.h.

template<class T >
int64 GusdGT_VtStringArray< T >::getMemoryUsage ( ) const
inlineoverridevirtual

Get an approximation of the memory usage. Since data is shared, this may be an over-estimation of the memory used.

Implements GT_DataArray.

Definition at line 96 of file GT_VtStringArray.h.

template<>
int64 GusdGT_VtStringArray< std::string >::getMemoryUsage ( ) const
virtual

Get an approximation of the memory usage. Since data is shared, this may be an over-estimation of the memory used.

Implements GT_DataArray.

Definition at line 198 of file GT_VtStringArray.h.

template<>
int64 GusdGT_VtStringArray< SdfAssetPath >::getMemoryUsage ( ) const
virtual

Get an approximation of the memory usage. Since data is shared, this may be an over-estimation of the memory used.

Implements GT_DataArray.

Definition at line 209 of file GT_VtStringArray.h.

template<class T >
GT_String GusdGT_VtStringArray< T >::getS ( GT_Offset  offset,
int  idx = 0 
) const
inlineoverridevirtual

Get data out of the data array

Implements GT_DataArray.

Definition at line 79 of file GT_VtStringArray.h.

template<class T >
GT_Storage GusdGT_VtStringArray< T >::getStorage ( ) const
inlineoverridevirtual

Type of data stored in the array.

Implements GT_DataArray.

Definition at line 90 of file GT_VtStringArray.h.

template<class T >
GT_String GusdGT_VtStringArray< T >::getString ( GT_Offset  o) const
inline

Definition at line 71 of file GT_VtStringArray.h.

template<class T >
GT_Offset GusdGT_VtStringArray< T >::getStringIndex ( GT_Offset  offset,
int  idx 
) const
inlineoverridevirtual

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.

Implements GT_DataArray.

Definition at line 85 of file GT_VtStringArray.h.

template<class T >
GT_Size GusdGT_VtStringArray< T >::getStringIndexCount ( ) const
inlineoverridevirtual

Indexed strings are not currently supported in Vt.

Implements GT_DataArray.

Definition at line 83 of file GT_VtStringArray.h.

template<class T >
GT_Size GusdGT_VtStringArray< T >::getTupleSize ( ) const
inlineoverridevirtual

Number of elements for each array element.

Implements GT_DataArray.

Definition at line 92 of file GT_VtStringArray.h.

template<class T >
GT_Type GusdGT_VtStringArray< T >::getTypeInfo ( ) const
inlineoverridevirtual

Return "type" information for the data. This defaults to GT_TYPE_NONE.

Reimplemented from GT_DataArray.

Definition at line 94 of file GT_VtStringArray.h.

template<class T >
GT_DataArrayHandle GusdGT_VtStringArray< T >::harden ( ) const
overridevirtual

Create a "hardened" version of the array.

Reimplemented from GT_DataArray.

Definition at line 163 of file GT_VtStringArray.h.

template<class T >
const T& GusdGT_VtStringArray< T >::operator() ( GT_Offset  o) const
inline

Definition at line 62 of file GT_VtStringArray.h.

template<class T >
const ArrayType& GusdGT_VtStringArray< T >::operator* ( ) const
inline

Definition at line 68 of file GT_VtStringArray.h.

template<class T >
void GusdGT_VtStringArray< T >::swap ( ArrayType o)

Swap our array contents with another array.

Definition at line 153 of file GT_VtStringArray.h.


The documentation for this class was generated from the following file: