00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkFeatureEdges_h
00041 #define __vtkFeatureEdges_h
00042
00043 #include "vtkPolyDataAlgorithm.h"
00044
00045 class vtkPointLocator;
00046
00047 class VTK_GRAPHICS_EXPORT vtkFeatureEdges : public vtkPolyDataAlgorithm
00048 {
00049 public:
00050 vtkTypeRevisionMacro(vtkFeatureEdges,vtkPolyDataAlgorithm);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00055 static vtkFeatureEdges *New();
00056
00058
00059 vtkSetMacro(BoundaryEdges,int);
00060 vtkGetMacro(BoundaryEdges,int);
00061 vtkBooleanMacro(BoundaryEdges,int);
00063
00065
00066 vtkSetMacro(FeatureEdges,int);
00067 vtkGetMacro(FeatureEdges,int);
00068 vtkBooleanMacro(FeatureEdges,int);
00070
00072
00073 vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00074 vtkGetMacro(FeatureAngle,double);
00076
00078
00079 vtkSetMacro(NonManifoldEdges,int);
00080 vtkGetMacro(NonManifoldEdges,int);
00081 vtkBooleanMacro(NonManifoldEdges,int);
00083
00085
00086 vtkSetMacro(ManifoldEdges,int);
00087 vtkGetMacro(ManifoldEdges,int);
00088 vtkBooleanMacro(ManifoldEdges,int);
00090
00092
00093 vtkSetMacro(Coloring,int);
00094 vtkGetMacro(Coloring,int);
00095 vtkBooleanMacro(Coloring,int);
00097
00099
00101 void SetLocator(vtkPointLocator *locator);
00102 vtkGetObjectMacro(Locator,vtkPointLocator);
00104
00106 void CreateDefaultLocator();
00107
00109 unsigned long GetMTime();
00110
00111 protected:
00112 vtkFeatureEdges();
00113 ~vtkFeatureEdges();
00114
00115
00116 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00117 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00118
00119 double FeatureAngle;
00120 int BoundaryEdges;
00121 int FeatureEdges;
00122 int NonManifoldEdges;
00123 int ManifoldEdges;
00124 int Coloring;
00125 vtkPointLocator *Locator;
00126 private:
00127 vtkFeatureEdges(const vtkFeatureEdges&);
00128 void operator=(const vtkFeatureEdges&);
00129 };
00130
00131 #endif
00132
00133