VTK: Filters/Core/vtk3DLinearGridCrinkleExtractor.h Source File

| VTK 9.3.1

vtk3DLinearGridCrinkleExtractor.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
61 #ifndef vtk3DLinearGridCrinkleExtractor_h
62 #define vtk3DLinearGridCrinkleExtractor_h
63
64 #include "vtkDataObjectAlgorithm.h"
65 #include "vtkFiltersCoreModule.h" // For export macro
66
67 VTK_ABI_NAMESPACE_BEGIN
68 class vtkUnstructuredGrid;
69 class vtkImplicitFunction;
70
71 class VTKFILTERSCORE_EXPORT vtk3DLinearGridCrinkleExtractor : public vtkDataObjectAlgorithm
72 {
73 public:
75
78 static vtk3DLinearGridCrinkleExtractor* New();
79 vtkTypeMacro(vtk3DLinearGridCrinkleExtractor, vtkDataObjectAlgorithm);
80 void PrintSelf(ostream& os, vtkIndent indent) override;
82
84
89 virtual void SetImplicitFunction(vtkImplicitFunction*);
90 vtkGetObjectMacro(ImplicitFunction, vtkImplicitFunction);
92
94
98 vtkSetMacro(CopyPointData, bool);
99 vtkGetMacro(CopyPointData, bool);
100 vtkBooleanMacro(CopyPointData, bool);
102
104
108 vtkSetMacro(CopyCellData, bool);
109 vtkGetMacro(CopyCellData, bool);
110 vtkBooleanMacro(CopyCellData, bool);
112
114
122 vtkSetMacro(RemoveUnusedPoints, bool);
123 vtkGetMacro(RemoveUnusedPoints, bool);
124 vtkBooleanMacro(RemoveUnusedPoints, bool);
126
131 vtkMTimeType GetMTime() override;
132
134
139 void SetOutputPointsPrecision(int precision);
140 int GetOutputPointsPrecision() const;
142
144
152 vtkSetMacro(SequentialProcessing, bool);
153 vtkGetMacro(SequentialProcessing, bool);
154 vtkBooleanMacro(SequentialProcessing, bool);
156
161 int GetNumberOfThreadsUsed() { return this->NumberOfThreadsUsed; }
162
169 static bool CanFullyProcessDataObject(vtkDataObject* object);
170
171 protected:
172 vtk3DLinearGridCrinkleExtractor();
173 ~vtk3DLinearGridCrinkleExtractor() override;
174
175 vtkImplicitFunction* ImplicitFunction;
176 bool RemoveUnusedPoints;
177 bool CopyPointData;
178 bool CopyCellData;
179 int OutputPointsPrecision;
180 bool SequentialProcessing;
181 int NumberOfThreadsUsed;
182
183 // Process the data: input unstructured grid and output an unstructured grid
184 int ProcessPiece(vtkUnstructuredGrid* input, vtkImplicitFunction* f, vtkUnstructuredGrid* grid);
185
186 int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
187 vtkInformationVector* outputVector) override;
188 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
189 vtkInformationVector* outputVector) override;
190 int FillInputPortInformation(int port, vtkInformation* info) override;
191
192 private:
193 vtk3DLinearGridCrinkleExtractor(const vtk3DLinearGridCrinkleExtractor&) = delete;
194 void operator=(const vtk3DLinearGridCrinkleExtractor&) = delete;
195 };
196
197 VTK_ABI_NAMESPACE_END
198 #endif
vtk3DLinearGridCrinkleExtractor
fast extraction of cells intersected by a plane
Definition: vtk3DLinearGridCrinkleExtractor.h:72
vtk3DLinearGridCrinkleExtractor::GetNumberOfThreadsUsed
int GetNumberOfThreadsUsed()
Return the number of threads actually used during execution.
Definition: vtk3DLinearGridCrinkleExtractor.h:161
vtk3DLinearGridCrinkleExtractor::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtk3DLinearGridCrinkleExtractor.h:179
vtk3DLinearGridCrinkleExtractor::New
static vtk3DLinearGridCrinkleExtractor * New()
Standard methods for construction, type info, and printing.
vtk3DLinearGridCrinkleExtractor::RequestData
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtk3DLinearGridCrinkleExtractor::ImplicitFunction
vtkImplicitFunction * ImplicitFunction
Definition: vtk3DLinearGridCrinkleExtractor.h:175
vtk3DLinearGridCrinkleExtractor::CopyCellData
bool CopyCellData
Definition: vtk3DLinearGridCrinkleExtractor.h:178
vtk3DLinearGridCrinkleExtractor::ProcessPiece
int ProcessPiece(vtkUnstructuredGrid *input, vtkImplicitFunction *f, vtkUnstructuredGrid *grid)
vtk3DLinearGridCrinkleExtractor::SequentialProcessing
bool SequentialProcessing
Definition: vtk3DLinearGridCrinkleExtractor.h:180
vtk3DLinearGridCrinkleExtractor::GetOutputPointsPrecision
int GetOutputPointsPrecision() const
Set/get the desired precision for the output points.
vtk3DLinearGridCrinkleExtractor::CanFullyProcessDataObject
static bool CanFullyProcessDataObject(vtkDataObject *object)
Returns true if the data object passed in is fully supported by this filter, i.e.,...
vtk3DLinearGridCrinkleExtractor::CopyPointData
bool CopyPointData
Definition: vtk3DLinearGridCrinkleExtractor.h:177
vtk3DLinearGridCrinkleExtractor::NumberOfThreadsUsed
int NumberOfThreadsUsed
Definition: vtk3DLinearGridCrinkleExtractor.h:181
vtk3DLinearGridCrinkleExtractor::~vtk3DLinearGridCrinkleExtractor
~vtk3DLinearGridCrinkleExtractor() override
vtk3DLinearGridCrinkleExtractor::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtk3DLinearGridCrinkleExtractor::SetImplicitFunction
virtual void SetImplicitFunction(vtkImplicitFunction *)
Specify the implicit function which is used to select the output cell faces.
vtk3DLinearGridCrinkleExtractor::vtk3DLinearGridCrinkleExtractor
vtk3DLinearGridCrinkleExtractor()
vtk3DLinearGridCrinkleExtractor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for construction, type info, and printing.
vtk3DLinearGridCrinkleExtractor::RemoveUnusedPoints
bool RemoveUnusedPoints
Definition: vtk3DLinearGridCrinkleExtractor.h:176
vtk3DLinearGridCrinkleExtractor::GetMTime
vtkMTimeType GetMTime() override
Overloaded GetMTime() because of delegation to the helper vtkImplicitFunction.
vtk3DLinearGridCrinkleExtractor::RequestDataObject
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtk3DLinearGridCrinkleExtractor::SetOutputPointsPrecision
void SetOutputPointsPrecision(int precision)
Set/get the desired precision for the output points.
vtkDataObjectAlgorithm
Superclass for algorithms that produce only data object as output.
Definition: vtkDataObjectAlgorithm.h:33
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkImplicitFunction
abstract interface for implicit functions
Definition: vtkImplicitFunction.h:59
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
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:99
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkDataObjectAlgorithm.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270