VTK  9.3.0
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
39 #ifndef vtkHausdorffDistancePointSetFilter_h
40 #define vtkHausdorffDistancePointSetFilter_h
41 
42 #include "vtkFiltersModelingModule.h" // For export macro
43 #include "vtkPointSetAlgorithm.h"
44 
45 VTK_ABI_NAMESPACE_BEGIN
46 class VTKFILTERSMODELING_EXPORT vtkHausdorffDistancePointSetFilter : public vtkPointSetAlgorithm
47 {
48 public:
50 
55  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
62  vtkGetVector2Macro(RelativeDistance, double);
64 
66 
69  vtkGetMacro(HausdorffDistance, double);
71 
73  {
75  POINT_TO_CELL
76  };
77 
79 
87  vtkSetMacro(TargetDistanceMethod, int);
88  vtkGetMacro(TargetDistanceMethod, int);
89  void SetTargetDistanceMethodToPointToPoint() { this->SetTargetDistanceMethod(POINT_TO_POINT); }
90  void SetTargetDistanceMethodToPointToCell() { this->SetTargetDistanceMethod(POINT_TO_CELL); }
91  const char* GetTargetDistanceMethodAsString();
93 
94 protected:
97 
100 
102  double RelativeDistance[2];
104 
105 private:
107  void operator=(const vtkHausdorffDistancePointSetFilter&) = delete;
108 };
110 {
112  {
113  return "PointToPoint";
114  }
115  else
116  {
117  return "PointToCell";
118  }
119 }
120 VTK_ABI_NAMESPACE_END
121 #endif
Compute Hausdorff distance between two point sets.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetTargetDistanceMethodToPointToCell()
Specify the strategy for computing the distance.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for construction, type and printing.
int TargetDistanceMethod
point-to-point if 0, point-to-cell if 1
double HausdorffDistance
hausdorff distance (max(relative distance))
static vtkHausdorffDistancePointSetFilter * New()
Standard methods for construction, type and printing.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetTargetDistanceMethodToPointToPoint()
Specify the strategy for computing the distance.
const char * GetTargetDistanceMethodAsString()
Specify the strategy for computing the distance.
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447