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

#include <GA_GBElement.h>

+ Inheritance diagram for GA_GBElement:

Public Member Functions

GA_DetailgetDetail () const
 Provide access to the GA_Detail containing this element. More...
 
const GA_IndexMapgetIndexMap () const
 Provide access to the GA_IndexMap containing this element. More...
 
GA_Offset getMapOffset () const
 
GA_Index getMapIndex () const
 Provide the ordered GA_Index of this element in its GA_IndexMap. More...
 
bool isGAValid () const
 Test to see whether the GA_GBElement is bound to a valid offset. More...
 
void copyAttributeData (const GA_RWAttributeRef &dstref, const GA_GBElement &src, const GA_ROAttributeRef &srcref)
 Copy a single attribute over. More...
 
void swapOffsetValue (const GA_Defragment &defrag)
 For defragmentation, we need to update the offset. More...
 
GA_Index getNum () const
 
bool isPrimary () const
 
void copyAttribData (const GA_GBElement &src, const GA_AttributeSet &src_dict, const GA_AttributeSet &dest_dict, bool copy_point_P=false)
 
void copyAttribData (const GA_GBElement &src, const GA_AttributeSet &dict, bool copy_point_P=false)
 
void copyAttributeValues (const GA_GBElement &src, const GA_AttributeSet &dict, bool copy_point_P=false)
 
void scaleAttributeValues (fpreal scale, const GA_AttributeSet &dest_dict, bool scale_point_P=false)
 
void addAttributeValues (const GA_GBElement &src, const GA_AttributeSet &src_dict, const GA_AttributeSet &dest_dict, fpreal scale=1, bool add_point_P=false)
 
void addAttributeValues (const GA_GBElement &src, const GA_AttributeSet &dict, fpreal scale=1, bool add_point_P=false)
 
void lerpAttributeValues (const GA_GBElement &v0, const GA_GBElement &v1, fpreal bias, const GA_AttributeSet &src_dict, const GA_AttributeSet &dest_dict, bool lerp_point_P=false)
 
void lerpAttributeValues (const GA_GBElement &v0, const GA_GBElement &v1, fpreal bias, const GA_AttributeSet &dict, bool lerp_point_P=false)
 
Get/Set Accessors For Individual Attributes
const char * getString (const GA_ROAttributeRef &h, int index=0) const
 
void setString (const GA_WOAttributeRef &h, const char *str, int index=0)
 
template<typename T >
T getValue (const GA_ROAttributeRef &h, int index=0) const
 
template<typename T >
void setValue (const GA_WOAttributeRef &h, const T &val, int index=0)
 
template<typename T >
void get (const GA_ROAttributeRef &h, T &val, int index=0) const
 
template<typename T >
void get (const GA_ROAttributeRef &h, T *val, int count) const
 
template<typename T >
void set (const GA_WOAttributeRef &h, const T *val, int count)
 

Protected Member Functions

 GA_GBElement (const GA_IndexMap &index_map, GA_Offset offset)
 
 GA_GBElement ()
 Default c-tor. More...
 
 GA_GBElement (const GA_GBElement &src)
 Copy c-tor. More...
 
 ~GA_GBElement ()
 
void gaCopyAttribData (const GA_GBElement *src, const GA_Attribute *skip=NULL)
 
void gaCopyAttribData (const GA_GBElement &src, const GA_AttributeSet &src_dict, const GA_AttributeSet &dest_dict, const GA_Attribute *skip=NULL)
 
void gaCopyAttribData (const GA_GBElement &src, const GA_AttributeDict &src_dict, const GA_AttributeDict &dest_dict, const GA_Attribute *skip=NULL)
 
GA_GBElementoperator= (const GA_GBElement &src)
 
bool operator== (const GA_GBElement &src) const
 

Detailed Description

Note
This class has no virtual methods nor is the destructor virtual. Instances of derived classes are either passed by value (vertices), managed by an object derived from GA_GBElementPage (points), or managed through pointers to the subclass GA_Primitive (primitives).

Definition at line 54 of file GA_GBElement.h.

Constructor & Destructor Documentation

GA_GBElement::GA_GBElement ( const GA_IndexMap index_map,
GA_Offset  offset 
)
inlineprotected

This class is only for supporting legacy code and is slated for future removal. We protect the constructors to discourage extraneous usage.

Definition at line 59 of file GA_GBElement.h.

GA_GBElement::GA_GBElement ( )
inlineprotected

Default c-tor.

Definition at line 65 of file GA_GBElement.h.

GA_GBElement::GA_GBElement ( const GA_GBElement src)
inlineprotected

Copy c-tor.

Definition at line 70 of file GA_GBElement.h.

GA_GBElement::~GA_GBElement ( )
inlineprotected

We protect the destructor as nobody has any business using a reference to this class to delete an instance of a class derived from us.

Definition at line 77 of file GA_GBElement.h.

Member Function Documentation

void GA_GBElement::addAttributeValues ( const GA_GBElement src,
const GA_AttributeSet src_dict,
const GA_AttributeSet dest_dict,
fpreal  scale = 1,
bool  add_point_P = false 
)
void GA_GBElement::addAttributeValues ( const GA_GBElement src,
const GA_AttributeSet dict,
fpreal  scale = 1,
bool  add_point_P = false 
)
inline

Definition at line 179 of file GA_GBElement.h.

void GA_GBElement::copyAttribData ( const GA_GBElement src,
const GA_AttributeSet src_dict,
const GA_AttributeSet dest_dict,
bool  copy_point_P = false 
)
inline

Definition at line 145 of file GA_GBElement.h.

void GA_GBElement::copyAttribData ( const GA_GBElement src,
const GA_AttributeSet dict,
bool  copy_point_P = false 
)
inline

Definition at line 154 of file GA_GBElement.h.

void GA_GBElement::copyAttributeData ( const GA_RWAttributeRef dstref,
const GA_GBElement src,
const GA_ROAttributeRef srcref 
)

Copy a single attribute over.

void GA_GBElement::copyAttributeValues ( const GA_GBElement src,
const GA_AttributeSet dict,
bool  copy_point_P = false 
)
inline

Definition at line 161 of file GA_GBElement.h.

void GA_GBElement::gaCopyAttribData ( const GA_GBElement src,
const GA_Attribute skip = NULL 
)
protected
void GA_GBElement::gaCopyAttribData ( const GA_GBElement src,
const GA_AttributeSet src_dict,
const GA_AttributeSet dest_dict,
const GA_Attribute skip = NULL 
)
protected
void GA_GBElement::gaCopyAttribData ( const GA_GBElement src,
const GA_AttributeDict src_dict,
const GA_AttributeDict dest_dict,
const GA_Attribute skip = NULL 
)
protected
template<typename T >
void GA_GBElement::get ( const GA_ROAttributeRef h,
T val,
int  index = 0 
) const
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 417 of file GA_GBElement.h.

template<typename T >
void GA_GBElement::get ( const GA_ROAttributeRef h,
T val,
int  count 
) const
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 426 of file GA_GBElement.h.

GA_Detail& GA_GBElement::getDetail ( ) const
inline

Provide access to the GA_Detail containing this element.

Definition at line 97 of file GA_GBElement.h.

const GA_IndexMap& GA_GBElement::getIndexMap ( ) const
inline

Provide access to the GA_IndexMap containing this element.

Definition at line 99 of file GA_GBElement.h.

GA_Index GA_GBElement::getMapIndex ( ) const
inline

Provide the ordered GA_Index of this element in its GA_IndexMap.

Definition at line 105 of file GA_GBElement.h.

GA_Offset GA_GBElement::getMapOffset ( ) const
inline

Provide the GA_Offset of this element in its GA_IndexMap. This should be used to access attribute data (not the ordered index).

Definition at line 103 of file GA_GBElement.h.

GA_Index GA_GBElement::getNum ( ) const
inline

Return the ordered position of the element. This provides backwards compatibility with the older GB library.

Definition at line 129 of file GA_GBElement.h.

const char* GA_GBElement::getString ( const GA_ROAttributeRef h,
int  index = 0 
) const
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 372 of file GA_GBElement.h.

template<typename T >
T GA_GBElement::getValue ( const GA_ROAttributeRef h,
int  index = 0 
) const
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 398 of file GA_GBElement.h.

bool GA_GBElement::isGAValid ( ) const
inline

Test to see whether the GA_GBElement is bound to a valid offset.

Definition at line 110 of file GA_GBElement.h.

bool GA_GBElement::isPrimary ( ) const

This method returns true if the element (point/primitive/vertex) is part of 3D geometry. Otherwise it returns false.

void GA_GBElement::lerpAttributeValues ( const GA_GBElement v0,
const GA_GBElement v1,
fpreal  bias,
const GA_AttributeSet src_dict,
const GA_AttributeSet dest_dict,
bool  lerp_point_P = false 
)
void GA_GBElement::lerpAttributeValues ( const GA_GBElement v0,
const GA_GBElement v1,
fpreal  bias,
const GA_AttributeSet dict,
bool  lerp_point_P = false 
)
inline

Definition at line 194 of file GA_GBElement.h.

GA_GBElement& GA_GBElement::operator= ( const GA_GBElement src)
inlineprotected

Copy/Compare the handle (not the contents)

Definition at line 81 of file GA_GBElement.h.

bool GA_GBElement::operator== ( const GA_GBElement src) const
inlineprotected

Copy/Compare the handle (not the contents)

Definition at line 87 of file GA_GBElement.h.

void GA_GBElement::scaleAttributeValues ( fpreal  scale,
const GA_AttributeSet dest_dict,
bool  scale_point_P = false 
)
template<typename T >
void GA_GBElement::set ( const GA_WOAttributeRef h,
const T val,
int  count 
)
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 435 of file GA_GBElement.h.

void GA_GBElement::setString ( const GA_WOAttributeRef h,
const char *  str,
int  index = 0 
)
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 384 of file GA_GBElement.h.

template<typename T >
void GA_GBElement::setValue ( const GA_WOAttributeRef h,
const T val,
int  index = 0 
)
inline

These template methods can only be instantiated with the following types: fpreal32, fpreal64, int32, int64, UT_Vector[34], UT_Matrix[34]

These methods use AIFs and so may fail gracefully or convert data types appropriately.

Definition at line 407 of file GA_GBElement.h.

void GA_GBElement::swapOffsetValue ( const GA_Defragment defrag)

For defragmentation, we need to update the offset.


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