HDK
|
A utility class to amortize overhead from GA_GBElement attribute handling methods. More...
#include <GA_ElementWrangler.h>
Public Member Functions | |
void | buildCache () |
void | clearCache () |
void | copyAttributeValues (GA_Offset dest, GA_Offset src) |
void | copyAttributeValues (const GA_Range &dest, GA_Offset src) |
void | scaleAttributeValues (GA_Offset dest, fpreal scale) |
void | addAttributeValues (GA_Offset dest, GA_Offset src, fpreal scale=1) |
void | lerpAttributeValues (GA_Offset dest, GA_Offset src0, GA_Offset src1, fpreal bias) |
bool | isValid (GA_Detail &dest) const |
bool | isValid (GA_Detail &dest, const GA_Detail &src) const |
int | getNumAttributes () const |
void | bumpAllDestDataIds () |
void | hardenAllPages (GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET) |
GA_AttributeRefMap & | getMap () |
Protected Member Functions | |
GA_ElementWrangler (GA_AttributeOwner owner, GA_Detail &dest, const GA_Attribute *exclude=nullptr) | |
GA_ElementWrangler (GA_AttributeOwner owner, GA_Detail &dest, const GA_Detail &src, const GA_Attribute *exclude=nullptr) | |
GA_ElementWrangler (GA_AttributeOwner owner, GA_Detail &dest, const GA_AttributeFilter &filter) | |
GA_ElementWrangler (GA_AttributeOwner owner, GA_Detail &dest, const GA_Detail &src, const GA_AttributeFilter &filter) | |
~GA_ElementWrangler () | |
Protected destructor as we don't support polymorphic destruction. More... | |
GA_AttributeRefMap::Cache * | cache () |
A utility class to amortize overhead from GA_GBElement attribute handling methods.
The GA_ElementWrangler class provides a simplified interface for common attribute operations as elements are added or removed.
This class is not thread-safe, so each thread should have its own copy, and any attributes added after its instantiation will not be processed.
Definition at line 38 of file GA_ElementWrangler.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
Protected destructor as we don't support polymorphic destruction.
Definition at line 109 of file GA_ElementWrangler.h.
|
inline |
Definition at line 59 of file GA_ElementWrangler.h.
|
inline |
Definition at line 44 of file GA_ElementWrangler.h.
|
inline |
Definition at line 82 of file GA_ElementWrangler.h.
|
inlineprotected |
Definition at line 111 of file GA_ElementWrangler.h.
|
inline |
Definition at line 47 of file GA_ElementWrangler.h.
Definition at line 49 of file GA_ElementWrangler.h.
|
inline |
Definition at line 95 of file GA_ElementWrangler.h.
|
inline |
Definition at line 80 of file GA_ElementWrangler.h.
void GA_ElementWrangler::hardenAllPages | ( | GA_Offset | start_offset = GA_Offset(0) , |
GA_Offset | end_offset = GA_INVALID_OFFSET |
||
) |
Harden data pages in destination attributes. Will harden all pages overlapping the specified offset range. Once this is done, multiple threads can write to an attribute in parallel at a finer granularity than pages. Note groups are not threadsafe even if hardened.
|
inline |
Definition at line 70 of file GA_ElementWrangler.h.
Definition at line 75 of file GA_ElementWrangler.h.
|
inline |
Definition at line 64 of file GA_ElementWrangler.h.
Definition at line 55 of file GA_ElementWrangler.h.