VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile$ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00046 #ifndef __vtkReebGraphVolumeSkeletonFilter_h 00047 #define __vtkReebGraphVolumeSkeletonFilter_h 00048 00049 #include "vtkFiltersReebGraphModule.h" // For export macro 00050 #include "vtkDataObjectAlgorithm.h" 00051 00052 class vtkReebGraph; 00053 class vtkTable; 00054 00055 class VTKFILTERSREEBGRAPH_EXPORT vtkReebGraphVolumeSkeletonFilter : 00056 public vtkDataObjectAlgorithm 00057 { 00058 public: 00059 static vtkReebGraphVolumeSkeletonFilter* New(); 00060 vtkTypeMacro(vtkReebGraphVolumeSkeletonFilter, 00061 vtkDataObjectAlgorithm); 00062 void PrintSelf(ostream& os, vtkIndent indent); 00063 00065 00067 vtkSetMacro(NumberOfSamples, int); 00068 vtkGetMacro(NumberOfSamples, int); 00070 00072 00073 vtkSetMacro(NumberOfSmoothingIterations, int); 00074 vtkGetMacro(NumberOfSmoothingIterations, int); 00076 00078 00079 vtkSetMacro(FieldId, vtkIdType); 00080 vtkGetMacro(FieldId, vtkIdType); 00082 00083 vtkTable* GetOutput(); 00084 00085 protected: 00086 vtkReebGraphVolumeSkeletonFilter(); 00087 ~vtkReebGraphVolumeSkeletonFilter(); 00088 00089 vtkIdType FieldId; 00090 int NumberOfSamples, NumberOfSmoothingIterations; 00091 00092 int FillInputPortInformation(int portNumber, vtkInformation *); 00093 int FillOutputPortInformation(int portNumber, vtkInformation *info); 00094 00095 int RequestData(vtkInformation *request, 00096 vtkInformationVector **inputVector, vtkInformationVector *outputVector); 00097 00098 private: 00099 vtkReebGraphVolumeSkeletonFilter(const vtkReebGraphVolumeSkeletonFilter&); // Not implemented. 00100 void operator=(const vtkReebGraphVolumeSkeletonFilter&); // Not implemented. 00101 }; 00102 00103 #endif