VTK  9.3.1
vtkClipPolyData.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
50 #ifndef vtkClipPolyData_h
51 #define vtkClipPolyData_h
52 
53 #include "vtkFiltersCoreModule.h" // For export macro
54 #include "vtkPolyDataAlgorithm.h"
55 
56 VTK_ABI_NAMESPACE_BEGIN
59 
60 class VTKFILTERSCORE_EXPORT vtkClipPolyData : public vtkPolyDataAlgorithm
61 {
62 public:
64  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
71  static vtkClipPolyData* New();
72 
74 
79  vtkSetMacro(Value, double);
80  vtkGetMacro(Value, double);
82 
84 
92  vtkSetMacro(InsideOut, vtkTypeBool);
93  vtkGetMacro(InsideOut, vtkTypeBool);
94  vtkBooleanMacro(InsideOut, vtkTypeBool);
96 
98 
103  virtual void SetClipFunction(vtkImplicitFunction*);
104  vtkGetObjectMacro(ClipFunction, vtkImplicitFunction);
106 
108 
115  vtkSetMacro(GenerateClipScalars, vtkTypeBool);
116  vtkGetMacro(GenerateClipScalars, vtkTypeBool);
117  vtkBooleanMacro(GenerateClipScalars, vtkTypeBool);
119 
121 
126  vtkSetMacro(GenerateClippedOutput, vtkTypeBool);
127  vtkGetMacro(GenerateClippedOutput, vtkTypeBool);
128  vtkBooleanMacro(GenerateClippedOutput, vtkTypeBool);
130 
134  vtkPolyData* GetClippedOutput();
135 
140 
142 
146  void SetLocator(vtkIncrementalPointLocator* locator);
147  vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
149 
154  void CreateDefaultLocator();
155 
159  vtkMTimeType GetMTime() override;
160 
162 
168  vtkSetMacro(OutputPointsPrecision, int);
169  vtkGetMacro(OutputPointsPrecision, int);
171 
172 protected:
173  vtkClipPolyData(vtkImplicitFunction* cf = nullptr);
174  ~vtkClipPolyData() override;
175 
178 
181  double Value;
185 
186 private:
187  vtkClipPolyData(const vtkClipPolyData&) = delete;
188  void operator=(const vtkClipPolyData&) = delete;
189 };
190 
191 VTK_ABI_NAMESPACE_END
192 #endif
abstract interface for implicit functions
vtkAlgorithmOutput * GetOutputPort()
Definition: vtkAlgorithm.h:500
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkIncrementalPointLocator * Locator
Abstract class in support of both point location and point insertion.
vtkTypeBool GenerateClippedOutput
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeBool GenerateClipScalars
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
vtkTypeBool InsideOut
vtkAlgorithmOutput * GetClippedOutputPort()
Return the output port (a vtkAlgorithmOutput) of the clipped output.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkImplicitFunction * ClipFunction
clip polygonal data with user-specified implicit function or input scalar data
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.