VTK  9.3.1
vtkHyperTreeGridGeometry.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
22 #ifndef vtkHyperTreeGridGeometry_h
23 #define vtkHyperTreeGridGeometry_h
24 
25 #include "vtkFiltersHyperTreeModule.h" // For export macro
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkBitArray;
30 class vtkCellArray;
31 class vtkDoubleArray;
32 class vtkHyperTreeGrid;
35 class vtkIdList;
36 class vtkIdTypeArray;
38 class vtkPoints;
40 
41 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGeometry : public vtkHyperTreeGridAlgorithm
42 {
43 public:
44  static vtkHyperTreeGridGeometry* New();
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
54  vtkSetMacro(Merging, bool);
55  vtkGetMacro(Merging, bool);
57 
59 
68  vtkSetMacro(PassThroughCellIds, bool);
69  vtkGetMacro(PassThroughCellIds, bool);
70  vtkBooleanMacro(PassThroughCellIds, bool);
71 
80  vtkSetMacro(OriginalCellIdArrayName, std::string);
81  vtkGetMacro(OriginalCellIdArrayName, std::string);
83 
84 protected:
86  ~vtkHyperTreeGridGeometry() override;
87 
91  int FillOutputPortInformation(int, vtkInformation*) override;
92 
97 
101  void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor*);
102  void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor*, unsigned char);
103 
107  void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor*);
108 
112  void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor*);
113 
118 
122  void AddFace(vtkIdType useId, const double* origin, const double* size, unsigned int offset,
123  unsigned int orientation, unsigned char hideEdge);
124 
125  void AddFace2(vtkIdType inId, vtkIdType useId, const double* origin, const double* size,
126  unsigned int offset, unsigned int orientation, bool create = true);
127 
132 
137 
141  unsigned int Dimension;
142 
146  unsigned int Orientation;
147 
152 
157 
162 
168  bool PassThroughCellIds = false;
169 
173  std::string OriginalCellIdArrayName = "vtkOriginalCellIds";
174 
179  bool Merging;
181 
182  // JB A RECUPERER DANS LE .H VTK9
186 
189 
190  vtkIdType EdgesA[12];
191  vtkIdType EdgesB[12];
192 
195 
198 
204 
205 private:
207  void operator=(const vtkHyperTreeGridGeometry&) = delete;
208 };
209 
210 VTK_ABI_NAMESPACE_END
211 #endif /* vtkHyperTreeGridGeometry_h */
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store vtkAlgorithm input/output information.
bool Merging
JB Un locator est utilise afin de produire un maillage avec moins JB de points.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
unsigned int Dimension
Dimension of input grid.
Abstract class in support of both point location and point insertion.
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:315
Hyper tree grid outer surface.
dynamic, self-adjusting array of double
vtkBitArray * PureMask
Pure Material Mask.
vtkUnsignedCharArray * EdgeFlags
Array used to hide edges left by masked cells.
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.
list of point or cell ids
Definition: vtkIdList.h:22
dynamic, self-adjusting array of unsigned char
vtkBitArray * Mask
material Mask
object to represent cell connectivity
Definition: vtkCellArray.h:175
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:28
Superclass for algorithms that produce a hyper tree grid as output.
vtkPoints * Points
Storage for points of output unstructured mesh.
static vtkAlgorithm * New()
unsigned int Orientation
Orientation of input grid when dimension < 3.
vtkCellArray * Cells
Storage for cells of output unstructured mesh.
general representation of visualization data
Definition: vtkDataObject.h:54
represent and manipulate 3D points
Definition: vtkPoints.h:28
vtkIncrementalPointLocator * Locator
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...