VTK  9.1.0
vtk3DLinearGridPlaneCutter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtk3DLinearGridPlaneCutter.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
72#ifndef vtk3DLinearGridPlaneCutter_h
73#define vtk3DLinearGridPlaneCutter_h
74
76#include "vtkFiltersCoreModule.h" // For export macro
77
78class vtkPlane;
80class vtkSphereTree;
81class vtkPolyData;
82
83class VTKFILTERSCORE_EXPORT vtk3DLinearGridPlaneCutter : public vtkDataObjectAlgorithm
84{
85public:
87
92 void PrintSelf(ostream& os, vtkIndent indent) override;
94
96
101 virtual void SetPlane(vtkPlane*);
102 vtkGetObjectMacro(Plane, vtkPlane);
104
106
112 vtkSetMacro(MergePoints, bool);
113 vtkGetMacro(MergePoints, bool);
114 vtkBooleanMacro(MergePoints, bool);
116
118
122 vtkSetMacro(InterpolateAttributes, bool);
123 vtkGetMacro(InterpolateAttributes, bool);
124 vtkBooleanMacro(InterpolateAttributes, bool);
126
128
134 vtkSetMacro(ComputeNormals, bool);
135 vtkGetMacro(ComputeNormals, bool);
136 vtkBooleanMacro(ComputeNormals, bool);
138
144
146
151 void SetOutputPointsPrecision(int precision);
154
156
164 vtkSetMacro(SequentialProcessing, bool);
165 vtkGetMacro(SequentialProcessing, bool);
166 vtkBooleanMacro(SequentialProcessing, bool);
168
173 int GetNumberOfThreadsUsed() { return this->NumberOfThreadsUsed; }
174
183 bool GetLargeIds() { return this->LargeIds; }
184
192
193protected:
196
204 bool LargeIds; // indicate whether integral ids are large(==true) or not
205
206 // Process the data: input unstructured grid and output polydata
208
210 vtkInformationVector* outputVector) override;
212 vtkInformationVector* outputVector) override;
214
215private:
217 void operator=(const vtk3DLinearGridPlaneCutter&) = delete;
218};
219
220#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:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
perform various plane computations
Definition: vtkPlane.h:143
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
class to build and traverse sphere trees
Definition: vtkSphereTree.h:70
dataset represents arbitrary combinations of all possible cell types
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287