VTK: Filters/Core/vtkClipPolyData.h Source File

| 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
59 #ifndef vtkClipPolyData_h
60 #define vtkClipPolyData_h
61
62 #include "vtkFiltersCoreModule.h" // For export macro
63 #include "vtkPolyDataAlgorithm.h"
64
65 VTK_ABI_NAMESPACE_BEGIN
66 class vtkImplicitFunction;
67 class vtkIncrementalPointLocator;
68
69 class VTKFILTERSCORE_EXPORT vtkClipPolyData : public vtkPolyDataAlgorithm
70 {
71 public:
72 vtkTypeMacro(vtkClipPolyData, vtkPolyDataAlgorithm);
73 void PrintSelf(ostream& os, vtkIndent indent) override;
74
80 static vtkClipPolyData* New();
81
83
88 vtkSetMacro(Value, double);
89 vtkGetMacro(Value, double);
91
93
101 vtkSetMacro(InsideOut, vtkTypeBool);
102 vtkGetMacro(InsideOut, vtkTypeBool);
103 vtkBooleanMacro(InsideOut, vtkTypeBool);
105
107
112 virtual void SetClipFunction(vtkImplicitFunction*);
113 vtkGetObjectMacro(ClipFunction, vtkImplicitFunction);
115
117
124 vtkSetMacro(GenerateClipScalars, vtkTypeBool);
125 vtkGetMacro(GenerateClipScalars, vtkTypeBool);
126 vtkBooleanMacro(GenerateClipScalars, vtkTypeBool);
128
130
135 vtkSetMacro(GenerateClippedOutput, vtkTypeBool);
136 vtkGetMacro(GenerateClippedOutput, vtkTypeBool);
137 vtkBooleanMacro(GenerateClippedOutput, vtkTypeBool);
139
143 vtkPolyData* GetClippedOutput();
144
148 vtkAlgorithmOutput* GetClippedOutputPort() { return this->GetOutputPort(1); }
149
151
155 void SetLocator(vtkIncrementalPointLocator* locator);
156 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
158
163 void CreateDefaultLocator();
164
168 vtkMTimeType GetMTime() override;
169
171
177 vtkSetMacro(OutputPointsPrecision, int);
178 vtkGetMacro(OutputPointsPrecision, int);
180
181 protected:
182 vtkClipPolyData(vtkImplicitFunction* cf = nullptr);
183 ~vtkClipPolyData() override;
184
185 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
186 vtkImplicitFunction* ClipFunction;
187
188 vtkIncrementalPointLocator* Locator;
189 vtkTypeBool InsideOut;
190 double Value;
191 vtkTypeBool GenerateClipScalars;
192 vtkTypeBool GenerateClippedOutput;
193 int OutputPointsPrecision;
194
195 private:
196 vtkClipPolyData(const vtkClipPolyData&) = delete;
197 void operator=(const vtkClipPolyData&) = delete;
198 };
199
200 VTK_ABI_NAMESPACE_END
201 #endif
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:41
vtkAlgorithm::GetOutputPort
vtkAlgorithmOutput * GetOutputPort()
Definition: vtkAlgorithm.h:509
vtkClipPolyData
clip polygonal data with user-specified implicit function or input scalar data
Definition: vtkClipPolyData.h:70
vtkClipPolyData::vtkClipPolyData
vtkClipPolyData(vtkImplicitFunction *cf=nullptr)
vtkClipPolyData::GenerateClipScalars
vtkTypeBool GenerateClipScalars
Definition: vtkClipPolyData.h:191
vtkClipPolyData::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkClipPolyData.h:188
vtkClipPolyData::ClipFunction
vtkImplicitFunction * ClipFunction
Definition: vtkClipPolyData.h:186
vtkClipPolyData::GetClippedOutput
vtkPolyData * GetClippedOutput()
Return the Clipped output.
vtkClipPolyData::CreateDefaultLocator
void CreateDefaultLocator()
Create default locator.
vtkClipPolyData::Value
double Value
Definition: vtkClipPolyData.h:190
vtkClipPolyData::InsideOut
vtkTypeBool InsideOut
Definition: vtkClipPolyData.h:189
vtkClipPolyData::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkClipPolyData::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkClipPolyData.h:193
vtkClipPolyData::GenerateClippedOutput
vtkTypeBool GenerateClippedOutput
Definition: vtkClipPolyData.h:192
vtkClipPolyData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkClipPolyData::GetMTime
vtkMTimeType GetMTime() override
Return the mtime also considering the locator and clip function.
vtkClipPolyData::New
static vtkClipPolyData * New()
Construct with user-specified implicit function; InsideOut turned off; value set to 0....
vtkClipPolyData::SetLocator
void SetLocator(vtkIncrementalPointLocator *locator)
Specify a spatial locator for merging points.
vtkClipPolyData::SetClipFunction
virtual void SetClipFunction(vtkImplicitFunction *)
Specify the implicit function with which to perform the clipping.
vtkClipPolyData::GetClippedOutputPort
vtkAlgorithmOutput * GetClippedOutputPort()
Return the output port (a vtkAlgorithmOutput) of the clipped output.
Definition: vtkClipPolyData.h:148
vtkClipPolyData::~vtkClipPolyData
~vtkClipPolyData() override
vtkImplicitFunction
abstract interface for implicit functions
Definition: vtkImplicitFunction.h:59
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:41
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
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:43
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
vtkPolyDataAlgorithm.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270