VTK  9.5.20250904
vtk3DLinearGridPlaneCutter.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
63#ifndef vtk3DLinearGridPlaneCutter_h
64#define vtk3DLinearGridPlaneCutter_h
65
67#include "vtkFiltersCoreModule.h" // For export macro
68#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
69
70VTK_ABI_NAMESPACE_BEGIN
71class vtkPlane;
73class vtkPolyData;
74
77{
78public:
80
85 void PrintSelf(ostream& os, vtkIndent indent) override;
87
89
94 virtual void SetPlane(vtkPlane*);
95 vtkGetObjectMacro(Plane, vtkPlane);
97
99
105 vtkSetMacro(MergePoints, bool);
106 vtkGetMacro(MergePoints, bool);
107 vtkBooleanMacro(MergePoints, bool);
109
111
115 vtkSetMacro(InterpolateAttributes, bool);
116 vtkGetMacro(InterpolateAttributes, bool);
117 vtkBooleanMacro(InterpolateAttributes, bool);
119
121
127 vtkSetMacro(ComputeNormals, bool);
128 vtkGetMacro(ComputeNormals, bool);
129 vtkBooleanMacro(ComputeNormals, bool);
131
137
139
144 void SetOutputPointsPrecision(int precision);
147
149
157 vtkSetMacro(SequentialProcessing, bool);
158 vtkGetMacro(SequentialProcessing, bool);
159 vtkBooleanMacro(SequentialProcessing, bool);
161
166 int GetNumberOfThreadsUsed() { return this->NumberOfThreadsUsed; }
167
176 bool GetLargeIds() { return this->LargeIds; }
177
185
186protected:
189
197 bool LargeIds; // indicate whether integral ids are large(==true) or not
198
199 // Process the data: input unstructured grid and output polydata
201
203 vtkInformationVector* outputVector) override;
205 vtkInformationVector* outputVector) override;
206 int FillInputPortInformation(int port, vtkInformation* info) override;
207
208private:
210 void operator=(const vtk3DLinearGridPlaneCutter&) = delete;
211};
212
213VTK_ABI_NAMESPACE_END
214#endif
fast plane cutting of vtkUnstructuredGrid containing 3D linear cells
void SetOutputPointsPrecision(int precision)
Set/get the desired precision for the output points.
int GetNumberOfThreadsUsed()
Return the number of threads actually used during execution.
~vtk3DLinearGridPlaneCutter() override
static vtk3DLinearGridPlaneCutter * New()
Standard methods for construction, type info, and printing.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int GetOutputPointsPrecision() const
Set/get the desired precision for the output points.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
virtual void SetPlane(vtkPlane *)
Specify the plane (an implicit function) to perform the cutting.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for construction, type info, and printing.
bool GetLargeIds()
Inform the user as to whether large ids were used during filter execution.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
int ProcessPiece(vtkUnstructuredGrid *input, vtkPlane *plane, vtkPolyData *output)
static bool CanFullyProcessDataObject(vtkDataObject *object)
Returns true if the data object passed in is fully supported by this filter, i.e.,...
vtkMTimeType GetMTime() override
Overloaded GetMTime() because of delegation to the helper vtkPlane.
Superclass for algorithms that produce only data object as output.
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:141
concrete dataset represents vertices, lines, polygons, and triangle strips
dataset represents arbitrary combinations of all possible cell types
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_MARSHALAUTO