VTK  9.3.20240419
vtkPolyDataPlaneCutter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
36 #ifndef vtkPolyDataPlaneCutter_h
37 #define vtkPolyDataPlaneCutter_h
38 
39 #include "vtkFiltersCoreModule.h" // For export macro
40 #include "vtkPlane.h" // For cutting plane
41 #include "vtkPolyDataAlgorithm.h"
42 #include "vtkSmartPointer.h" // For SmartPointer
43 
44 VTK_ABI_NAMESPACE_BEGIN
45 class VTKFILTERSCORE_EXPORT vtkPolyDataPlaneCutter : public vtkPolyDataAlgorithm
46 {
47 public:
49 
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
58 
64  vtkGetObjectMacro(Plane, vtkPlane);
66 
68 
73  vtkSetMacro(ComputeNormals, bool);
74  vtkGetMacro(ComputeNormals, bool);
75  vtkBooleanMacro(ComputeNormals, bool);
77 
79 
84  vtkSetMacro(InterpolateAttributes, bool);
85  vtkGetMacro(InterpolateAttributes, bool);
86  vtkBooleanMacro(InterpolateAttributes, bool);
88 
90 
96  vtkSetMacro(OutputPointsPrecision, int);
97  vtkGetMacro(OutputPointsPrecision, int);
99 
103  vtkMTimeType GetMTime() override;
104 
106 
113  vtkSetClampMacro(BatchSize, unsigned int, 1, VTK_INT_MAX);
114  vtkGetMacro(BatchSize, unsigned int);
116 
127 
128 protected:
131 
136  unsigned int BatchSize;
137 
138  // Pipeline-related methods
140 
141 private:
143  void operator=(const vtkPolyDataPlaneCutter&) = delete;
144 };
145 VTK_ABI_NAMESPACE_END
146 
147 #endif
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
perform various plane computations
Definition: vtkPlane.h:135
Superclass for algorithms that produce only polydata as output.
threaded (high-performance) cutting of a vtkPolyData with a plane
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkPolyDataPlaneCutter() override
static vtkPolyDataPlaneCutter * New()
Standard construction, type, and print methods.
vtkSmartPointer< vtkPlane > Plane
void SetPlane(vtkPlane *)
Specify the plane (an implicit function) to perform the cutting.
vtkMTimeType GetMTime() override
The modified time depends on the delegated cutting plane.
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard construction, type, and print methods.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
#define VTK_INT_MAX
Definition: vtkType.h:144