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