VTK  9.6.1
vtkTableBasedClipDataSet.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
3// SPDX-License-Identifier: BSD-3-Clause
4
79
80#ifndef vtkTableBasedClipDataSet_h
81#define vtkTableBasedClipDataSet_h
82
83#include "vtkFiltersGeneralModule.h" // For export macro
84#include "vtkIncrementalPointLocator.h" // For vtkIncrementalPointLocator
86#include "vtkWeakPointer.h" // Needed for weak pointer to the vtkIncrementalPointLocator
87
88VTK_ABI_NAMESPACE_BEGIN
90class vtkDoubleArray;
92class vtkPolyData;
93
94class VTKFILTERSGENERAL_EXPORT vtkTableBasedClipDataSet : public vtkUnstructuredGridAlgorithm
95{
96public:
98 void PrintSelf(ostream& os, vtkIndent indent) override;
99
105
110
112
119 vtkSetMacro(InsideOut, vtkTypeBool);
120 vtkGetMacro(InsideOut, vtkTypeBool);
121 vtkBooleanMacro(InsideOut, vtkTypeBool);
123
125
131 vtkSetMacro(Value, double);
132 vtkGetMacro(Value, double);
134
136
141 vtkSetMacro(UseValueAsOffset, bool);
142 vtkGetMacro(UseValueAsOffset, bool);
143 vtkBooleanMacro(UseValueAsOffset, bool);
145
147
155
157
167
169
177 vtkSetMacro(GenerateClipPointTypes, bool);
178 vtkGetMacro(GenerateClipPointTypes, bool);
179 vtkBooleanMacro(GenerateClipPointTypes, bool);
181
183
189 vtkSetClampMacro(MergeTolerance, double, 0.0001, 0.25);
190 vtkGetMacro(MergeTolerance, double);
192
194
202
207
209
215 vtkGetMacro(OutputPointsPrecision, int);
217
219
227 vtkSetClampMacro(BatchSize, unsigned int, 1, VTK_INT_MAX);
228 vtkGetMacro(BatchSize, unsigned int);
230
232
239
240protected:
243
245 int FillInputPortInformation(int port, vtkInformation* info) override;
246
247private:
253 void ClipDataSet(vtkDataSet* pDataSet, vtkUnstructuredGrid* outputUG);
254
261 void ClipPolyData(vtkPolyData* inputGrid, vtkImplicitFunction* implicitFunction,
262 vtkDoubleArray* scalars, double isoValue, vtkUnstructuredGrid* outputUG);
263
270 template <class TGrid>
271 void ClipTDataSet(TGrid* inputGrid, vtkImplicitFunction* implicitFunction,
272 vtkDoubleArray* scalars, double isoValue, vtkUnstructuredGrid* outputUG);
273
277 template <typename TGrid, typename TInputIdType, bool InsideOut>
279 TGrid* input, vtkImplicitFunction* implicitFunction, vtkDoubleArray* scalars, double isoValue);
280
284 static void InternalProgressCallbackFunction(vtkObject*, unsigned long, void* clientdata, void*);
285
289 void InternalProgressCallback(vtkAlgorithm* algorithm);
290
291protected:
296 double Value;
300 unsigned int BatchSize;
301
303
305
306private:
308 void operator=(const vtkTableBasedClipDataSet&) = delete;
309
310 bool GenerateClipPointTypes;
311};
312
313VTK_ABI_NAMESPACE_END
314#endif
supports function callbacks
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
dynamic, self-adjusting array of double
abstract interface for implicit functions
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:72
Hold a reference to a vtkObjectBase instance.
vtkTableBasedClipDataSet(vtkImplicitFunction *cf=nullptr)
static vtkTableBasedClipDataSet * New()
Create an instance with a user-specified implicit function, turning off IVARs InsideOut and GenerateC...
~vtkTableBasedClipDataSet() override
void SetLocator(vtkIncrementalPointLocator *locator)
Specify a spatial locator for merging points.
int FillInputPortInformation(int port, vtkInformation *info) override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual void SetClipFunction(vtkImplicitFunction *)
Set/Get the implicit function with which to perform the clipping operation.
vtkMTimeType GetMTime() override
Get the MTime for which the clip function are considered.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkUnstructuredGrid * GetClippedOutput()
Return the clipped output.
vtkWeakPointer< vtkIncrementalPointLocator > Locator
vtkCallbackCommand * InternalProgressObserver
dataset represents arbitrary combinations of all possible cell types
a weak reference to a vtkObject.
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:323
#define VTK_INT_MAX
Definition vtkType.h:197
#define vtkTableBasedClipDataSet
Definition vtkmClip.h:25
#define vtkAlgorithm