VTK  9.3.0
vtkClipDataSet.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
60 #ifndef vtkClipDataSet_h
61 #define vtkClipDataSet_h
62 
63 #include "vtkFiltersGeneralModule.h" // For export macro
65 
66 VTK_ABI_NAMESPACE_BEGIN
67 class vtkCallbackCommand;
70 
71 class VTKFILTERSGENERAL_EXPORT vtkClipDataSet : public vtkUnstructuredGridAlgorithm
72 {
73 public:
75  void PrintSelf(ostream& os, vtkIndent indent) override;
76 
81  static vtkClipDataSet* New();
82 
84 
90  vtkSetMacro(Value, double);
91  vtkGetMacro(Value, double);
93 
95 
100  vtkSetMacro(UseValueAsOffset, bool);
101  vtkGetMacro(UseValueAsOffset, bool);
102  vtkBooleanMacro(UseValueAsOffset, bool);
104 
106 
114  vtkSetMacro(InsideOut, vtkTypeBool);
115  vtkGetMacro(InsideOut, vtkTypeBool);
116  vtkBooleanMacro(InsideOut, vtkTypeBool);
118 
120 
126  vtkGetObjectMacro(ClipFunction, vtkImplicitFunction);
128 
130 
136  vtkSetMacro(GenerateClipScalars, vtkTypeBool);
137  vtkGetMacro(GenerateClipScalars, vtkTypeBool);
138  vtkBooleanMacro(GenerateClipScalars, vtkTypeBool);
140 
142 
146  vtkSetMacro(GenerateClippedOutput, vtkTypeBool);
147  vtkGetMacro(GenerateClippedOutput, vtkTypeBool);
148  vtkBooleanMacro(GenerateClippedOutput, vtkTypeBool);
150 
152 
158  vtkSetClampMacro(MergeTolerance, double, 0.0001, 0.25);
159  vtkGetMacro(MergeTolerance, double);
161 
166 
168 
173  vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
175 
181 
185  vtkMTimeType GetMTime() override;
186 
188 
193  vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION);
194  vtkGetMacro(OutputPointsPrecision, int);
196 
198 
201  vtkGetMacro(StableClipNonLinear, bool);
202  vtkSetMacro(StableClipNonLinear, bool);
203  vtkBooleanMacro(StableClipNonLinear, bool);
205 
206 protected:
208  ~vtkClipDataSet() override;
209 
213 
216  double Value;
218 
221 
222  // Callback registered with the InternalProgressObserver.
223  static void InternalProgressCallbackFunction(vtkObject*, unsigned long, void* clientdata, void*);
225  // The observer to report progress from the internal readers.
227 
228  // helper functions
230 
232  vtkDataSet* input, vtkUnstructuredGrid* output, vtkInformationVector** inputVector);
233 
236 
237  bool StableClipNonLinear = true;
238 
239 private:
240  vtkClipDataSet(const vtkClipDataSet&) = delete;
241  void operator=(const vtkClipDataSet&) = delete;
242 };
243 
244 VTK_ABI_NAMESPACE_END
245 #endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
supports function callbacks
clip any dataset with user-specified implicit function or input scalar data
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkTypeBool GenerateClippedOutput
vtkCallbackCommand * InternalProgressObserver
virtual void SetClipFunction(vtkImplicitFunction *)
Specify the implicit function with which to perform the clipping.
~vtkClipDataSet() override
static void InternalProgressCallbackFunction(vtkObject *, unsigned long, void *clientdata, void *)
vtkTypeBool InsideOut
vtkUnstructuredGrid * GetClippedOutput()
Return the Clipped output.
void ClipVolume(vtkDataSet *input, vtkUnstructuredGrid *output)
vtkIncrementalPointLocator * Locator
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetLocator(vtkIncrementalPointLocator *locator)
Specify a spatial locator for merging points.
int ClipPoints(vtkDataSet *input, vtkUnstructuredGrid *output, vtkInformationVector **inputVector)
vtkImplicitFunction * ClipFunction
vtkClipDataSet(vtkImplicitFunction *cf=nullptr)
vtkMTimeType GetMTime() override
Return the mtime also considering the locator and clip function.
void InternalProgressCallback(vtkAlgorithm *algorithm)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CreateDefaultLocator()
Create default locator.
static vtkClipDataSet * New()
Construct with user-specified implicit function; InsideOut turned off; value set to 0....
vtkTypeBool GenerateClipScalars
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
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:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition: vtkObject.h:61
Superclass for algorithms that produce only unstructured grid as output.
dataset represents arbitrary combinations of all possible cell types
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270