VTK
dox/Filters/ReebGraph/vtkReebGraphVolumeSkeletonFilter.h
Go to the documentation of this file.
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