HDK
|
Iterate over a group of elements Iterate over a group of elements. If no group is specified, this is is an empty range. More...
#include <GA_RTIElementGroup.h>
Protected Member Functions | |
GA_RTIElementGroup (const GA_ElementGroup &group, GA_Offset start, GA_Offset end, bool complement) | |
Constructor used in splitting range. More... | |
void | nextSpan (GA_IteratorState &state) const |
Move to the next span. More... | |
void | incState (GA_IteratorState &state) const |
Move to the next offset in the current span. More... | |
bool | ordered () const |
void | singleRewind (GA_IteratorState &state) const override |
bool | singleGet (const GA_IteratorState &state, GA_Offset &value) const override |
void | singleNext (GA_IteratorState &state) const override |
Protected Member Functions inherited from GA_RangeTypeInterface | |
bool | getPageElementRangeNonSplittable () const |
Method which can be called for getPageElementRange() More... | |
GA_Offset | getFirstOffsetInPageNonSplittable () const |
Method which can be called for getFirstOffsetInPage() More... | |
GA_Size | computeEntries () const |
This method creates an iterator and counts the entries. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from GA_RangeTypeInterface | |
static void * | operator new (size_t size, void *p) |
static void * | operator new (size_t size) |
static void | operator delete (void *p, size_t size) |
Iterate over a group of elements Iterate over a group of elements. If no group is specified, this is is an empty range.
There are some caveats when specifying the complement of a group:
Definition at line 39 of file GA_RTIElementGroup.h.
GA_RTIElementGroup::GA_RTIElementGroup | ( | const GA_IndexMap & | index_map, |
const char * | name, | ||
bool | complement, | ||
bool | ignore_order | ||
) |
Construct given a group name (may be NULL)
If complement
is false, the range will be composed of elements in the group. If complement
is true, the complement of the group will be contained in the range.
GA_RTIElementGroup::GA_RTIElementGroup | ( | const GA_IndexMap & | index_map, |
const GA_ElementGroup * | group, | ||
bool | complement, | ||
bool | ignore_order | ||
) |
Construct given an optional group (the group owner should match the index map owner)
GA_RTIElementGroup::GA_RTIElementGroup | ( | const GA_RTIElementGroup & | i | ) |
Copy constructor.
|
override |
Destructor.
|
protected |
Constructor used in splitting range.
|
overridevirtual |
RangeTypeInterface implementation
Reimplemented from GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Reimplemented from GA_RangeTypeInterface.
|
inlineoverridevirtual |
RangeTypeInterface implementation
Reimplemented from GA_RangeTypeInterface.
Definition at line 78 of file GA_RTIElementGroup.h.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
virtual |
Get a GA_RangeTypeInterface representing the remainder of the range after iterating over part of it, as specified by state and current. NOTE: The caller is responsible for deleting the returned GA_RangeTypeInterface!
|
protected |
Move to the next offset in the current span.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Reimplemented from GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.
|
overridevirtual |
Choose the next contiguous range. If the iteration is complete, start
should be set to a value greater than end
.
Implements GA_RangeTypeInterface.
|
overridevirtual |
We partially override these iterates. We pass down to the RTISingle for ordered groups, but unordered groups we can do a fast path. Rewind the iterator (i.e. reset the iterator state). The start/offset should be initialized so that they define the first contiguous "block" for iteration. If the range is empty, start
should be greater than end
Implements GA_RangeTypeInterface.
|
protected |
Move to the next span.
|
inlineprotected |
Test if the group is ordered. When the range specifies the complement of the group, there can be no order.
Definition at line 131 of file GA_RTIElementGroup.h.
|
overrideprotectedvirtual |
RangeTypeInterface implementation
Implements GA_RTISingle.
|
overrideprotectedvirtual |
RangeTypeInterface implementation
Implements GA_RTISingle.
|
overrideprotectedvirtual |
RangeTypeInterface implementation
Implements GA_RTISingle.
|
overridevirtual |
RangeTypeInterface implementation
Implements GA_RangeTypeInterface.