HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_DAIndirect Class Reference

An array to handle indirect references (i.e. shared items) More...

#include <GT_DAIndirect.h>

+ Inheritance diagram for GT_DAIndirect:

Public Member Functions

 GT_DAIndirect ()
 Default constructor. More...
 
 GT_DAIndirect (const GT_DataArrayHandle &indirect, const GT_DataArrayHandle &data, bool flatten_nested=false)
 Convenience constructor. More...
 
 GT_DAIndirect (const GT_DAIndirect &src)
 Copy constructor. More...
 
virtual ~GT_DAIndirect ()
 Destructor. More...
 
virtual const char * className () const
 
virtual bool isValid () const
 
virtual void updateGeoDetail (const GU_ConstDetailHandle &dtl, const char *attrib_name, GT_Owner attrib_owner, const int expected_size)
 
void init (const GT_DataArrayHandle &indirect, const GT_DataArrayHandle &data, bool flatten_nested)
 Initialize data from an indirect array of indices and a data array. More...
 
GT_DataArrayHandle getIndirect ()
 
virtual int64 getDataId () const
 
- Public Member Functions inherited from GT_DAInherit
 GT_DAInherit ()
 Default constructor. More...
 
 GT_DAInherit (const GT_DataArrayHandle &data)
 Convenience constructor. More...
 
 GT_DAInherit (const GT_DAInherit &src)
 Copy constructor. More...
 
virtual ~GT_DAInherit ()
 
void init (const GT_DataArrayHandle &data)
 
virtual GT_Storage getStorage () const
 
virtual GT_Size getTupleSize () const
 
virtual GT_Type getTypeInfo () const
 
virtual int64 getMemoryUsage () const
 
virtual bool getPointerAliasing (const void *data) const
 Return "true" if there's pointer aliasing. More...
 
- Public Member Functions inherited from GT_DataArray
 GT_DataArray ()
 
 GT_DataArray (const GT_DataArray &src)
 
virtual ~GT_DataArray ()
 
virtual GT_DataArrayHandle harden () const
 Create a "hardened" version of the array. More...
 
virtual GT_Size entries () const =0
 Number of entries in the array. More...
 
virtual bool hasArrayEntries () const
 Returns "true" if each entry is an array. More...
 
virtual GT_Size getStringIndexCount () const =0
 
virtual GT_Offset getStringIndex (GT_Offset offset, int idx=0) const =0
 
virtual void getIndexedStrings (UT_StringArray &strings, UT_IntArray &indices) const =0
 
virtual void getStrings (UT_StringArray &strings) const
 
void fillStrings (std::string *strings, int tuple_idx=0) 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
 
bool isEqual (const GT_DataArray &src) const
 Compare whether two data arrays are equal. More...
 
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)
 
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 uint8 getU8 (GT_Offset offset, int idx=0) const =0
 
virtual int8 getI8 (GT_Offset offset, int idx=0) const
 
virtual int16 getI16 (GT_Offset offset, int idx=0) const
 
virtual int32 getI32 (GT_Offset offset, int idx=0) const =0
 
virtual int64 getI64 (GT_Offset offset, int idx=0) const
 
virtual fpreal16 getF16 (GT_Offset offset, int idx=0) const
 
virtual fpreal32 getF32 (GT_Offset offset, int idx=0) const =0
 
virtual fpreal64 getF64 (GT_Offset offset, int idx=0) const
 
virtual GT_String getS (GT_Offset offset, int idx=0) const =0
 
virtual bool getSA (UT_StringArray &a, GT_Offset offset) const
 
virtual bool getFA32 (UT_ValArray< fpreal32 > &a, GT_Offset offset) const
 
virtual bool getIA32 (UT_ValArray< int32 > &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< fpreal32 > &data) const
 
void import (GT_Offset idx, UT_ValArray< int32 > &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)
 
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
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GT_DataArray >
SYS_FORCE_INLINE UT_IntrusiveRefCounter ()
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &)
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &)
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const
 Return current counter. More...
 

Static Public Member Functions

static int getUnmapThreshold ()
 
- 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)
 

Additional Inherited Members

- Protected Member Functions inherited from GT_DataArray
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...
 
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< fpreal32 > &data) const
 
virtual void doImportArray (GT_Offset idx, UT_ValArray< int32 > &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 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...
 
- Protected Attributes inherited from GT_DAInherit
GT_DataArrayHandle myData
 

Detailed Description

An array to handle indirect references (i.e. shared items)

This class takes two GT_DataArrays. The indirect array should be an array of integers which are used to perform indirect lookup into the shared data array. For example:

GT_DataArray VertexList = [ 1, 4, 2, 3 ]
GT_DataArray &PointAttributes;
GT_DAIndirect attribs(VertexList, PointAttributes);

This allows the point attributes to be referenced by vertex number.

Definition at line 28 of file GT_DAIndirect.h.

Constructor & Destructor Documentation

GT_DAIndirect::GT_DAIndirect ( )
inline

Default constructor.

Definition at line 31 of file GT_DAIndirect.h.

GT_DAIndirect::GT_DAIndirect ( const GT_DataArrayHandle indirect,
const GT_DataArrayHandle data,
bool  flatten_nested = false 
)
inline

Convenience constructor.

Definition at line 36 of file GT_DAIndirect.h.

GT_DAIndirect::GT_DAIndirect ( const GT_DAIndirect src)
inline

Copy constructor.

Definition at line 45 of file GT_DAIndirect.h.

virtual GT_DAIndirect::~GT_DAIndirect ( )
virtual

Destructor.

Member Function Documentation

virtual const char* GT_DAIndirect::className ( void  ) const
inlinevirtual

Implements GT_DataArray.

Definition at line 54 of file GT_DAIndirect.h.

virtual int64 GT_DAIndirect::getDataId ( ) const
virtual

Methods defined on GT_DataArray

Reimplemented from GT_DAInherit.

GT_DataArrayHandle GT_DAIndirect::getIndirect ( )
inline

Definition at line 70 of file GT_DAIndirect.h.

static int GT_DAIndirect::getUnmapThreshold ( )
static
void GT_DAIndirect::init ( const GT_DataArrayHandle indirect,
const GT_DataArrayHandle data,
bool  flatten_nested 
)

Initialize data from an indirect array of indices and a data array.

virtual bool GT_DAIndirect::isValid ( void  ) const
inlinevirtual

Methods defined on GT_DataArray

Reimplemented from GT_DAInherit.

Definition at line 56 of file GT_DAIndirect.h.

virtual void GT_DAIndirect::updateGeoDetail ( const GU_ConstDetailHandle dtl,
const char *  attrib_name,
GT_Owner  attrib_owner,
const int  expected_size 
)
virtual

Methods defined on GT_DataArray

Reimplemented from GT_DAInherit.


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