VTK  9.5.20250902
vtkDecimatePolylineStrategy.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
20#ifndef vtkDecimatePolylineStrategy_h
21#define vtkDecimatePolylineStrategy_h
22
23#include "vtkFiltersCoreModule.h" // For export macro
24#include "vtkObject.h"
25#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
26
27VTK_ABI_NAMESPACE_BEGIN
28
29class vtkPointSet;
30
31class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkDecimatePolylineStrategy : public vtkObject
32{
33public:
45 virtual double ComputeError(
46 vtkPointSet* dataset, vtkIdType originId, vtkIdType p1Id, vtkIdType p2Id) = 0;
47
56 virtual bool IsStateValid(vtkPointSet* vtkNotUsed(dataset)) const { return true; }
57
58protected:
60 ~vtkDecimatePolylineStrategy() override = default;
61
62private:
64 void operator=(const vtkDecimatePolylineStrategy&) = delete;
65};
66VTK_ABI_NAMESPACE_END
67
68#endif
abstract class to define a decimation strategy for the vtkDecimatePolylineFilter
~vtkDecimatePolylineStrategy() override=default
virtual bool IsStateValid(vtkPointSet *dataset) const
Returns whether this decimation strategy is in a valid state and ready to compute errors.
virtual double ComputeError(vtkPointSet *dataset, vtkIdType originId, vtkIdType p1Id, vtkIdType p2Id)=0
Virtual method for computing the decimation error.
abstract base class for most VTK objects
Definition vtkObject.h:162
concrete class for storing a set of points
Definition vtkPointSet.h:98
int vtkIdType
Definition vtkType.h:332
#define VTK_MARSHALAUTO