VTK  9.3.1
vtkHausdorffDistancePointSetFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) 2011 LTSI INSERM U642
3 // SPDX-License-Identifier: BSD-3-Clause
30 #ifndef vtkHausdorffDistancePointSetFilter_h
31 #define vtkHausdorffDistancePointSetFilter_h
32 
33 #include "vtkFiltersModelingModule.h" // For export macro
34 #include "vtkPointSetAlgorithm.h"
35 
36 VTK_ABI_NAMESPACE_BEGIN
37 class VTKFILTERSMODELING_EXPORT vtkHausdorffDistancePointSetFilter : public vtkPointSetAlgorithm
38 {
39 public:
41 
46  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
53  vtkGetVector2Macro(RelativeDistance, double);
55 
57 
60  vtkGetMacro(HausdorffDistance, double);
62 
64  {
66  POINT_TO_CELL
67  };
68 
70 
78  vtkSetMacro(TargetDistanceMethod, int);
79  vtkGetMacro(TargetDistanceMethod, int);
80  void SetTargetDistanceMethodToPointToPoint() { this->SetTargetDistanceMethod(POINT_TO_POINT); }
81  void SetTargetDistanceMethodToPointToCell() { this->SetTargetDistanceMethod(POINT_TO_CELL); }
82  const char* GetTargetDistanceMethodAsString();
84 
85 protected:
88 
91 
93  double RelativeDistance[2];
95 
96 private:
98  void operator=(const vtkHausdorffDistancePointSetFilter&) = delete;
99 };
101 {
103  {
104  return "PointToPoint";
105  }
106  else
107  {
108  return "PointToCell";
109  }
110 }
111 VTK_ABI_NAMESPACE_END
112 #endif
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
void SetTargetDistanceMethodToPointToPoint()
Specify the strategy for computing the distance.
const char * GetTargetDistanceMethodAsString()
Specify the strategy for computing the distance.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Compute Hausdorff distance between two point sets.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetTargetDistanceMethodToPointToCell()
Specify the strategy for computing the distance.
a simple class to control print indentation
Definition: vtkIndent.h:28
Superclass for algorithms that produce output of the same type as input.
int TargetDistanceMethod
point-to-point if 0, point-to-cell if 1
double HausdorffDistance
hausdorff distance (max(relative distance))
static vtkPointSetAlgorithm * New()
Store zero or more vtkInformation instances.