VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
43 #ifndef __vtkFeatureEdges_h
44 #define __vtkFeatureEdges_h
45 
46 #include "vtkFiltersCoreModule.h" // For export macro
47 #include "vtkPolyDataAlgorithm.h"
48 
50 
51 class VTKFILTERSCORE_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
52 {
53 public:
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
59  static vtkFeatureEdges *New();
60 
62 
63  vtkSetMacro(BoundaryEdges,int);
64  vtkGetMacro(BoundaryEdges,int);
65  vtkBooleanMacro(BoundaryEdges,int);
67 
69 
70  vtkSetMacro(FeatureEdges,int);
71  vtkGetMacro(FeatureEdges,int);
72  vtkBooleanMacro(FeatureEdges,int);
74 
76 
77  vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
78  vtkGetMacro(FeatureAngle,double);
80 
82 
83  vtkSetMacro(NonManifoldEdges,int);
84  vtkGetMacro(NonManifoldEdges,int);
85  vtkBooleanMacro(NonManifoldEdges,int);
87 
89 
90  vtkSetMacro(ManifoldEdges,int);
91  vtkGetMacro(ManifoldEdges,int);
92  vtkBooleanMacro(ManifoldEdges,int);
94 
96 
97  vtkSetMacro(Coloring,int);
98  vtkGetMacro(Coloring,int);
99  vtkBooleanMacro(Coloring,int);
101 
103 
105  void SetLocator(vtkIncrementalPointLocator *locator);
106  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
108 
110  void CreateDefaultLocator();
111 
113  unsigned long GetMTime();
114 
115 protected:
116  vtkFeatureEdges();
117  ~vtkFeatureEdges();
118 
119  // Usual data generation method
120  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
121  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
122 
123  double FeatureAngle;
128  int Coloring;
130 private:
131  vtkFeatureEdges(const vtkFeatureEdges&); // Not implemented.
132  void operator=(const vtkFeatureEdges&); // Not implemented.
133 };
134 
135 #endif
136 
137 
vtkIncrementalPointLocator * Locator
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Abstract class in support of both point location and point insertion.
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Superclass for algorithms that produce only polydata as output.
extract boundary, non-manifold, and/or sharp edges from polygonal data