VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
27 #ifndef __vtkHyperOctreeSurfaceFilter_h
28 #define __vtkHyperOctreeSurfaceFilter_h
29 
30 #include "vtkFiltersHyperTreeModule.h" // For export macro
31 #include "vtkPolyDataAlgorithm.h"
32 
34 class vtkDataSetAttributes;
35 class vtkIdTypeArray;
37 
38 class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeSurfaceFilter : public vtkPolyDataAlgorithm
39 {
40 public:
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
46 
49  vtkSetMacro(Merging,int);
50  vtkGetMacro(Merging,int);
51  vtkBooleanMacro(Merging,int);
53 
55 
57  void SetLocator(vtkIncrementalPointLocator *locator);
58  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
60 
62  unsigned long GetMTime();
63 
65 
69  vtkSetMacro(PassThroughCellIds,int);
70  vtkGetMacro(PassThroughCellIds,int);
71  vtkBooleanMacro(PassThroughCellIds,int);
73 
74 protected:
77 
78  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
79  virtual int FillInputPortInformation(int port, vtkInformation *info);
80 
81  void GenerateLines(double bounds[2],
82  vtkIdType ptIds[2]);
83  void GenerateQuads(double bounds[4],
84  vtkIdType ptIds[4]);
85  void GenerateFaces(double bounds[6],
86  vtkIdType ptIds[8],
87  int onFace[6]);
88 
90  void CreateDefaultLocator();
91 
92  int Merging;
94 
95  // Variables used by generate recursively.
96  // It avoids to pass to much argument.
97  vtkDataSetAttributes *InputCD;
98 
100  vtkPoints *OutPts;
103 
105  void RecordOrigCellId(vtkIdType destIndex, vtkIdType originalId);
106  vtkIdTypeArray *OriginalCellIds;
107 
108 private:
109  vtkHyperOctreeSurfaceFilter(const vtkHyperOctreeSurfaceFilter&); // Not implemented.
110  void operator=(const vtkHyperOctreeSurfaceFilter&); // Not implemented.
111 };
112 
113 #endif
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
represent and manipulate cell attribute data
Definition: vtkCellData.h:37
Abstract class in support of both point location and point insertion.
static vtkPolyDataAlgorithm * New()
vtkIncrementalPointLocator * Locator
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
Objects that can traverse hyperoctree nodes.
object to represent cell connectivity
Definition: vtkCellArray.h:49
Extracts outer (polygonal) surface.