VTK: Filters/HyperTree/vtkHyperTreeGridGeometry.h Source File

| 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
26 #include "vtkHyperTreeGridAlgorithm.h"
27
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkBitArray;
30 class vtkCellArray;
31 class vtkDoubleArray;
32 class vtkHyperTreeGrid;
33 class vtkHyperTreeGridNonOrientedGeometryCursor;
34 class vtkHyperTreeGridNonOrientedVonNeumannSuperCursor;
35 class vtkIdList;
36 class vtkIdTypeArray;
37 class vtkIncrementalPointLocator;
38 class vtkPoints;
39 class vtkUnsignedCharArray;
40
41 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGeometry : public vtkHyperTreeGridAlgorithm
42 {
43 public:
44 static vtkHyperTreeGridGeometry* New();
45 vtkTypeMacro(vtkHyperTreeGridGeometry, vtkHyperTreeGridAlgorithm);
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:
85 vtkHyperTreeGridGeometry();
86 ~vtkHyperTreeGridGeometry() override;
87
91 int FillOutputPortInformation(int, vtkInformation*) override;
92
96 int ProcessTrees(vtkHyperTreeGrid*, vtkDataObject*) override;
97
101 void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor*);
102 void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor*, unsigned char);
103
107 void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor*);
108
112 void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor*);
113
117 void ProcessLeaf3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor*);
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
131 vtkBitArray* Mask;
132
136 vtkBitArray* PureMask;
137
141 unsigned int Dimension;
142
146 unsigned int Orientation;
147
151 int BranchFactor;
152
156 vtkPoints* Points;
157
161 vtkCellArray* Cells;
162
168 bool PassThroughCellIds = false;
169
173 std::string OriginalCellIdArrayName = "vtkOriginalCellIds";
174
179 bool Merging;
180 vtkIncrementalPointLocator* Locator;
181
182 // JB A RECUPERER DANS LE .H VTK9
183 bool HasInterface;
184 vtkDoubleArray* Normals;
185 vtkDoubleArray* Intercepts;
186
187 vtkIdList* FaceIDs;
188 vtkPoints* FacePoints;
189
190 vtkIdType EdgesA[12];
191 vtkIdType EdgesB[12];
192
193 vtkIdTypeArray* FacesA;
194 vtkIdTypeArray* FacesB;
195
196 vtkDoubleArray* FaceScalarsA;
197 vtkDoubleArray* FaceScalarsB;
198
203 vtkUnsignedCharArray* EdgeFlags;
204
205 private:
206 vtkHyperTreeGridGeometry(const vtkHyperTreeGridGeometry&) = delete;
207 void operator=(const vtkHyperTreeGridGeometry&) = delete;
208 };
209
210 VTK_ABI_NAMESPACE_END
211 #endif /* vtkHyperTreeGridGeometry_h */
vtkBitArray
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:29
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:185
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:40
vtkHyperTreeGridAlgorithm
Superclass for algorithms that produce a hyper tree grid as output.
Definition: vtkHyperTreeGridAlgorithm.h:37
vtkHyperTreeGridGeometry
Hyper tree grid outer surface.
Definition: vtkHyperTreeGridGeometry.h:42
vtkHyperTreeGridGeometry::New
static vtkHyperTreeGridGeometry * New()
vtkHyperTreeGridGeometry::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
For this algorithm the output is a vtkPolyData instance.
vtkHyperTreeGridGeometry::FacePoints
vtkPoints * FacePoints
Definition: vtkHyperTreeGridGeometry.h:188
vtkHyperTreeGridGeometry::BranchFactor
int BranchFactor
Branch Factor.
Definition: vtkHyperTreeGridGeometry.h:151
vtkHyperTreeGridGeometry::PureMask
vtkBitArray * PureMask
Pure Material Mask.
Definition: vtkHyperTreeGridGeometry.h:136
vtkHyperTreeGridGeometry::FaceScalarsB
vtkDoubleArray * FaceScalarsB
Definition: vtkHyperTreeGridGeometry.h:197
vtkHyperTreeGridGeometry::AddFace2
void AddFace2(vtkIdType inId, vtkIdType useId, const double *origin, const double *size, unsigned int offset, unsigned int orientation, bool create=true)
vtkHyperTreeGridGeometry::Intercepts
vtkDoubleArray * Intercepts
Definition: vtkHyperTreeGridGeometry.h:185
vtkHyperTreeGridGeometry::ProcessLeaf1D
void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Process 1D leaves and issue corresponding edges (lines)
vtkHyperTreeGridGeometry::RecursivelyProcessTreeNot3D
void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Recursively descend into tree down to leaves.
vtkHyperTreeGridGeometry::RecursivelyProcessTree3D
void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *, unsigned char)
vtkHyperTreeGridGeometry::FaceScalarsA
vtkDoubleArray * FaceScalarsA
Definition: vtkHyperTreeGridGeometry.h:196
vtkHyperTreeGridGeometry::Merging
bool Merging
JB Un locator est utilise afin de produire un maillage avec moins JB de points.
Definition: vtkHyperTreeGridGeometry.h:179
vtkHyperTreeGridGeometry::AddFace
void AddFace(vtkIdType useId, const double *origin, const double *size, unsigned int offset, unsigned int orientation, unsigned char hideEdge)
Helper method to generate a face based on its normal and offset from cursor origin.
vtkHyperTreeGridGeometry::Normals
vtkDoubleArray * Normals
Definition: vtkHyperTreeGridGeometry.h:184
vtkHyperTreeGridGeometry::FacesA
vtkIdTypeArray * FacesA
Definition: vtkHyperTreeGridGeometry.h:193
vtkHyperTreeGridGeometry::FacesB
vtkIdTypeArray * FacesB
Definition: vtkHyperTreeGridGeometry.h:194
vtkHyperTreeGridGeometry::~vtkHyperTreeGridGeometry
~vtkHyperTreeGridGeometry() override
vtkHyperTreeGridGeometry::vtkHyperTreeGridGeometry
vtkHyperTreeGridGeometry()
vtkHyperTreeGridGeometry::Points
vtkPoints * Points
Storage for points of output unstructured mesh.
Definition: vtkHyperTreeGridGeometry.h:156
vtkHyperTreeGridGeometry::HasInterface
bool HasInterface
Definition: vtkHyperTreeGridGeometry.h:183
vtkHyperTreeGridGeometry::ProcessLeaf2D
void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Process 2D leaves and issue corresponding faces (quads)
vtkHyperTreeGridGeometry::Cells
vtkCellArray * Cells
Storage for cells of output unstructured mesh.
Definition: vtkHyperTreeGridGeometry.h:161
vtkHyperTreeGridGeometry::Mask
vtkBitArray * Mask
material Mask
Definition: vtkHyperTreeGridGeometry.h:131
vtkHyperTreeGridGeometry::Orientation
unsigned int Orientation
Orientation of input grid when dimension < 3.
Definition: vtkHyperTreeGridGeometry.h:146
vtkHyperTreeGridGeometry::Dimension
unsigned int Dimension
Dimension of input grid.
Definition: vtkHyperTreeGridGeometry.h:141
vtkHyperTreeGridGeometry::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkHyperTreeGridGeometry.h:180
vtkHyperTreeGridGeometry::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGridGeometry::ProcessLeaf3D
void ProcessLeaf3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *)
Process 3D leaves and issue corresponding cells (voxels)
vtkHyperTreeGridGeometry::ProcessTrees
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main routine to generate external boundary.
vtkHyperTreeGridGeometry::FaceIDs
vtkIdList * FaceIDs
Definition: vtkHyperTreeGridGeometry.h:187
vtkHyperTreeGridGeometry::EdgeFlags
vtkUnsignedCharArray * EdgeFlags
Array used to hide edges left by masked cells.
Definition: vtkHyperTreeGridGeometry.h:203
vtkHyperTreeGridNonOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedGeometryCursor.h:52
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedVonNeumannSuperCursor.h:42
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition: vtkHyperTreeGrid.h:91
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:32
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:37
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:38
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:40
vtkX3D::orientation
@ orientation
Definition: vtkX3D.h:262
vtkX3D::size
@ size
Definition: vtkX3D.h:253
vtkX3D::offset
@ offset
Definition: vtkX3D.h:438
vtkX3D::string
@ string
Definition: vtkX3D.h:490
vtkHyperTreeGridAlgorithm.h
vtkIdType
int vtkIdType
Definition: vtkType.h:315