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 =========================================================================*/ 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