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