|
OpenVDB 10.0.1
|
Iterator over const VDB primitives on a geometry detail. More...
#include <openvdb_houdini/Utils.h>
Public Types | |
| using | FilterFunc = std::function< bool(const GU_PrimVDB &)> |
Public Member Functions | |
| VdbPrimCIterator (const GEO_Detail *gdp, const GA_PrimitiveGroup *group=nullptr, FilterFunc filter=FilterFunc()) | |
| VdbPrimCIterator (const VdbPrimCIterator &) | |
| VdbPrimCIterator & | operator= (const VdbPrimCIterator &) |
| void | advance () |
| Advance to the next VDB primitive. | |
| VdbPrimCIterator & | operator++ () |
| const GU_PrimVDB * | getPrimitive () const |
Return a pointer to the current VDB primitive (nullptr if at end). | |
| const GU_PrimVDB * | operator* () const |
| const GU_PrimVDB * | operator-> () const |
| GA_Offset | getOffset () const |
| GA_Index | getIndex () const |
| operator bool () const | |
Return false if there are no more VDB primitives. | |
| UT_String | getPrimitiveName (const UT_String &defaultName="") const |
Return the value of the current VDB primitive's name attribute. | |
| UT_String | getPrimitiveNameOrIndex () const |
Return the value of the current VDB primitive's name attribute or, if the name is empty, the primitive's index (as a UT_String). | |
| UT_String | getPrimitiveIndexAndName (bool keepEmptyName=true) const |
Return a string of the form "N (NAME)", where N is the current VDB primitive's index and NAME is the value of the primitive's name attribute. | |
Protected Member Functions | |
| VdbPrimCIterator (const GEO_Detail *, GA_Range::safedeletions, const GA_PrimitiveGroup *=nullptr, FilterFunc=FilterFunc()) | |
| Allow primitives to be deleted during iteration. | |
Protected Attributes | |
| UT_SharedPtr< GA_GBPrimitiveIterator > | mIter |
| FilterFunc | mFilter |
Iterator over const VDB primitives on a geometry detail.
At least until GEO_PrimVDB becomes a built-in primitive type (that can be used as the mask for a GA_GBPrimitiveIterator), use this iterator to iterate over all VDB grids belonging to a gdp and, optionally, belonging to a particular group.
| using FilterFunc = std::function<bool (const GU_PrimVDB&)> |
|
explicit |
| gdp | the geometry detail over which to iterate |
| group | a group in the detail over which to iterate (if nullptr, iterate over all VDB primitives) |
| filter | an optional function or functor that takes a const reference to a GU_PrimVDB and returns a boolean specifying whether that primitive should be visited (true) or not (false) |
| VdbPrimCIterator | ( | const VdbPrimCIterator & | ) |
|
protected |
Allow primitives to be deleted during iteration.
| void advance | ( | ) |
Advance to the next VDB primitive.
|
inline |
|
inline |
| const GU_PrimVDB * getPrimitive | ( | ) | const |
Return a pointer to the current VDB primitive (nullptr if at end).
| UT_String getPrimitiveIndexAndName | ( | bool | keepEmptyName = true | ) | const |
Return a string of the form "N (NAME)", where N is the current VDB primitive's index and NAME is the value of the primitive's name attribute.
| keepEmptyName | if the current primitive has no name attribute or its name is empty, then if this flag is true, return a string "N ()", otherwise return a string "N" omitting the empty name |
| UT_String getPrimitiveName | ( | const UT_String & | defaultName = "" | ) | const |
Return the value of the current VDB primitive's name attribute.
| defaultName | if the current primitive has no name attribute or its name is empty, return this name instead |
| UT_String getPrimitiveNameOrIndex | ( | ) | const |
Return the value of the current VDB primitive's name attribute or, if the name is empty, the primitive's index (as a UT_String).
|
inline |
Return false if there are no more VDB primitives.
|
inline |
|
inline |
|
inline |
| VdbPrimCIterator & operator= | ( | const VdbPrimCIterator & | ) |
|
protected |
|
protected |