VTK  9.2.5
vtkFeatureEdges.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkFeatureEdges.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
131 #ifndef vtkFeatureEdges_h
132 #define vtkFeatureEdges_h
133 
134 #include "vtkFiltersCoreModule.h" // For export macro
135 #include "vtkPolyDataAlgorithm.h"
136 
138 
139 class VTKFILTERSCORE_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
140 {
141 public:
143 
147  void PrintSelf(ostream& os, vtkIndent indent) override;
149 
154  static vtkFeatureEdges* New();
155 
157 
164 
166 
169  vtkSetMacro(BoundaryEdges, bool);
170  vtkGetMacro(BoundaryEdges, bool);
171  vtkBooleanMacro(BoundaryEdges, bool);
173 
175 
178  vtkSetMacro(FeatureEdges, bool);
179  vtkGetMacro(FeatureEdges, bool);
180  vtkBooleanMacro(FeatureEdges, bool);
182 
184 
187  vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
188  vtkGetMacro(FeatureAngle, double);
190 
192 
195  vtkSetMacro(NonManifoldEdges, bool);
196  vtkGetMacro(NonManifoldEdges, bool);
197  vtkBooleanMacro(NonManifoldEdges, bool);
199 
201 
205  vtkSetMacro(ManifoldEdges, bool);
206  vtkGetMacro(ManifoldEdges, bool);
207  vtkBooleanMacro(ManifoldEdges, bool);
209 
211 
217  vtkSetMacro(PassLines, bool);
218  vtkGetMacro(PassLines, bool);
219  vtkBooleanMacro(PassLines, bool);
221 
223 
226  vtkSetMacro(Coloring, bool);
227  vtkGetMacro(Coloring, bool);
228  vtkBooleanMacro(Coloring, bool);
230 
232 
242  vtkSetMacro(RemoveGhostInterfaces, bool);
243  vtkGetMacro(RemoveGhostInterfaces, bool);
244  vtkBooleanMacro(RemoveGhostInterfaces, bool);
246 
248 
253  vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
255 
260 
264  vtkMTimeType GetMTime() override;
265 
267 
272  vtkSetMacro(OutputPointsPrecision, int);
273  vtkGetMacro(OutputPointsPrecision, int);
275 
276 protected:
278  ~vtkFeatureEdges() override;
279 
280  // Usual data generation method
283 
284  double FeatureAngle;
289  bool PassLines;
290  bool Coloring;
295 
296 private:
297  vtkFeatureEdges(const vtkFeatureEdges&) = delete;
298  void operator=(const vtkFeatureEdges&) = delete;
299 };
300 
301 #endif
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
static vtkFeatureEdges * New()
Construct an instance with feature angle = 30; all types of edges (except manifold edges) are extract...
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.
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:119
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:287