VTK
dox/Graphics/vtkReebGraphSimplificationFilter.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 =========================================================================*/
00025 #ifndef __vtkReebGraphSimplificationFilter_h
00026 #define __vtkReebGraphSimplificationFilter_h
00027 
00028 #include "vtkDirectedGraphAlgorithm.h"
00029 
00030 class vtkReebGraph;
00031 class vtkReebGraphSimplificationMetric;
00032 
00033 class VTK_GRAPHICS_EXPORT vtkReebGraphSimplificationFilter : 
00034   public vtkDirectedGraphAlgorithm
00035 {
00036 public:
00037   static vtkReebGraphSimplificationFilter* New();
00038   vtkTypeMacro(vtkReebGraphSimplificationFilter, vtkDirectedGraphAlgorithm);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00044   vtkSetMacro(SimplificationThreshold, double);
00045   vtkGetMacro(SimplificationThreshold, double);
00047 
00050   void SetSimplificationMetric(vtkReebGraphSimplificationMetric *metric);
00051 
00052   vtkReebGraph* GetOutput();
00053 
00054 protected:
00055   vtkReebGraphSimplificationFilter();
00056   ~vtkReebGraphSimplificationFilter();
00057 
00058   double SimplificationThreshold;
00059 
00060   vtkReebGraphSimplificationMetric *SimplificationMetric;
00061 
00062   int FillInputPortInformation(int portNumber, vtkInformation *);
00063   int FillOutputPortInformation(int, vtkInformation *);
00064 
00065   int RequestData(vtkInformation *request,
00066     vtkInformationVector **inputVector, vtkInformationVector *outputVector);
00067 
00068 private:
00069   vtkReebGraphSimplificationFilter(const vtkReebGraphSimplificationFilter&); // Not implemented.
00070   void operator=(const vtkReebGraphSimplificationFilter&); // Not implemented.
00071 };
00072 
00073 #endif