VTK
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 =========================================================================*/
41 #ifndef vtkFeatureEdges_h
42 #define vtkFeatureEdges_h
43 
44 #include "vtkFiltersCoreModule.h" // For export macro
45 #include "vtkPolyDataAlgorithm.h"
46 
48 
49 class VTKFILTERSCORE_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
50 {
51 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
59  static vtkFeatureEdges *New();
60 
62 
65  vtkSetMacro(BoundaryEdges,vtkTypeBool);
66  vtkGetMacro(BoundaryEdges,vtkTypeBool);
67  vtkBooleanMacro(BoundaryEdges,vtkTypeBool);
69 
71 
74  vtkSetMacro(FeatureEdges,vtkTypeBool);
75  vtkGetMacro(FeatureEdges,vtkTypeBool);
76  vtkBooleanMacro(FeatureEdges,vtkTypeBool);
78 
80 
83  vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
84  vtkGetMacro(FeatureAngle,double);
86 
88 
91  vtkSetMacro(NonManifoldEdges,vtkTypeBool);
92  vtkGetMacro(NonManifoldEdges,vtkTypeBool);
93  vtkBooleanMacro(NonManifoldEdges,vtkTypeBool);
95 
97 
100  vtkSetMacro(ManifoldEdges,vtkTypeBool);
101  vtkGetMacro(ManifoldEdges,vtkTypeBool);
102  vtkBooleanMacro(ManifoldEdges,vtkTypeBool);
104 
106 
109  vtkSetMacro(Coloring,vtkTypeBool);
110  vtkGetMacro(Coloring,vtkTypeBool);
111  vtkBooleanMacro(Coloring,vtkTypeBool);
113 
115 
119  void SetLocator(vtkIncrementalPointLocator *locator);
120  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
122 
126  void CreateDefaultLocator();
127 
131  vtkMTimeType GetMTime() override;
132 
134 
139  vtkSetMacro(OutputPointsPrecision,int);
140  vtkGetMacro(OutputPointsPrecision,int);
142 
143 protected:
144  vtkFeatureEdges();
145  ~vtkFeatureEdges() override;
146 
147  // Usual data generation method
150 
151  double FeatureAngle;
159 private:
160  vtkFeatureEdges(const vtkFeatureEdges&) = delete;
161  void operator=(const vtkFeatureEdges&) = delete;
162 };
163 
164 #endif
165 
166 
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkPolyDataAlgorithm::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkFeatureEdges::BoundaryEdges
vtkTypeBool BoundaryEdges
Definition: vtkFeatureEdges.h:152
vtkFeatureEdges::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkFeatureEdges.h:157
vtkPolyDataAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataAlgorithm.h
vtkPolyDataAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkObject::GetMTime
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkFeatureEdges
extract boundary, non-manifold, and/or sharp edges from polygonal data
Definition: vtkFeatureEdges.h:49
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:51
vtkFeatureEdges::Coloring
vtkTypeBool Coloring
Definition: vtkFeatureEdges.h:156
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:70
vtkFeatureEdges::NonManifoldEdges
vtkTypeBool NonManifoldEdges
Definition: vtkFeatureEdges.h:154
vtkFeatureEdges::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkFeatureEdges.h:158
vtkFeatureEdges::FeatureEdges
vtkTypeBool FeatureEdges
Definition: vtkFeatureEdges.h:153
vtkFeatureEdges::FeatureAngle
double FeatureAngle
Definition: vtkFeatureEdges.h:151
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkPolyDataAlgorithm::New
static vtkPolyDataAlgorithm * New()
vtkFeatureEdges::ManifoldEdges
vtkTypeBool ManifoldEdges
Definition: vtkFeatureEdges.h:155
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:304
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:44