VTK  9.0.1
vtkHyperTreeGridGeometry.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTreeGridGeometry.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
31 #ifndef vtkHyperTreeGridGeometry_h
32 #define vtkHyperTreeGridGeometry_h
33 
34 #include "vtkFiltersHyperTreeModule.h" // For export macro
36 
37 class vtkBitArray;
38 class vtkCellArray;
39 class vtkHyperTreeGrid;
40 class vtkPoints;
42 class vtkDoubleArray;
45 class vtkIdList;
46 class vtkIdTypeArray;
48 
49 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGeometry : public vtkHyperTreeGridAlgorithm
50 {
51 public:
54  void PrintSelf(ostream&, vtkIndent) override;
55 
57 
62  vtkSetMacro(Merging, bool);
63  vtkGetMacro(Merging, bool);
65 
66 protected:
69 
74 
79 
85 
90 
95 
100 
104  void AddFace(vtkIdType useId, const double* origin, const double* size, unsigned int offset,
105  unsigned int orientation, unsigned char hideEdge);
106 
107  void AddFace2(vtkIdType inId, vtkIdType useId, const double* origin, const double* size,
108  unsigned int offset, unsigned int orientation, bool create = true);
109 
114 
119 
123  unsigned int Dimension;
124 
128  unsigned int Orientation;
129 
134 
139 
144 
149  bool Merging;
151 
152  // JB A RECUPERER DANS LE .H VTK9
156 
159 
160  vtkIdType EdgesA[12];
161  vtkIdType EdgesB[12];
162 
165 
168 
174 
175 private:
177  void operator=(const vtkHyperTreeGridGeometry&) = delete;
178 };
179 
180 #endif /* vtkHyperTreeGridGeometry_h */
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:34
vtkHyperTreeGridGeometry::~vtkHyperTreeGridGeometry
~vtkHyperTreeGridGeometry() override
vtkHyperTreeGridGeometry::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
For this algorithm the output is a vtkPolyData instance.
vtkHyperTreeGridNonOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedGeometryCursor.h:57
vtkHyperTreeGridGeometry::FacePoints
vtkPoints * FacePoints
Definition: vtkHyperTreeGridGeometry.h:158
vtkHyperTreeGridGeometry::FaceIDs
vtkIdList * FaceIDs
Definition: vtkHyperTreeGridGeometry.h:157
vtkHyperTreeGridGeometry::AddFace2
void AddFace2(vtkIdType inId, vtkIdType useId, const double *origin, const double *size, unsigned int offset, unsigned int orientation, bool create=true)
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.
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkHyperTreeGridGeometry::vtkHyperTreeGridGeometry
vtkHyperTreeGridGeometry()
vtkHyperTreeGridGeometry::Mask
vtkBitArray * Mask
material Mask
Definition: vtkHyperTreeGridGeometry.h:113
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:36
vtkHyperTreeGridGeometry::Intercepts
vtkDoubleArray * Intercepts
Definition: vtkHyperTreeGridGeometry.h:155
vtkHyperTreeGridAlgorithm.h
vtkHyperTreeGridGeometry::Normals
vtkDoubleArray * Normals
Definition: vtkHyperTreeGridGeometry.h:154
vtkHyperTreeGridGeometry::Points
vtkPoints * Points
Storage for points of output unstructured mesh.
Definition: vtkHyperTreeGridGeometry.h:138
vtkHyperTreeGridGeometry::New
static vtkHyperTreeGridGeometry * New()
vtkHyperTreeGridGeometry::PureMask
vtkBitArray * PureMask
Pure Material Mask.
Definition: vtkHyperTreeGridGeometry.h:118
vtkHyperTreeGridGeometry::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkHyperTreeGridGeometry.h:150
vtkHyperTreeGridGeometry::RecursivelyProcessTreeNot3D
void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Recursively descend into tree down to leaves.
vtkHyperTreeGridGeometry::BranchFactor
int BranchFactor
Branch Factor.
Definition: vtkHyperTreeGridGeometry.h:133
vtkHyperTreeGridGeometry::RecursivelyProcessTree3D
void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *, unsigned char)
vtkX3D::offset
@ offset
Definition: vtkX3D.h:444
vtkHyperTreeGridGeometry::ProcessLeaf3D
void ProcessLeaf3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *)
Process 3D leaves and issue corresponding cells (voxels)
vtkHyperTreeGridGeometry::Merging
bool Merging
JB Un locator est utilise afin de produire un maillage avec moins JB de points.
Definition: vtkHyperTreeGridGeometry.h:149
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:180
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:52
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:31
vtkX3D::size
@ size
Definition: vtkX3D.h:259
vtkHyperTreeGridGeometry::PrintSelf
void PrintSelf(ostream &, vtkIndent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGridGeometry::FaceScalarsA
vtkDoubleArray * FaceScalarsA
Definition: vtkHyperTreeGridGeometry.h:166
vtkHyperTreeGridGeometry::ProcessLeaf1D
void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Process 1D leaves and issue corresponding edges (lines)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:65
vtkHyperTreeGridGeometry
Hyper tree grid outer surface.
Definition: vtkHyperTreeGridGeometry.h:50
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedVonNeumannSuperCursor.h:47
vtkHyperTreeGridGeometry::FacesA
vtkIdTypeArray * FacesA
Definition: vtkHyperTreeGridGeometry.h:163
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:36
vtkX3D::orientation
@ orientation
Definition: vtkX3D.h:268
vtkHyperTreeGridGeometry::Dimension
unsigned int Dimension
Dimension of input grid.
Definition: vtkHyperTreeGridGeometry.h:123
vtkHyperTreeGridGeometry::FaceScalarsB
vtkDoubleArray * FaceScalarsB
Definition: vtkHyperTreeGridGeometry.h:167
vtkHyperTreeGridGeometry::HasInterface
bool HasInterface
Definition: vtkHyperTreeGridGeometry.h:153
vtkHyperTreeGridGeometry::ProcessLeaf2D
void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor *)
Process 2D leaves and issue corresponding faces (quads)
vtkHyperTreeGridGeometry::Orientation
unsigned int Orientation
Orientation of input grid when dimension < 3.
Definition: vtkHyperTreeGridGeometry.h:128
vtkBitArray
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:34
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:36
vtkHyperTreeGridGeometry::ProcessTrees
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main routine to generate external boundary.
vtkHyperTreeGridGeometry::Cells
vtkCellArray * Cells
Storage for cells of output unstructured mesh.
Definition: vtkHyperTreeGridGeometry.h:143
vtkHyperTreeGridGeometry::EdgeFlags
vtkUnsignedCharArray * EdgeFlags
Array used to hide edges left by masked cells.
Definition: vtkHyperTreeGridGeometry.h:173
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:60
vtkHyperTreeGridAlgorithm
Superclass for algorithms that produce a hyper tree grid as output.
Definition: vtkHyperTreeGridAlgorithm.h:48
vtkHyperTreeGridGeometry::FacesB
vtkIdTypeArray * FacesB
Definition: vtkHyperTreeGridGeometry.h:164
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition: vtkHyperTreeGrid.h:97