VTK  9.7.1
vtkPointsMatchingTransformFilter.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
15 #ifndef vtkPointsMatchingTransformFilter_h
16 #define vtkPointsMatchingTransformFilter_h
17 
18 #include "vtkFiltersGeneralModule.h" // For export macro
19 #include "vtkPointSetAlgorithm.h"
20 
21 #include "vtkMatrix4x4.h" // For vtkMatrix4x4
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkMatrix3x3;
25 
26 class VTKFILTERSGENERAL_EXPORT vtkPointsMatchingTransformFilter : public vtkPointSetAlgorithm
27 {
28 public:
30 
36  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
45  void SetSourcePoint1(double x, double y, double z);
46  void SetSourcePoint2(double x, double y, double z);
47  void SetSourcePoint3(double x, double y, double z);
48  void SetSourcePoint4(double x, double y, double z);
49  void SetTargetPoint1(double x, double y, double z);
50  void SetTargetPoint2(double x, double y, double z);
51  void SetTargetPoint3(double x, double y, double z);
52  void SetTargetPoint4(double x, double y, double z);
53  void SetSourcePoint(int index, double x, double y, double z);
54  void SetTargetPoint(int index, double x, double y, double z);
56 
58 
61  void SetSourceMatrix(vtkMatrix4x4*);
62  vtkGetObjectMacro(SourceMatrix, vtkMatrix4x4);
64 
66 
69  void SetTargetMatrix(vtkMatrix4x4*);
70  vtkGetObjectMacro(TargetMatrix, vtkMatrix4x4);
72 
74 
78  vtkSetMacro(RigidTransform, bool);
79  vtkGetMacro(RigidTransform, bool);
80  vtkBooleanMacro(RigidTransform, bool);
82 
86  vtkMTimeType GetMTime() override;
87 
88 protected:
90  ~vtkPointsMatchingTransformFilter() override = default;
91 
93 
94 private:
96  void operator=(const vtkPointsMatchingTransformFilter&) = delete;
97 
98  vtkSmartPointer<vtkMatrix4x4> SourceMatrix;
99  vtkSmartPointer<vtkMatrix4x4> TargetMatrix;
100  bool RigidTransform = false;
101 };
102 
103 VTK_ABI_NAMESPACE_END
104 #endif
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing instances of the class...
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
Superclass for algorithms that process vtkPointSet input.
static vtkPointSetAlgorithm * New()
Standard methods for instantiation, obtaining type information, and printing instances of the class...
Store zero or more vtkInformation instances.
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:26
affine transform a vtkPointSet based on 4 pairs of points