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 
70  static vtkPolyDataPlaneClipper* New();
72  void PrintSelf(ostream& os, vtkIndent indent) override;
74 
78  vtkMTimeType GetMTime() override;
79 
81 
86  void SetPlane(vtkPlane*);
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 
126  vtkPolyData* GetCap();
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:
177  ~vtkPolyDataPlaneClipper() override;
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
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
clip a vtkPolyData with a plane and optionally cap it
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:155
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:90
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual vtkMTimeType GetMTime()
Return this object's modified time.
perform various plane computations
Definition: vtkPlane.h:36
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
vtkSmartPointer< vtkPlane > Plane
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:65
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.