VTK  9.5.20251011
vtkFeatureEdges.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
119#ifndef vtkFeatureEdges_h
120#define vtkFeatureEdges_h
121
122#include "vtkFiltersCoreModule.h" // For export macro
123#include "vtkPolyDataAlgorithm.h"
124#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
125
126VTK_ABI_NAMESPACE_BEGIN
128
129class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkFeatureEdges : public vtkPolyDataAlgorithm
130{
131public:
133
137 void PrintSelf(ostream& os, vtkIndent indent) override;
139
145
147
154
156
159 vtkSetMacro(BoundaryEdges, bool);
160 vtkGetMacro(BoundaryEdges, bool);
161 vtkBooleanMacro(BoundaryEdges, bool);
163
165
168 vtkSetMacro(FeatureEdges, bool);
169 vtkGetMacro(FeatureEdges, bool);
170 vtkBooleanMacro(FeatureEdges, bool);
172
174
177 vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
178 vtkGetMacro(FeatureAngle, double);
180
182
185 vtkSetMacro(NonManifoldEdges, bool);
186 vtkGetMacro(NonManifoldEdges, bool);
187 vtkBooleanMacro(NonManifoldEdges, bool);
189
191
195 vtkSetMacro(ManifoldEdges, bool);
196 vtkGetMacro(ManifoldEdges, bool);
197 vtkBooleanMacro(ManifoldEdges, bool);
199
201
207 vtkSetMacro(PassLines, bool);
208 vtkGetMacro(PassLines, bool);
209 vtkBooleanMacro(PassLines, bool);
211
213
216 vtkSetMacro(Coloring, bool);
217 vtkGetMacro(Coloring, bool);
218 vtkBooleanMacro(Coloring, bool);
220
222
232 vtkSetMacro(RemoveGhostInterfaces, bool);
233 vtkGetMacro(RemoveGhostInterfaces, bool);
234 vtkBooleanMacro(RemoveGhostInterfaces, bool);
236
238
243 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
245
250
255
257
262 vtkSetMacro(OutputPointsPrecision, int);
263 vtkGetMacro(OutputPointsPrecision, int);
265
266protected:
269
270 // Usual data generation method
273
285
286private:
287 vtkFeatureEdges(const vtkFeatureEdges&) = delete;
288 void operator=(const vtkFeatureEdges&) = delete;
289};
290
291VTK_ABI_NAMESPACE_END
292#endif
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void ExtractAllEdgeTypesOff()
Methods for turning the extraction of all types of edges on; and turning the extraction of all types ...
void SetLocator(vtkIncrementalPointLocator *locator)
Set / get a spatial locator for merging points.
static vtkFeatureEdges * New()
Construct an instance with feature angle = 30; all types of edges (except manifold edges) are extract...
vtkMTimeType GetMTime() override
Return MTime also considering the locator.
~vtkFeatureEdges() override
void CreateDefaultLocator()
Create default locator.
void ExtractAllEdgeTypesOn()
Methods for turning the extraction of all types of edges on; and turning the extraction of all types ...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkIncrementalPointLocator * Locator
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:322
#define VTK_MARSHALAUTO