VTK
vtkPlaneCutter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlaneCutter.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 =========================================================================*/
59 #ifndef vtkPlaneCutter_h
60 #define vtkPlaneCutter_h
61 
62 #include "vtkFiltersCoreModule.h" // For export macro
63 #include "vtkDataSetAlgorithm.h"
64 
65 class vtkPlane;
66 class vtkImageData;
67 class vtkStructuredGrid;
69 class vtkSphereTree;
70 class vtkPoints;
71 class vtkCellArray;
72 class vtkPointData;
73 class vtkCellData;
74 
75 class VTKFILTERSCORE_EXPORT vtkPlaneCutter : public vtkDataSetAlgorithm
76 {
77 public:
79 
82  static vtkPlaneCutter *New();
84  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
86 
90  vtkMTimeType GetMTime() VTK_OVERRIDE;
91 
93 
98  virtual void SetPlane(vtkPlane*);
99  vtkGetObjectMacro(Plane,vtkPlane);
101 
103 
109  vtkSetMacro(ComputeNormals,int);
110  vtkGetMacro(ComputeNormals,int);
111  vtkBooleanMacro(ComputeNormals,int);
113 
115 
120  vtkSetMacro(InterpolateAttributes,int);
121  vtkGetMacro(InterpolateAttributes,int);
122  vtkBooleanMacro(InterpolateAttributes,int);
124 
128  int ProcessRequest(vtkInformation*, vtkInformationVector**,
129  vtkInformationVector*) VTK_OVERRIDE;
130 
136  vtkGetObjectMacro(SphereTree,vtkSphereTree);
137 
138 protected:
139  vtkPlaneCutter();
140  ~vtkPlaneCutter() VTK_OVERRIDE;
141 
142  vtkPlane *Plane;
143  int ComputeNormals;
144  int InterpolateAttributes;
145 
146  // Helpers
147  vtkSphereTree *SphereTree;
148 
149  // Pipeline-related methods
150  int RequestDataObject(vtkInformation *, vtkInformationVector **,
151  vtkInformationVector *) VTK_OVERRIDE;
152  int RequestData(vtkInformation *, vtkInformationVector **,
153  vtkInformationVector *) VTK_OVERRIDE;
154  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
155  vtkInformationVector *) VTK_OVERRIDE;
156  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
157  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
158 
159 private:
160  vtkPlaneCutter(const vtkPlaneCutter&) VTK_DELETE_FUNCTION;
161  void operator=(const vtkPlaneCutter&) VTK_DELETE_FUNCTION;
162 };
163 
164 #endif
represent and manipulate point attribute data
Definition: vtkPointData.h:31
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
represent and manipulate cell attribute data
Definition: vtkCellData.h:32
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:33
cut any dataset with a plane and generate a polygonal cut surface
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
dataset represents arbitrary combinations of all possible cell types
virtual vtkMTimeType GetMTime()
Return this object's modified time.
perform various plane computations
Definition: vtkPlane.h:31
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
object to represent cell connectivity
Definition: vtkCellArray.h:44
topologically regular array of data
class to build and traverse sphere trees
Definition: vtkSphereTree.h:70
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkDataSetAlgorithm * New()
represent and manipulate 3D points
Definition: vtkPoints.h:33