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 =========================================================================*/ 00048 #ifndef __vtkReebGraphSimplificationMetric_h 00049 #define __vtkReebGraphSimplificationMetric_h 00050 00051 #include "vtkCommonDataModelModule.h" // For export macro 00052 #include "vtkObject.h" 00053 00054 class vtkDataSet; 00055 class vtkDataArray; 00056 class vtkAbstractArray; 00057 00058 class VTKCOMMONDATAMODEL_EXPORT vtkReebGraphSimplificationMetric : 00059 public vtkObject 00060 { 00061 public: 00062 static vtkReebGraphSimplificationMetric* New(); 00063 vtkTypeMacro(vtkReebGraphSimplificationMetric, vtkObject); 00064 void PrintSelf(ostream& os, vtkIndent indent); 00065 00067 00071 vtkSetMacro(LowerBound, double); 00072 vtkGetMacro(LowerBound, double); 00074 00076 00080 vtkSetMacro(UpperBound, double); 00081 vtkGetMacro(UpperBound, double); 00083 00085 00090 virtual double ComputeMetric(vtkDataSet *mesh, vtkDataArray *field, 00091 vtkIdType startCriticalPoint, vtkAbstractArray *vertexList, 00092 vtkIdType endCriticalPoint); 00094 00095 protected: 00096 vtkReebGraphSimplificationMetric(); 00097 ~vtkReebGraphSimplificationMetric(); 00098 00099 double LowerBound, UpperBound; 00100 00101 private: 00102 vtkReebGraphSimplificationMetric(const vtkReebGraphSimplificationMetric&); 00103 // Not implemented. 00104 void operator=(const vtkReebGraphSimplificationMetric&); 00105 // Not implemented. 00106 }; 00107 00108 #endif