VTK: Filters/Core/vtkPolyDataPlaneCutter.h Source File

| 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();
53 vtkTypeMacro(vtkPolyDataPlaneCutter, vtkPolyDataAlgorithm);
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:
129 vtkPolyDataPlaneCutter();
130 ~vtkPolyDataPlaneCutter() override;
131
132 vtkSmartPointer<vtkPlane> Plane;
133 bool ComputeNormals;
134 bool InterpolateAttributes;
135 int OutputPointsPrecision;
136 unsigned int BatchSize;
137
138 // Pipeline-related methods
139 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
140
141 private:
142 vtkPolyDataPlaneCutter(const vtkPolyDataPlaneCutter&) = delete;
143 void operator=(const vtkPolyDataPlaneCutter&) = delete;
144 };
145 VTK_ABI_NAMESPACE_END
146
147 #endif
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkPlane
perform various plane computations
Definition: vtkPlane.h:35
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:43
vtkPolyDataPlaneCutter
threaded (high-performance) cutting of a vtkPolyData with a plane
Definition: vtkPolyDataPlaneCutter.h:46
vtkPolyDataPlaneCutter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkPolyDataPlaneCutter::BatchSize
unsigned int BatchSize
Definition: vtkPolyDataPlaneCutter.h:136
vtkPolyDataPlaneCutter::~vtkPolyDataPlaneCutter
~vtkPolyDataPlaneCutter() override
vtkPolyDataPlaneCutter::New
static vtkPolyDataPlaneCutter * New()
Standard construction, type, and print methods.
vtkPolyDataPlaneCutter::InterpolateAttributes
bool InterpolateAttributes
Definition: vtkPolyDataPlaneCutter.h:134
vtkPolyDataPlaneCutter::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkPolyDataPlaneCutter.h:135
vtkPolyDataPlaneCutter::Plane
vtkSmartPointer< vtkPlane > Plane
Definition: vtkPolyDataPlaneCutter.h:132
vtkPolyDataPlaneCutter::SetPlane
void SetPlane(vtkPlane *)
Specify the plane (an implicit function) to perform the cutting.
vtkPolyDataPlaneCutter::GetMTime
vtkMTimeType GetMTime() override
The modified time depends on the delegated cutting plane.
vtkPolyDataPlaneCutter::ComputeNormals
bool ComputeNormals
Definition: vtkPolyDataPlaneCutter.h:133
vtkPolyDataPlaneCutter::CanFullyProcessDataObject
static bool CanFullyProcessDataObject(vtkDataObject *object)
This helper method can be used to determine the if the input vtkPolyData contains convex polygonal ce...
vtkPolyDataPlaneCutter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard construction, type, and print methods.
vtkPolyDataPlaneCutter::vtkPolyDataPlaneCutter
vtkPolyDataPlaneCutter()
vtkSmartPointer< vtkPlane >
vtkPlane.h
vtkPolyDataAlgorithm.h
vtkSmartPointer.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:144