VTK  9.3.1
vtkHyperTreeGridGhostCellsGenerator.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
24 #ifndef vtkHyperTreeGridGhostCellsGenerator_h
25 #define vtkHyperTreeGridGhostCellsGenerator_h
26 
27 #include "vtkFiltersParallelModule.h" // For export macro
29 
30 #include <vector> // For vtkHypertreeGridGhostCellsGenerator::ExtractInterface
31 
32 VTK_ABI_NAMESPACE_BEGIN
33 class vtkBitArray;
34 class vtkCellData;
35 class vtkHyperTreeGrid;
37 
38 class VTKFILTERSPARALLEL_EXPORT vtkHyperTreeGridGhostCellsGenerator
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
46 protected:
49 
50  struct vtkInternals;
51 
55  int FillOutputPortInformation(int, vtkInformation*) override;
56 
61 
65  void CopyInputTreeToOutput(vtkHyperTreeGridNonOrientedCursor* inCursor,
66  vtkHyperTreeGridNonOrientedCursor* outCursor, vtkCellData* inCellData, vtkCellData* outCellData,
67  vtkBitArray* inMask, vtkBitArray* outMask);
68 
89  void ExtractInterface(vtkHyperTreeGridNonOrientedCursor* inCursor, vtkBitArray* isParent,
90  std::vector<vtkIdType>& indices, vtkHyperTreeGrid* grid, unsigned int mask, vtkIdType& pos);
91 
104  vtkIdType CreateGhostTree(vtkHyperTreeGridNonOrientedCursor* outCursor, vtkBitArray* isParent,
105  vtkIdType* indices, vtkIdType&& pos = 0);
106 
107  vtkInternals* Internals;
108 
109 private:
111  void operator=(const vtkHyperTreeGridGhostCellsGenerator&) = delete;
112 };
113 
114 VTK_ABI_NAMESPACE_END
115 #endif /* vtkHyperTreeGridGhostCellsGenerator */
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store vtkAlgorithm input/output information.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
represent and manipulate cell attribute data
Definition: vtkCellData.h:30
int vtkIdType
Definition: vtkType.h:315
Objects for traversal a HyperTreeGrid.
Generated ghost cells (HyperTree's distributed).
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:28
Superclass for algorithms that produce a hyper tree grid as output.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:54
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...