VTK  9.7.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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
44 
45 VTK_ABI_NAMESPACE_BEGIN
46 class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkPolyDataPlaneCutter : public vtkPolyDataAlgorithm
47 {
48 public:
50 
53  static vtkPolyDataPlaneCutter* New();
55  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
64  void SetPlane(vtkPlane*);
65  vtkGetObjectMacro(Plane, vtkPlane);
67 
69 
74  vtkSetMacro(ComputeNormals, bool);
75  vtkGetMacro(ComputeNormals, bool);
76  vtkBooleanMacro(ComputeNormals, bool);
78 
80 
85  vtkSetMacro(InterpolateAttributes, bool);
86  vtkGetMacro(InterpolateAttributes, bool);
87  vtkBooleanMacro(InterpolateAttributes, bool);
89 
91 
97  vtkSetMacro(OutputPointsPrecision, int);
98  vtkGetMacro(OutputPointsPrecision, int);
100 
104  vtkMTimeType GetMTime() override;
105 
107 
114  vtkSetClampMacro(BatchSize, unsigned int, 1, VTK_INT_MAX);
115  vtkGetMacro(BatchSize, unsigned int);
117 
127  static bool CanFullyProcessDataObject(vtkDataObject* object);
128 
129 protected:
131  ~vtkPolyDataPlaneCutter() override;
132 
137  unsigned int BatchSize;
138 
139  // Pipeline-related methods
141 
142 private:
144  void operator=(const vtkPolyDataPlaneCutter&) = delete;
145 };
146 VTK_ABI_NAMESPACE_END
147 
148 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:192
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:31
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
general representation of visualization data
Definition: vtkDataObject.h:55
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.