VTK  9.7.1
vtkHyperTreeGridGeometrySmallDimensionsImpl.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkHyperTreeGridGeometrySmallDimensionsImpl_h
12 #define vtkHyperTreeGridGeometrySmallDimensionsImpl_h
13 
15 
16 #include <vector> // For std::vector
17 
18 VTK_ABI_NAMESPACE_BEGIN
19 
20 class vtkDataArray;
22 class vtkPoints;
25 
27 {
28 public:
30  vtkCellArray* outCells, vtkDataSetAttributes* inCellDataAttributes,
31  vtkDataSetAttributes* outCellDataAttributes, bool passThroughCellIds,
32  const std::string& originalCellIdArrayName, bool fillMaterial);
33 
35 
39  void GenerateGeometry() override;
40 
41 protected:
50 
55 
60 
66  double sign, const std::vector<double>& distancesToInterface) = 0;
67 
73  const std::vector<double>& distancesToInterfaceA,
74  const std::vector<double>& distancesToInterfaceB) = 0;
75 
85 
93 };
94 
95 VTK_ABI_NAMESPACE_END
96 #endif /* vtkHyperTreeGridGeometrySmallDimensionsImpl_h */
vtkNew< vtkPoints > CellPoints
Contains the point coordinates of the current cell surface, without considering eventual cuts made by...
Common interface for 1D and 2D vtkHyperTreeGridGeometry internal classes.
vtkHyperTreeGridGeometrySmallDimensionsImpl(vtkHyperTreeGrid *input, vtkPoints *outPoints, vtkCellArray *outCells, vtkDataSetAttributes *inCellDataAttributes, vtkDataSetAttributes *outCellDataAttributes, bool passThroughCellIds, const std::string &originalCellIdArrayName, bool fillMaterial)
Interface for all vtkHyperTreeGridGeometry internal classes.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Abstract class in support of both point location and point insertion.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
virtual void ProcessLeafCellWithoutInterface(vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
Generate the surface for a leaf cell with no interface.
represent and manipulate attribute data in a dataset
dynamic, self-adjusting array of unsigned char
void GenerateGeometry() override
Generate the external surface of the input vtkHyperTreeGrid.
object to represent cell connectivity
Definition: vtkCellArray.h:177
virtual void BuildCellPoints(vtkHyperTreeGridNonOrientedGeometryCursor *cursor)=0
Compute the point coordinates of the surface of the current cell, independently of the fact that the ...
virtual void ProcessLeafCellWithDoubleInterface(vtkHyperTreeGridNonOrientedGeometryCursor *cursor, const std::vector< double > &distancesToInterfaceA, const std::vector< double > &distancesToInterfaceB)=0
Generate the surface for a leaf cell cut by two interfaces.
void RecursivelyProcessTree(vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
Recursively browse the input HTG in order to generate the output surface.
~vtkHyperTreeGridGeometrySmallDimensionsImpl() override=default
void ProcessLeafCellWithInterface(vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
Generate the surface for a leaf cell with a defined interface.
virtual void ProcessLeafCellWithOneInterface(vtkHyperTreeGridNonOrientedGeometryCursor *cursor, double sign, const std::vector< double > &distancesToInterface)=0
Generate the surface for a leaf cell cut by one interface.
represent and manipulate 3D points
Definition: vtkPoints.h:30