|
Enzo
|
Abstract base for one piece of a Selection expression. More...
#include <SelectionComponent.h>
Public Member Functions | |
| virtual bool | containsPrim (const geo::Primitive &prim) const =0 |
| virtual bool | containsFace (const geo::Primitive &prim, Index index, Offset offset, bool inverted=false) const =0 |
| virtual bool | containsPoint (const geo::Primitive &prim, Index index, Offset offset, bool inverted=false) const =0 |
| virtual bool | containsVertex (const geo::Primitive &prim, Index index, Offset offset, bool inverted=false) const =0 |
| virtual bool | isWholePrim (const geo::Primitive &prim) const =0 |
| Whether the component selects the prim as a whole. | |
Static Public Member Functions | |
| static std::unique_ptr< SelectionComponent > | fromString (std::string_view string) |
| Parses one component string and returns the appropriate subclass. | |
| static std::unique_ptr< SelectionComponent > | fromGroup (std::string_view name) |
| Creates a group based component for the named group. | |
Abstract base for one piece of a Selection expression.
A Selection is a comma separated list of components. Each component knows how to answer membership queries for a primitive and its faces, points, and vertices. Path based components match a primitive by path and use explicit index sets. Group based components look up named groups on the primitive.
|
pure virtual |
Whether the component selects the prim as a whole.
Whole prim selection means every face, point, and vertex of a matched prim is implicitly included. Group components consult the primitive group flag for this answer, which is why the prim is required.
Implemented in enzo::GroupSelectionComponent, and enzo::PathSelectionComponent.