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

#include <GA_Handle.h>

+ Inheritance diagram for GA_ROHandleT< T, ENABLE >:

Public Types

typedef void(* GAprobeAttribGetter )(T &result, const GA_Attribute *atr, GA_Offset)
 
typedef T::value_type BASETYPE
 
using ALTBASETYPE = typename UT_StorageNum< BASETYPE >::SecondGuess
 
using ALTTYPE = UT_FixedVector< ALTBASETYPE, theTupleSize >
 

Public Member Functions

 GA_ROHandleT ()
 
 GA_ROHandleT (const GA_Attribute *attrib)
 
 GA_ROHandleT (const GA_Detail *gdp, GA_AttributeOwner owner, const UT_StringRef &name, int minsize=1)
 
void operator= (const GA_Attribute *attrib)
 
void bind (const GA_Detail *gdp, GA_AttributeOwner owner, const UT_StringRef &name, int minsize=1)
 
SYS_FORCE_INLINE void bind (const GA_Attribute *attrib, int minsize=1)
 
void bind (const GA_ATINumeric *attrib, int minsize=1)
 
const GA_ATINumericgetAttribute () const
 
GA_DataId getDataId () const
 
bool isRational () const
 
void clear ()
 
SYS_FORCE_INLINE bool isValid () const
 
SYS_FORCE_INLINE bool isInvalid () const
 
SYS_FORCE_INLINE bool isAltBound () const
 
SYS_FORCE_INLINE T get (GA_Offset off, int comp=0) const
 
SYS_FORCE_INLINE ALTTYPE getAlt (GA_Offset off, int comp=0) const
 
void getBlock (GA_Offset startoff, GA_Size nelements, T *dest, int deststride=1, int component=0) const
 
void getBlockFromIndices (GA_Index startidx, GA_Size nelements, T *dest, int deststride=1, int component=0) const
 
SYS_FORCE_INLINE T operator() (GA_Offset off) const
 
SYS_FORCE_INLINE T operator[] (GA_Offset off) const
 
SYS_FORCE_INLINE bool isPageConstant (GA_PageNum pagenum) const
 
bool operator== (const GA_ROHandleT< T > &handle) const
 
bool operator!= (const GA_ROHandleT< T > &handle) const
 
const GA_ATINumericoperator-> () const
 

Static Public Attributes

static const exint theTupleSize = UT_FixedVectorTraits<T>::TupleSize
 

Protected Attributes

GA_ATINumericmyAttrib
 
GA_PageArray< BASETYPE,
theTupleSize > * 
myExactMatch
 
GA_PageArray< typename
UT_StorageNum< BASETYPE >
::SecondGuess, theTupleSize > * 
myAlmostMatch
 

Detailed Description

template<typename T, typename ENABLE = void>
class GA_ROHandleT< T, ENABLE >

Read-only handle for vector attribute data.

Template Parameters
TReturn vector type for get methods. Requires T::value_type to describe the underlying element type of the vector.
ENABLEUse SYS_EnableIf to specialize arithmetic template implementations (i.e. see the SCALAR implementation)

Definition at line 109 of file GA_Handle.h.

Member Typedef Documentation

template<typename T, typename ENABLE = void>
using GA_ROHandleT< T, ENABLE >::ALTBASETYPE = typename UT_StorageNum<BASETYPE>::SecondGuess

Definition at line 115 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
using GA_ROHandleT< T, ENABLE >::ALTTYPE = UT_FixedVector<ALTBASETYPE, theTupleSize>

Definition at line 116 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
typedef T::value_type GA_ROHandleT< T, ENABLE >::BASETYPE

Definition at line 113 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
typedef void(* GA_ROHandleT< T, ENABLE >::GAprobeAttribGetter)(T &result, const GA_Attribute *atr, GA_Offset)

Definition at line 112 of file GA_Handle.h.

Constructor & Destructor Documentation

template<typename T, typename ENABLE = void>
GA_ROHandleT< T, ENABLE >::GA_ROHandleT ( )
inline

Definition at line 118 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
GA_ROHandleT< T, ENABLE >::GA_ROHandleT ( const GA_Attribute attrib)
inline

Definition at line 122 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
GA_ROHandleT< T, ENABLE >::GA_ROHandleT ( const GA_Detail gdp,
GA_AttributeOwner  owner,
const UT_StringRef name,
int  minsize = 1 
)

Member Function Documentation

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::bind ( const GA_Detail gdp,
GA_AttributeOwner  owner,
const UT_StringRef name,
int  minsize = 1 
)
template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE void GA_ROHandleT< T, ENABLE >::bind ( const GA_Attribute attrib,
int  minsize = 1 
)
inline

Definition at line 136 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::bind ( const GA_ATINumeric attrib,
int  minsize = 1 
)
inline

Definition at line 141 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::clear ( )
inline

Definition at line 180 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE T GA_ROHandleT< T, ENABLE >::get ( GA_Offset  off,
int  comp = 0 
) const
inline

Definition at line 203 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE ALTTYPE GA_ROHandleT< T, ENABLE >::getAlt ( GA_Offset  off,
int  comp = 0 
) const
inline

Definition at line 216 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
const GA_ATINumeric* GA_ROHandleT< T, ENABLE >::getAttribute ( ) const
inline

Definition at line 166 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::getBlock ( GA_Offset  startoff,
GA_Size  nelements,
T dest,
int  deststride = 1,
int  component = 0 
) const

Copies attribute values from a contiguous block of offsets into the dest array. NOTE: The block of offsets is assumed to have no holes, else data could be read from offsets that don't have corresponding elements.

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::getBlockFromIndices ( GA_Index  startidx,
GA_Size  nelements,
T dest,
int  deststride = 1,
int  component = 0 
) const

Copies attribute values from a contiguous block of indices into the dest array. This allows there to be holes in the geometry.

template<typename T, typename ENABLE = void>
GA_DataId GA_ROHandleT< T, ENABLE >::getDataId ( ) const
inline

Definition at line 168 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE bool GA_ROHandleT< T, ENABLE >::isAltBound ( ) const
inline

True if we've bound the Almost match, which we consider our alternate binding.

Definition at line 198 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE bool GA_ROHandleT< T, ENABLE >::isInvalid ( ) const
inline

Definition at line 191 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE bool GA_ROHandleT< T, ENABLE >::isPageConstant ( GA_PageNum  pagenum) const
inline

Returns true iff the specified page is constant-compressed, where a single value is stored to represent GA_PAGE_SIZE values in the page, (or possibly fewer if only one page).

Definition at line 266 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
bool GA_ROHandleT< T, ENABLE >::isRational ( ) const
inline

Definition at line 177 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE bool GA_ROHandleT< T, ENABLE >::isValid ( ) const
inline

Definition at line 187 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
bool GA_ROHandleT< T, ENABLE >::operator!= ( const GA_ROHandleT< T > &  handle) const
inline

Definition at line 274 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE T GA_ROHandleT< T, ENABLE >::operator() ( GA_Offset  off) const
inline

Definition at line 255 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
const GA_ATINumeric* GA_ROHandleT< T, ENABLE >::operator-> ( ) const
inline

Definition at line 278 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
void GA_ROHandleT< T, ENABLE >::operator= ( const GA_Attribute attrib)
inline

Definition at line 128 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
bool GA_ROHandleT< T, ENABLE >::operator== ( const GA_ROHandleT< T > &  handle) const
inline

Definition at line 270 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
SYS_FORCE_INLINE T GA_ROHandleT< T, ENABLE >::operator[] ( GA_Offset  off) const
inline

Definition at line 259 of file GA_Handle.h.

Member Data Documentation

template<typename T, typename ENABLE = void>
GA_PageArray<typename UT_StorageNum<BASETYPE>::SecondGuess,theTupleSize>* GA_ROHandleT< T, ENABLE >::myAlmostMatch
protected

Definition at line 285 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
GA_ATINumeric* GA_ROHandleT< T, ENABLE >::myAttrib
protected

Definition at line 283 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
GA_PageArray<BASETYPE,theTupleSize>* GA_ROHandleT< T, ENABLE >::myExactMatch
protected

Definition at line 284 of file GA_Handle.h.

template<typename T, typename ENABLE = void>
const exint GA_ROHandleT< T, ENABLE >::theTupleSize = UT_FixedVectorTraits<T>::TupleSize
static

Definition at line 114 of file GA_Handle.h.


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