VTK  9.3.1
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 
52  static vtkPolyDataPlaneCutter* New();
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
58 
63  void SetPlane(vtkPlane*);
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 
126  static bool CanFullyProcessDataObject(vtkDataObject* object);
127 
128 protected:
130  ~vtkPolyDataPlaneCutter() override;
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
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:144
threaded (high-performance) cutting of a vtkPolyData with a plane
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkSmartPointer< vtkPlane > Plane
perform various plane computations
Definition: vtkPlane.h:25
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:54
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.