3 #ifndef vtkCellGridSidesQuery_h
4 #define vtkCellGridSidesQuery_h
13 #include <unordered_map>
16 VTK_ABI_NAMESPACE_BEGIN
48 VerticesOfEdges = 0x01,
49 VerticesOfSurfaces = 0x02,
50 EdgesOfSurfaces = 0x04,
51 VerticesOfVolumes = 0x08,
52 EdgesOfVolumes = 0x10,
53 SurfacesOfVolumes = 0x20,
56 SurfacesOfInputs = 0x20,
58 VerticesOfInputs = 0x0b,
60 NextLowestDimension = 0x25
122 vtkSetMacro(PreserveRenderableInputs,
vtkTypeBool);
123 vtkGetMacro(PreserveRenderableInputs,
vtkTypeBool);
124 vtkBooleanMacro(PreserveRenderableInputs,
vtkTypeBool);
136 vtkSetMacro(OmitSidesForRenderableInputs,
vtkTypeBool);
137 vtkGetMacro(OmitSidesForRenderableInputs,
vtkTypeBool);
138 vtkBooleanMacro(OmitSidesForRenderableInputs,
vtkTypeBool);
146 vtkSetMacro(OutputDimensionControl,
int);
147 vtkGetMacro(OutputDimensionControl,
int);
148 vtkBooleanMacro(OutputDimensionControl,
int);
162 this->SetStrategy(static_cast<SummaryStrategy>(strategy));
175 vtkSetEnumMacro(SelectionType, SelectionMode);
176 vtkGetEnumMacro(SelectionType, SelectionMode);
180 this->SetSelectionType(static_cast<SelectionMode>(selnType));
189 std::unordered_map<vtkStringToken, std::unordered_map<vtkIdType, std::set<int>>>>&
196 std::vector<SideSetArray> GetSideSetArrays(vtkStringToken cellType);
199 static vtkStringToken SelectionModeToLabel(SelectionMode
mode);
200 static SelectionMode SelectionModeFromLabel(vtkStringToken token);
203 static vtkStringToken SummaryStrategyToLabel(SummaryStrategy strategy);
204 static SummaryStrategy SummaryStrategyFromLabel(vtkStringToken token);
224 int OutputDimensionControl{ SideFlags::SurfacesOfInputs };
228 bool TemporarySideCache{
false };
229 std::unordered_map<vtkStringToken,
230 std::unordered_map<vtkStringToken, std::unordered_map<vtkIdType, std::set<int>>>>
238 VTK_ABI_NAMESPACE_END
239 #endif // vtkCellGridSidesQuery_h
A cell-grid query for enumerating sides of cells.
std::unordered_map< vtkStringToken, std::unordered_map< vtkStringToken, std::unordered_map< vtkIdType, std::set< int > > > > & GetSides()
Perform an operation on cells in a vtkCellMetadata instance.
PassWork
An enum specifying the work responders should perform for each pass.
vtkSmartPointer< vtkIdTypeArray > Sides
An array of tuples of (cell-id, side-id) specifying sides.
Input shapes should be selected when output sides are picked.
void SetStrategyToAnyOccurrence()
A structure created by the GetSideSetArrays() method for responders to use.
dynamic, self-adjusting array of vtkIdType
void SetStrategyToBoundary()
vtkStringToken CellType
The type of parent cell which created the sides.
virtual bool Finalize()
Override this if your query-result state requires finalization.
If a hash entry entry exists, a single side should be included in the output.
a simple class to control print indentation
std::unordered_map< vtkStringToken, std::unordered_map< vtkStringToken, std::unordered_map< vtkIdType, std::set< int > > > > Sides
A side specified by a cell ID and an integer index into sides.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Represent a string by its integer hash.
vtkStringToken SideShape
The shape of all the sides in the Sides array.
SideFlags
An enum specifying which side(s) each responder should generate.
The number of hash entries for a given side should be used to decide whether to include a hash's side...
SelectionMode
Indicate how output should be generated or marked so selection works as expected. ...
SummaryStrategy
An enum specifying the strategy by which input hashes are summarized into output Sides entries...
virtual void SetStrategy(int strategy)
This method exists for ParaView to set the strategy.
void SetStrategyToWinding()
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual bool IsAnotherPassRequired()
Override this if your query allows responders to execute in multiple phases.
Hold a map from hash-ids (representing sides of cells of multiple types) to details on the cells that...
virtual void SetSelectionType(int selnType)
This method exists for ParaView to set the selection mode.
virtual bool Initialize()
Override this if your query-result state requires initialization.
virtual void StartPass()
Mark the start of a pass through each cell type.