VTK  9.2.6
vtkWarpLens.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWarpLens.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef vtkWarpLens_h
27 #define vtkWarpLens_h
28 
29 #include "vtkFiltersGeneralModule.h" // For export macro
30 #include "vtkPointSetAlgorithm.h"
31 
32 class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
33 {
34 public:
35  static vtkWarpLens* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
44  void SetKappa(double kappa);
45  double GetKappa();
47 
49 
53  void SetCenter(double centerX, double centerY);
54  double* GetCenter() VTK_SIZEHINT(2);
56 
58 
61  vtkSetVector2Macro(PrincipalPoint, double);
62  vtkGetVectorMacro(PrincipalPoint, double, 2);
64 
66 
69  vtkSetMacro(K1, double);
70  vtkGetMacro(K1, double);
71  vtkSetMacro(K2, double);
72  vtkGetMacro(K2, double);
74 
76 
79  vtkSetMacro(P1, double);
80  vtkGetMacro(P1, double);
81  vtkSetMacro(P2, double);
82  vtkGetMacro(P2, double);
84 
86 
89  vtkSetMacro(FormatWidth, double);
90  vtkGetMacro(FormatWidth, double);
91  vtkSetMacro(FormatHeight, double);
92  vtkGetMacro(FormatHeight, double);
94 
96 
99  vtkSetMacro(ImageWidth, int);
100  vtkGetMacro(ImageWidth, int);
101  vtkSetMacro(ImageHeight, int);
102  vtkGetMacro(ImageHeight, int);
104 
105  int FillInputPortInformation(int port, vtkInformation* info) override;
106 
107 protected:
109  ~vtkWarpLens() override = default;
110 
111  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
112  vtkInformationVector* outputVector) override;
114 
115  double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
116  double K1; // Symmetric radial distortion parameters
117  double K2;
118  double P1; // Decentering distortion parameters
119  double P2;
120  double FormatWidth; // imager format width in mm
121  double FormatHeight; // imager format height in mm
122  int ImageWidth; // image width in pixels
123  int ImageHeight; // image height in pixels
124 private:
125  vtkWarpLens(const vtkWarpLens&) = delete;
126  void operator=(const vtkWarpLens&) = delete;
127 };
128 
129 #endif
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetCenter(double centerX, double centerY)
Specify the center of radial distortion in pixels.
double * GetCenter()
Specify the center of radial distortion in pixels.
double GetKappa()
Specify second order symmetric radial lens distortion parameter.
void SetKappa(double kappa)
Specify second order symmetric radial lens distortion parameter.
static vtkWarpLens * New()
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
#define VTK_SIZEHINT(...)