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