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:
52  static vtkHyperTreeGridGeometry* New();
54  void PrintSelf(ostream&, vtkIndent) override;
55 
57 
62  vtkSetMacro(Merging, bool);
63  vtkGetMacro(Merging, bool);
65 
66 protected:
68  ~vtkHyperTreeGridGeometry() override;
69 
73  int FillOutputPortInformation(int, vtkInformation*) override;
74 
79 
83  void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor*);
84  void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor*, unsigned char);
85 
89  void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor*);
90 
94  void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor*);
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:33
vtkHyperTreeGridNonOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedGeometryCursor.h:56
vtkHyperTreeGridGeometry::FacePoints
vtkPoints * FacePoints
Definition: vtkHyperTreeGridGeometry.h:158
vtkHyperTreeGridGeometry::FaceIDs
vtkIdList * FaceIDs
Definition: vtkHyperTreeGridGeometry.h:157
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkHyperTreeGridGeometry::Mask
vtkBitArray * Mask
material Mask
Definition: vtkHyperTreeGridGeometry.h:113
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:35
vtkHyperTreeGridGeometry::Intercepts
vtkDoubleArray * Intercepts
Definition: vtkHyperTreeGridGeometry.h:155
vtkHyperTreeGridAlgorithm::ProcessTrees
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...
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::PureMask
vtkBitArray * PureMask
Pure Material Mask.
Definition: vtkHyperTreeGridGeometry.h:118
vtkHyperTreeGridAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGridGeometry::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkHyperTreeGridGeometry.h:150
vtkHyperTreeGridGeometry::BranchFactor
int BranchFactor
Branch Factor.
Definition: vtkHyperTreeGridGeometry.h:133
vtkX3D::offset
@ offset
Definition: vtkX3D.h:444
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:33
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:179
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:51
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:30
vtkX3D::size
@ size
Definition: vtkX3D.h:259
vtkHyperTreeGridGeometry::FaceScalarsA
vtkDoubleArray * FaceScalarsA
Definition: vtkHyperTreeGridGeometry.h:166
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkHyperTreeGridGeometry
Hyper tree grid outer surface.
Definition: vtkHyperTreeGridGeometry.h:49
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedVonNeumannSuperCursor.h:45
vtkAlgorithm::New
static vtkAlgorithm * New()
vtkHyperTreeGridGeometry::FacesA
vtkIdTypeArray * FacesA
Definition: vtkHyperTreeGridGeometry.h:163
vtkHyperTreeGridAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:35
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::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:33
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:35
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:59
vtkHyperTreeGridAlgorithm
Superclass for algorithms that produce a hyper tree grid as output.
Definition: vtkHyperTreeGridAlgorithm.h:47
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:96