26#ifndef vtkCellGridToUnstructuredGrid_h
27#define vtkCellGridToUnstructuredGrid_h
31#include "vtkFiltersCellGridModule.h"
36#include <unordered_map>
38VTK_ABI_NAMESPACE_BEGIN
80 GenerateConnectivity =
120 return this->ConnectivityTransforms[cellType];
161 void operator=(
const Query&) =
delete;
A function defined over the physical domain of a vtkCellGrid.
Perform an operation on cells in a vtkCellMetadata instance.
A query corresponding to this algorithm.
std::unordered_map< vtkCellAttribute *, vtkDataArray * > AttributeMap
ConnectivityWeightType ConnectivityWeights
The reciprocal of every entry in ConnectivityCount.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkIncrementalOctreePointLocator > Locator
A locator used to insert cell-grid points into a vtkPoints instance.
std::unordered_map< vtkStringToken, OutputAllocation > OutputAllocations
A map used to allocate space for the unstructured-grid's vtkCellArray.
std::unordered_map< vtkIdType, vtkIdType > ConnectivityTransformType
Return a map of per-cell-type point IDs to unstructured-grid point IDs.
std::unordered_map< vtkStringToken, ConnectivityTransformType > ConnectivityTransforms
Connectivity transforms per input cell type.
ConnectivityTransformType & GetConnectivityTransform(vtkStringToken cellType)
const OutputAllocations & GetOutputAllocations() const
vtkCellGrid * GetInput() const
Get the request's input cell-grid.
~Query() override=default
ConnectivityCountType ConnectivityCount
Number of cells referencing a given output point.
bool IsAnotherPassRequired() override
Force three passes through this query.
OutputAllocations & GetOutputAllocations()
Return the data structure used in the CountOutputs pass.
vtkIncrementalOctreePointLocator * GetLocator()
Return the point-locator.
OutputAllocations OutputOffsets
Map output cell-typename to input cell-typename to count (offset after the AllocateOutputs pass has r...
vtkDataArray * GetOutputArray(vtkCellAttribute *inputAttribute)
Return an output attribute (or null).
std::vector< float > ConnectivityWeightType
The reciprocal of this->GetConnectivityCount().
ConnectivityCountType & GetConnectivityCount()
void StartPass() override
Mark the start of a pass through each cell type.
bool Finalize() override
Override this if your query-result state requires finalization.
vtkUnstructuredGrid * GetOutput() const
Get the request's output cell-grid.
PassType
Passes performed by the query.
bool Initialize() override
Override this if your query-result state requires initialization.
std::map< vtkIdType, int > ConnectivityCountType
This map is used to count the number of references to output points.
ConnectivityWeightType & GetConnectivityWeights()
Create an unstructured grid that approximates a cell-grid.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkCellGridToUnstructuredGrid * New()
~vtkCellGridToUnstructuredGrid() override=default
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *ouInfo) override
This is called by the superclass.
vtkCellGridToUnstructuredGrid()=default
Visualization data composed of cells of arbitrary type.
abstract superclass for arrays of numeric data
Incremental octree in support of both point location and point insertion.
a simple class to control print indentation
Allocate and hold a VTK object.
Represent a string by its integer hash.
Superclass for algorithms that produce only unstructured grid as output.
dataset represents arbitrary combinations of all possible cell types
A placeholder for space to be occupied in a vtkCellArray.