VTK  9.3.1
vtkWarpLens.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
14 #ifndef vtkWarpLens_h
15 #define vtkWarpLens_h
16 
17 #include "vtkFiltersGeneralModule.h" // For export macro
18 #include "vtkPointSetAlgorithm.h"
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
22 {
23 public:
24  static vtkWarpLens* New();
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
29 
33  void SetKappa(double kappa);
34  double GetKappa();
36 
38 
42  void SetCenter(double centerX, double centerY);
43  double* GetCenter() VTK_SIZEHINT(2);
45 
47 
50  vtkSetVector2Macro(PrincipalPoint, double);
51  vtkGetVectorMacro(PrincipalPoint, double, 2);
53 
55 
58  vtkSetMacro(K1, double);
59  vtkGetMacro(K1, double);
60  vtkSetMacro(K2, double);
61  vtkGetMacro(K2, double);
63 
65 
68  vtkSetMacro(P1, double);
69  vtkGetMacro(P1, double);
70  vtkSetMacro(P2, double);
71  vtkGetMacro(P2, double);
73 
75 
78  vtkSetMacro(FormatWidth, double);
79  vtkGetMacro(FormatWidth, double);
80  vtkSetMacro(FormatHeight, double);
81  vtkGetMacro(FormatHeight, double);
83 
85 
88  vtkSetMacro(ImageWidth, int);
89  vtkGetMacro(ImageWidth, int);
90  vtkSetMacro(ImageHeight, int);
91  vtkGetMacro(ImageHeight, int);
93 
94  int FillInputPortInformation(int port, vtkInformation* info) override;
95 
96 protected:
97  vtkWarpLens();
98  ~vtkWarpLens() override = default;
99 
100  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
101  vtkInformationVector* outputVector) override;
102  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
103 
104  double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
105  double K1; // Symmetric radial distortion parameters
106  double K2;
107  double P1; // Decentering distortion parameters
108  double P2;
109  double FormatWidth; // imager format width in mm
110  double FormatHeight; // imager format height in mm
111  int ImageWidth; // image width in pixels
112  int ImageHeight; // image height in pixels
113 private:
114  vtkWarpLens(const vtkWarpLens&) = delete;
115  void operator=(const vtkWarpLens&) = delete;
116 };
117 
118 VTK_ABI_NAMESPACE_END
119 #endif
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
Superclass for algorithms that produce output of the same type as input.
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:21
#define VTK_SIZEHINT(...)
static vtkPointSetAlgorithm * New()
Store zero or more vtkInformation instances.