VTK  9.2.6
vtkPolyDataPlaneClipper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPolyDataPlaneClipper.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 =========================================================================*/
54 #ifndef vtkPolyDataPlaneClipper_h
55 #define vtkPolyDataPlaneClipper_h
56 
57 #include "vtkFiltersCoreModule.h" // For export macro
58 #include "vtkPlane.h" // For clipping plane
59 #include "vtkPolyDataAlgorithm.h"
60 #include "vtkPolyDataPlaneCutter.h" // For CanFullyProcessDataObject() method
61 #include "vtkSmartPointer.h" // For SmartPointer
62 
63 class VTKFILTERSCORE_EXPORT vtkPolyDataPlaneClipper : public vtkPolyDataAlgorithm
64 {
65 public:
67 
72  void PrintSelf(ostream& os, vtkIndent indent) override;
74 
78  vtkMTimeType GetMTime() override;
79 
81 
87  vtkGetObjectMacro(Plane, vtkPlane);
89 
91 
99  vtkSetMacro(ClippingLoops, bool);
100  vtkGetMacro(ClippingLoops, bool);
101  vtkBooleanMacro(ClippingLoops, bool);
103 
105 
114  vtkSetMacro(Capping, bool);
115  vtkGetMacro(Capping, bool);
116  vtkBooleanMacro(Capping, bool);
118 
127 
129 
134  vtkSetMacro(PassCapPointData, bool);
135  vtkGetMacro(PassCapPointData, bool);
136  vtkBooleanMacro(PassCapPointData, bool);
138 
140 
146  vtkSetMacro(OutputPointsPrecision, int);
147  vtkGetMacro(OutputPointsPrecision, int);
149 
151 
157  vtkSetClampMacro(BatchSize, unsigned int, 1, VTK_INT_MAX);
158  vtkGetMacro(BatchSize, unsigned int);
160 
171  {
173  }
174 
175 protected:
178 
181  bool Capping;
184  unsigned int BatchSize;
185 
186  // Pipeline-related methods
188 
189 private:
191  void operator=(const vtkPolyDataPlaneClipper&) = delete;
192 };
193 
194 #endif
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
perform various plane computations
Definition: vtkPlane.h:146
Superclass for algorithms that produce only polydata as output.
clip a vtkPolyData with a plane and optionally cap it
vtkPolyData * GetCap()
Get the output dataset representing the clipping loops and capping polygons.
void SetPlane(vtkPlane *)
Specify the plane (an implicit function) to perform the clipping.
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
~vtkPolyDataPlaneClipper() override
void PrintSelf(ostream &os, vtkIndent indent) override
Standard construction, type, and print methods.
vtkMTimeType GetMTime() override
The modified time depends on the delegated clipping plane.
static vtkPolyDataPlaneClipper * New()
Standard construction, type, and print methods.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkSmartPointer< vtkPlane > Plane
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:200
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_INT_MAX
Definition: vtkType.h:155