00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkFeatureEdges_h
00044 #define __vtkFeatureEdges_h
00045
00046 #include "vtkPolyDataAlgorithm.h"
00047
00048 class vtkPointLocator;
00049
00050 class VTK_GRAPHICS_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
00051 {
00052 public:
00053 vtkTypeRevisionMacro(vtkFeatureEdges,vtkPolyDataAlgorithm);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00055
00058 static vtkFeatureEdges *New();
00059
00061
00062 vtkSetMacro(BoundaryEdges,int);
00063 vtkGetMacro(BoundaryEdges,int);
00064 vtkBooleanMacro(BoundaryEdges,int);
00066
00068
00069 vtkSetMacro(FeatureEdges,int);
00070 vtkGetMacro(FeatureEdges,int);
00071 vtkBooleanMacro(FeatureEdges,int);
00073
00075
00076 vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00077 vtkGetMacro(FeatureAngle,double);
00079
00081
00082 vtkSetMacro(NonManifoldEdges,int);
00083 vtkGetMacro(NonManifoldEdges,int);
00084 vtkBooleanMacro(NonManifoldEdges,int);
00086
00088
00089 vtkSetMacro(ManifoldEdges,int);
00090 vtkGetMacro(ManifoldEdges,int);
00091 vtkBooleanMacro(ManifoldEdges,int);
00093
00095
00096 vtkSetMacro(Coloring,int);
00097 vtkGetMacro(Coloring,int);
00098 vtkBooleanMacro(Coloring,int);
00100
00102
00104 void SetLocator(vtkPointLocator *locator);
00105 vtkGetObjectMacro(Locator,vtkPointLocator);
00107
00109 void CreateDefaultLocator();
00110
00112 unsigned long GetMTime();
00113
00114 protected:
00115 vtkFeatureEdges();
00116 ~vtkFeatureEdges();
00117
00118
00119 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00120 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00121
00122 double FeatureAngle;
00123 int BoundaryEdges;
00124 int FeatureEdges;
00125 int NonManifoldEdges;
00126 int ManifoldEdges;
00127 int Coloring;
00128 vtkPointLocator *Locator;
00129 private:
00130 vtkFeatureEdges(const vtkFeatureEdges&);
00131 void operator=(const vtkFeatureEdges&);
00132 };
00133
00134 #endif
00135
00136