VTK
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 =========================================================================*/
35 #ifndef vtkAdaptiveDataSetSurfaceFilter_h
36 #define vtkAdaptiveDataSetSurfaceFilter_h
37 
38 #include "vtkFiltersHybridModule.h" // For export macro
40 
41 class vtkBitArray;
42 class vtkCamera;
43 class vtkHyperTreeGrid;
45 class vtkRenderer;
46 
47 class VTKFILTERSHYBRID_EXPORT vtkAdaptiveDataSetSurfaceFilter : public vtkDataSetSurfaceFilter
48 {
49 public:
52  void PrintSelf( ostream&, vtkIndent ) override;
53 
55 
58  void SetRenderer( vtkRenderer* ren );
59  vtkGetObjectMacro(Renderer, vtkRenderer);
61 
65  vtkSetMacro(Scale,double);
66 
70  vtkMTimeType GetMTime() override;
71 
72 protected:
75 
76  int RequestData( vtkInformation* vtkNotUsed(request),
77  vtkInformationVector** inputVector,
78  vtkInformationVector* outputVector ) override;
79  int DataSetExecute( vtkDataSet* input, vtkPolyData* output ) override;
80 
84  void ProcessTrees( vtkHyperTreeGrid* input, vtkPolyData* output );
85 
90 
95 
100 
105 
109  void AddFace( vtkIdType, double*, double*, int, unsigned int );
110 
113 
117  unsigned int Dimension;
118 
122  unsigned int Orientation;
123 
128 
133 
138 
142  double Radius;
143 
147  int Axis1;
148 
152  int Axis2;
153 
157  int LevelMax;
158 
163 
167  int LastRendererSize[2];
168 
172  double LastCameraFocalPoint[3];
173 
178 
182  double Scale;
183 
184 private:
186  void operator = ( const vtkAdaptiveDataSetSurfaceFilter& ) = delete;
187 };
188 
189 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:40
vtkHyperTreeGridCursor
Objects for depth-first traversal HyperTreeGrids.
Definition: vtkHyperTreeGridCursor.h:46
vtkAdaptiveDataSetSurfaceFilter::Orientation
unsigned int Orientation
Orientation of input grid when dimension < 3.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:122
vtkAdaptiveDataSetSurfaceFilter::~vtkAdaptiveDataSetSurfaceFilter
~vtkAdaptiveDataSetSurfaceFilter() override
vtkAdaptiveDataSetSurfaceFilter::InData
vtkDataSetAttributes * InData
Definition: vtkAdaptiveDataSetSurfaceFilter.h:111
vtkAdaptiveDataSetSurfaceFilter
Adaptively extract dataset surface.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:48
vtkAdaptiveDataSetSurfaceFilter::vtkAdaptiveDataSetSurfaceFilter
vtkAdaptiveDataSetSurfaceFilter()
vtkAdaptiveDataSetSurfaceFilter::ParallelProjection
bool ParallelProjection
Parallel projection parameter for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:162
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:60
vtkAdaptiveDataSetSurfaceFilter::Axis2
int Axis2
Second axis parameter for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:152
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkAdaptiveDataSetSurfaceFilter::Points
vtkPoints * Points
Storage for points of output unstructured mesh.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:127
vtkAdaptiveDataSetSurfaceFilter::ProcessLeaf2D
void ProcessLeaf2D(vtkHyperTreeGridCursor *, vtkBitArray *)
Process 2D leaves and issue corresponding faces (quads)
vtkAdaptiveDataSetSurfaceFilter::OutData
vtkDataSetAttributes * OutData
Definition: vtkAdaptiveDataSetSurfaceFilter.h:112
vtkAdaptiveDataSetSurfaceFilter::RecursivelyProcessTree
void RecursivelyProcessTree(vtkHyperTreeGridCursor *, vtkBitArray *, int)
Recursively descend into tree down to leaves.
vtkAdaptiveDataSetSurfaceFilter::DataSetExecute
int DataSetExecute(vtkDataSet *input, vtkPolyData *output) override
vtkAdaptiveDataSetSurfaceFilter::Axis1
int Axis1
First axis parameter for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:147
vtkAdaptiveDataSetSurfaceFilter::ProcessLeaf3D
void ProcessLeaf3D(vtkHyperTreeGridCursor *, vtkBitArray *)
Process 3D leaves and issue corresponding cells (voxels)
vtkAdaptiveDataSetSurfaceFilter::ProcessTrees
void ProcessTrees(vtkHyperTreeGrid *input, vtkPolyData *output)
Main routine to generate external boundary.
vtkDataSetSurfaceFilter
Extracts outer (polygonal) surface.
Definition: vtkDataSetSurfaceFilter.h:53
vtkAdaptiveDataSetSurfaceFilter::New
static vtkAdaptiveDataSetSurfaceFilter * New()
vtkAdaptiveDataSetSurfaceFilter::LastCameraParallelScale
double LastCameraParallelScale
Last camera parallel scale for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:177
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:51
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:51
vtkAdaptiveDataSetSurfaceFilter::Renderer
vtkRenderer * Renderer
Pointer to the renderer in use.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:137
vtkAdaptiveDataSetSurfaceFilter::LevelMax
int LevelMax
Maximum depth parameter for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:157
vtkAdaptiveDataSetSurfaceFilter::PrintSelf
void PrintSelf(ostream &, vtkIndent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkAdaptiveDataSetSurfaceFilter::Cells
vtkCellArray * Cells
Storage for cells of output unstructured mesh.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:132
vtkAdaptiveDataSetSurfaceFilter::RequestData
int RequestData(vtkInformation *vtkNotUsed(request), vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkAdaptiveDataSetSurfaceFilter::Radius
double Radius
Radius parameter for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:142
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
vtkBitArray
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:37
vtkAdaptiveDataSetSurfaceFilter::Scale
double Scale
Scale factor for adaptive view.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:182
vtkAdaptiveDataSetSurfaceFilter::SetRenderer
void SetRenderer(vtkRenderer *ren)
Set/Get the renderer attached to this adaptive surface extractor.
vtkAdaptiveDataSetSurfaceFilter::ProcessLeaf1D
void ProcessLeaf1D(vtkHyperTreeGridCursor *)
Process 1D leaves and issue corresponding edges (lines)
vtkAdaptiveDataSetSurfaceFilter::Dimension
unsigned int Dimension
Dimension of input grid.
Definition: vtkAdaptiveDataSetSurfaceFilter.h:117
vtkAdaptiveDataSetSurfaceFilter::AddFace
void AddFace(vtkIdType, double *, double *, int, unsigned int)
Helper method to generate a face based on its normal and offset from cursor origin.
vtkAdaptiveDataSetSurfaceFilter::GetMTime
vtkMTimeType GetMTime() override
Get the mtime of this object.
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition: vtkHyperTreeGrid.h:71
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
vtkDataSetSurfaceFilter.h