HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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
 

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
 
bool isRational () const
 
void clear ()
 
SYS_FORCE_INLINE bool isValid () const
 
SYS_FORCE_INLINE bool isInvalid () const
 
SYS_FORCE_INLINE T get (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 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)
Examples:
SOP/SOP_PrimVOP.C.

Definition at line 106 of file GA_Handle.h.

Member Typedef Documentation

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

Definition at line 110 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 109 of file GA_Handle.h.

Constructor & Destructor Documentation

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

Definition at line 113 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 117 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 131 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 136 of file GA_Handle.h.

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

Definition at line 174 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 194 of file GA_Handle.h.

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

Definition at line 168 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>
SYS_FORCE_INLINE bool GA_ROHandleT< T, ENABLE >::isInvalid ( ) const
inline

Definition at line 189 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 246 of file GA_Handle.h.

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

Definition at line 171 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 185 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 254 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 239 of file GA_Handle.h.

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

Definition at line 258 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 123 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 250 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 266 of file GA_Handle.h.

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

Definition at line 263 of file GA_Handle.h.

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

Definition at line 265 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 111 of file GA_Handle.h.


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