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:
108  vtkWarpLens();
109  ~vtkWarpLens() override = default;
110 
111  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
112  vtkInformationVector* outputVector) override;
113  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) 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
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:39
Superclass for algorithms that produce output of the same type as input.
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:32
#define VTK_SIZEHINT(...)
static vtkPointSetAlgorithm * New()
Store zero or more vtkInformation instances.