00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00047
#ifndef __vtkFeatureEdges_h
00048
#define __vtkFeatureEdges_h
00049
00050
#include "vtkPolyDataToPolyDataFilter.h"
00051
00052
class vtkPointLocator;
00053
00054 class VTK_GRAPHICS_EXPORT vtkFeatureEdges :
public vtkPolyDataToPolyDataFilter
00055 {
00056
public:
00057 vtkTypeRevisionMacro(vtkFeatureEdges,
vtkPolyDataToPolyDataFilter);
00058
void PrintSelf(ostream& os,
vtkIndent indent);
00059
00062
static vtkFeatureEdges *
New();
00063
00065
00066 vtkSetMacro(BoundaryEdges,
int);
00067 vtkGetMacro(BoundaryEdges,
int);
00068 vtkBooleanMacro(BoundaryEdges,
int);
00070
00072
00073 vtkSetMacro(FeatureEdges,
int);
00074 vtkGetMacro(FeatureEdges,
int);
00075 vtkBooleanMacro(FeatureEdges,
int);
00077
00079
00080 vtkSetClampMacro(FeatureAngle,
float,0.0,180.0);
00081 vtkGetMacro(FeatureAngle,
float);
00083
00085
00086 vtkSetMacro(NonManifoldEdges,
int);
00087 vtkGetMacro(NonManifoldEdges,
int);
00088 vtkBooleanMacro(NonManifoldEdges,
int);
00090
00092
00093 vtkSetMacro(ManifoldEdges,
int);
00094 vtkGetMacro(ManifoldEdges,
int);
00095 vtkBooleanMacro(ManifoldEdges,
int);
00097
00099
00100 vtkSetMacro(Coloring,
int);
00101 vtkGetMacro(Coloring,
int);
00102 vtkBooleanMacro(Coloring,
int);
00104
00106
00108
void SetLocator(
vtkPointLocator *locator);
00109 vtkGetObjectMacro(Locator,
vtkPointLocator);
00111
00113
void CreateDefaultLocator();
00114
00116
unsigned long GetMTime();
00117
00118
protected:
00119 vtkFeatureEdges();
00120 ~vtkFeatureEdges();
00121
00122
00123
void Execute();
00124
void ComputeInputUpdateExtents(
vtkDataObject *output);
00125
00126 float FeatureAngle;
00127 int BoundaryEdges;
00128 int FeatureEdges;
00129 int NonManifoldEdges;
00130 int ManifoldEdges;
00131 int Coloring;
00132 vtkPointLocator *Locator;
00133
private:
00134 vtkFeatureEdges(
const vtkFeatureEdges&);
00135
void operator=(
const vtkFeatureEdges&);
00136 };
00137
00138
#endif
00139
00140