VTK  9.3.20240423
vtkReebGraphSimplificationMetric.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
37#ifndef vtkReebGraphSimplificationMetric_h
38#define vtkReebGraphSimplificationMetric_h
39
40#include "vtkCommonDataModelModule.h" // For export macro
41#include "vtkObject.h"
42
43VTK_ABI_NAMESPACE_BEGIN
44class vtkDataSet;
45class vtkDataArray;
47
48class VTKCOMMONDATAMODEL_EXPORT vtkReebGraphSimplificationMetric : public vtkObject
49{
50public:
53 void PrintSelf(ostream& os, vtkIndent indent) override;
54
56
62 vtkSetMacro(LowerBound, double);
63 vtkGetMacro(LowerBound, double);
65
67
73 vtkSetMacro(UpperBound, double);
74 vtkGetMacro(UpperBound, double);
76
84 virtual double ComputeMetric(vtkDataSet* mesh, vtkDataArray* field, vtkIdType startCriticalPoint,
85 vtkAbstractArray* vertexList, vtkIdType endCriticalPoint);
86
87protected:
90
91 double LowerBound, UpperBound;
92
93private:
95 void operator=(const vtkReebGraphSimplificationMetric&) = delete;
96};
97
98VTK_ABI_NAMESPACE_END
99#endif
Abstract superclass for all arrays.
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
abstract class for custom Reeb graph simplification metric design.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual double ComputeMetric(vtkDataSet *mesh, vtkDataArray *field, vtkIdType startCriticalPoint, vtkAbstractArray *vertexList, vtkIdType endCriticalPoint)
Function to implement in your simplification metric algorithm.
static vtkReebGraphSimplificationMetric * New()
int vtkIdType
Definition vtkType.h:315