VTK
vtkHyperOctreeSurfaceFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperOctreeSurfaceFilter.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 =========================================================================*/
25 #ifndef vtkHyperOctreeSurfaceFilter_h
26 #define vtkHyperOctreeSurfaceFilter_h
27 
28 #include "vtkFiltersHyperTreeModule.h" // For export macro
29 #include "vtkPolyDataAlgorithm.h"
30 
33 class vtkIdTypeArray;
35 
36 class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeSurfaceFilter : public vtkPolyDataAlgorithm
37 {
38 public:
41  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
42 
44 
49  vtkSetMacro(Merging,int);
50  vtkGetMacro(Merging,int);
51  vtkBooleanMacro(Merging,int);
53 
55 
59  void SetLocator(vtkIncrementalPointLocator *locator);
60  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
62 
66  vtkMTimeType GetMTime() VTK_OVERRIDE;
67 
69 
75  vtkSetMacro(PassThroughCellIds,int);
76  vtkGetMacro(PassThroughCellIds,int);
77  vtkBooleanMacro(PassThroughCellIds,int);
79 
80 protected:
82  ~vtkHyperOctreeSurfaceFilter() VTK_OVERRIDE;
83 
84  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
85  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
86 
87  void GenerateLines(double bounds[2],
88  vtkIdType ptIds[2]);
89  void GenerateQuads(double bounds[4],
90  vtkIdType ptIds[4]);
91  void GenerateFaces(double bounds[6],
92  vtkIdType ptIds[8],
93  int onFace[6]);
94 
98  void CreateDefaultLocator();
99 
100  int Merging;
102 
103  // Variables used by generate recursively.
104  // It avoids to pass to much argument.
106 
108  vtkPoints *OutPts;
109  vtkCellArray *OutCells;
110  vtkCellData *OutputCD;
111 
112  int PassThroughCellIds;
113  void RecordOrigCellId(vtkIdType destIndex, vtkIdType originalId);
114  vtkIdTypeArray *OriginalCellIds;
115 
116 private:
117  vtkHyperOctreeSurfaceFilter(const vtkHyperOctreeSurfaceFilter&) VTK_DELETE_FUNCTION;
118  void operator=(const vtkHyperOctreeSurfaceFilter&) VTK_DELETE_FUNCTION;
119 };
120 
121 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
represent and manipulate cell attribute data
Definition: vtkCellData.h:32
Abstract class in support of both point location and point insertion.
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:345
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual vtkMTimeType GetMTime()
Return this object's modified time.
represent and manipulate attribute data in a dataset
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Objects that can traverse hyperoctree nodes.
object to represent cell connectivity
Definition: vtkCellArray.h:44
Extracts outer (polygonal) surface.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
represent and manipulate 3D points
Definition: vtkPoints.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.