00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00045 #ifndef __vtkReebGraphSurfaceSkeletonFilter_h
00046 #define __vtkReebGraphSurfaceSkeletonFilter_h
00047
00048 #include "vtkDataObjectAlgorithm.h"
00049
00050 class vtkReebGraph;
00051 class vtkTable;
00052
00053 class VTK_GRAPHICS_EXPORT vtkReebGraphSurfaceSkeletonFilter :
00054 public vtkDataObjectAlgorithm
00055 {
00056 public:
00057 static vtkReebGraphSurfaceSkeletonFilter* New();
00058 vtkTypeMacro(vtkReebGraphSurfaceSkeletonFilter, vtkDataObjectAlgorithm);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00062
00064 vtkSetMacro(NumberOfSamples, int);
00065 vtkGetMacro(NumberOfSamples, int);
00067
00069
00070 vtkSetMacro(NumberOfSmoothingIterations, int);
00071 vtkGetMacro(NumberOfSmoothingIterations, int);
00073
00075
00076 vtkSetMacro(FieldId, vtkIdType);
00077 vtkGetMacro(FieldId, vtkIdType);
00079
00080 vtkTable* GetOutput();
00081
00082 protected:
00083 vtkReebGraphSurfaceSkeletonFilter();
00084 ~vtkReebGraphSurfaceSkeletonFilter();
00085
00086 vtkIdType FieldId;
00087 int NumberOfSamples, NumberOfSmoothingIterations;
00088
00089 int FillInputPortInformation(int portNumber, vtkInformation *);
00090 int FillOutputPortInformation(int portNumber, vtkInformation *info);
00091
00092 int RequestData(vtkInformation *request,
00093 vtkInformationVector **inputVector, vtkInformationVector *outputVector);
00094
00095 private:
00096 vtkReebGraphSurfaceSkeletonFilter(const vtkReebGraphSurfaceSkeletonFilter&);
00097 void operator=(const vtkReebGraphSurfaceSkeletonFilter&);
00098 };
00099
00100 #endif