VTK  9.2.6
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 =========================================================================*/
42 #ifndef vtkFeatureEdges_h
43 #define vtkFeatureEdges_h
44 
45 #include "vtkFiltersCoreModule.h" // For export macro
46 #include "vtkPolyDataAlgorithm.h"
47 
49 
50 class VTKFILTERSCORE_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
51 {
52 public:
54 
58  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
65  static vtkFeatureEdges* New();
66 
68 
72  void ExtractAllEdgeTypesOn();
73  void ExtractAllEdgeTypesOff();
75 
77 
80  vtkSetMacro(BoundaryEdges, bool);
81  vtkGetMacro(BoundaryEdges, bool);
82  vtkBooleanMacro(BoundaryEdges, bool);
84 
86 
89  vtkSetMacro(FeatureEdges, bool);
90  vtkGetMacro(FeatureEdges, bool);
91  vtkBooleanMacro(FeatureEdges, bool);
93 
95 
98  vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
99  vtkGetMacro(FeatureAngle, double);
101 
103 
106  vtkSetMacro(NonManifoldEdges, bool);
107  vtkGetMacro(NonManifoldEdges, bool);
108  vtkBooleanMacro(NonManifoldEdges, bool);
110 
112 
116  vtkSetMacro(ManifoldEdges, bool);
117  vtkGetMacro(ManifoldEdges, bool);
118  vtkBooleanMacro(ManifoldEdges, bool);
120 
122 
128  vtkSetMacro(PassLines, bool);
129  vtkGetMacro(PassLines, bool);
130  vtkBooleanMacro(PassLines, bool);
132 
134 
137  vtkSetMacro(Coloring, bool);
138  vtkGetMacro(Coloring, bool);
139  vtkBooleanMacro(Coloring, bool);
141 
143 
153  vtkSetMacro(RemoveGhostInterfaces, bool);
154  vtkGetMacro(RemoveGhostInterfaces, bool);
155  vtkBooleanMacro(RemoveGhostInterfaces, bool);
157 
159 
163  void SetLocator(vtkIncrementalPointLocator* locator);
164  vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
166 
170  void CreateDefaultLocator();
171 
175  vtkMTimeType GetMTime() override;
176 
178 
183  vtkSetMacro(OutputPointsPrecision, int);
184  vtkGetMacro(OutputPointsPrecision, int);
186 
187 protected:
188  vtkFeatureEdges();
189  ~vtkFeatureEdges() override;
190 
191  // Usual data generation method
194 
195  double FeatureAngle;
200  bool PassLines;
201  bool Coloring;
206 
207 private:
208  vtkFeatureEdges(const vtkFeatureEdges&) = delete;
209  void operator=(const vtkFeatureEdges&) = delete;
210 };
211 
212 #endif
vtkIncrementalPointLocator * Locator
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Abstract class in support of both point location and point insertion.
static vtkPolyDataAlgorithm * New()
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
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.