VTK  9.7.1
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 
27 VTK_ABI_NAMESPACE_BEGIN
28 
29 class vtkPointSet;
30 
31 class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkDecimatePolylineStrategy : public vtkObject
32 {
33 public:
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 
58 protected:
59  vtkDecimatePolylineStrategy() = default;
60  ~vtkDecimatePolylineStrategy() override = default;
61 
62 private:
64  void operator=(const vtkDecimatePolylineStrategy&) = delete;
65 };
66 VTK_ABI_NAMESPACE_END
67 
68 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:52
concrete class for storing a set of points
Definition: vtkPointSet.h:58
int vtkIdType
Definition: vtkType.h:363
virtual bool IsStateValid(vtkPointSet *dataset) const
Returns whether this decimation strategy is in a valid state and ready to compute errors...
abstract class to define a decimation strategy for the vtkDecimatePolylineFilter
#define VTK_MARSHALAUTO