VTK  9.2.6
vtkAdaptiveDataSetSurfaceFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAdaptiveDataSetSurfaceFilter.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 =========================================================================*/
36 #ifndef vtkAdaptiveDataSetSurfaceFilter_h
37 #define vtkAdaptiveDataSetSurfaceFilter_h
38 
39 #include "vtkFiltersHybridModule.h" // For export macro
40 #include "vtkGeometryFilter.h"
41 
42 class vtkBitArray;
43 class vtkCamera;
44 class vtkHyperTreeGrid;
45 class vtkRenderer;
46 
49 
50 class VTKFILTERSHYBRID_EXPORT vtkAdaptiveDataSetSurfaceFilter : public vtkGeometryFilter
51 {
52 public:
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
58 
61  void SetRenderer(vtkRenderer* ren);
62  vtkGetObjectMacro(Renderer, vtkRenderer);
64 
68  vtkMTimeType GetMTime() override;
69 
71 
74  vtkSetMacro(CircleSelection, bool);
75  vtkGetMacro(CircleSelection, bool);
77 
79 
84  vtkSetMacro(BBSelection, bool);
85  vtkGetMacro(BBSelection, bool);
87 
89 
92  vtkSetMacro(ViewPointDepend, bool);
93  vtkGetMacro(ViewPointDepend, bool);
95 
97 
100  vtkSetMacro(FixedLevelMax, int);
101  vtkGetMacro(FixedLevelMax, int);
103 
105 
110  vtkSetMacro(Scale, double);
111  vtkGetMacro(Scale, double);
113 
115 
120  vtkSetMacro(DynamicDecimateLevelMax, int);
121  vtkGetMacro(DynamicDecimateLevelMax, int);
123 
124 protected:
127 
128  int RequestData(vtkInformation* vtkNotUsed(request), vtkInformationVector** inputVector,
129  vtkInformationVector* outputVector) override;
130  int DataObjectExecute(vtkDataObject* input, vtkPolyData* output);
131  int FillInputPortInformation(int port, vtkInformation* info) override;
132 
136  void ProcessTrees(vtkHyperTreeGrid* input, vtkPolyData* output);
137 
141  void RecursivelyProcessTreeNot3D(vtkHyperTreeGridNonOrientedGeometryCursor*, int);
142  void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight*, int);
143 
147  void ProcessLeaf1D(vtkHyperTreeGridNonOrientedGeometryCursor*);
148 
152  void ProcessLeaf2D(vtkHyperTreeGridNonOrientedGeometryCursor*);
153 
158 
162  void AddFace(vtkIdType, const double*, const double*, int, unsigned int);
163 
166 
170  unsigned int Dimension;
171 
175  unsigned int Orientation;
176 
181 
186 
191 
196 
200  unsigned int Axis1;
201 
205  unsigned int Axis2;
206 
210  int LevelMax;
211 
216 
220  int LastRendererSize[2];
221 
226 
230  double LastCameraFocalPoint[3];
231 
236 
240  double WindowBounds[4];
241 
246 
250  double Radius;
251 
256 
261 
265  double Scale;
266 
271 
272 private:
274  void operator=(const vtkAdaptiveDataSetSurfaceFilter&) = delete;
275 };
276 
277 #endif // vtkAdaptiveDataSetSurfaceFilter_h
unsigned int Axis2
Second axis parameter for adaptive view.
static vtkGeometryFilter * New()
Standard methods for instantiation, type information, and printing.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
unsigned int Dimension
Dimension of input grid.
abstract specification for renderers
Definition: vtkRenderer.h:72
unsigned int Axis1
First axis parameter for adaptive view.
int vtkIdType
Definition: vtkType.h:332
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:90
unsigned int Orientation
Orientation of input grid when dimension < 3.
bool ViewPointDepend
JB Activation de la dependance au point de vue.
int FixedLevelMax
JB Forced, fixed the level depth, ignored automatic determination.
vtkCellArray * Cells
Storage for cells of output unstructured mesh.
Adaptively extract dataset surface.
bool BBSelection
Product cell when in nounding box selection.
bool ParallelProjection
Parallel projection parameter for adaptive view.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
double Radius
Radius parameter for adaptive view.
a simple class to control print indentation
Definition: vtkIndent.h:39
a virtual camera for 3D rendering
Definition: vtkCamera.h:51
virtual vtkMTimeType GetMTime()
Return this object's modified time.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
represent and manipulate attribute data in a dataset
double LastCameraParallelScale
Last camera parallel scale for adaptive view.
vtkPoints * Points
Storage for points of output unstructured mesh.
object to represent cell connectivity
Definition: vtkCellArray.h:186
double Scale
Scale factor for adaptive view.
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:36
int DynamicDecimateLevelMax
JB Decimate level max after automatic determination.
Store zero or more vtkInformation instances.
extract boundary geometry from dataset (or convert data to polygonal type)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
vtkRenderer * Renderer
Pointer to the renderer in use.
general representation of visualization data
Definition: vtkDataObject.h:65
int LevelMax
Maximum depth parameter for adaptive view.
bool CircleSelection
Product cell when in circle selection.
represent and manipulate 3D points
Definition: vtkPoints.h:39