VTK  9.0.2
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 =========================================================================*/
23 #ifndef vtkWarpLens_h
24 #define vtkWarpLens_h
25 
26 #include "vtkFiltersGeneralModule.h" // For export macro
27 #include "vtkPointSetAlgorithm.h"
28 
29 class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
30 {
31 public:
32  static vtkWarpLens* New();
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
37 
41  void SetKappa(double kappa);
42  double GetKappa();
44 
46 
50  void SetCenter(double centerX, double centerY);
51  double* GetCenter() VTK_SIZEHINT(2);
53 
55 
58  vtkSetVector2Macro(PrincipalPoint, double);
59  vtkGetVectorMacro(PrincipalPoint, double, 2);
61 
63 
66  vtkSetMacro(K1, double);
67  vtkGetMacro(K1, double);
68  vtkSetMacro(K2, double);
69  vtkGetMacro(K2, double);
71 
73 
76  vtkSetMacro(P1, double);
77  vtkGetMacro(P1, double);
78  vtkSetMacro(P2, double);
79  vtkGetMacro(P2, double);
81 
83 
86  vtkSetMacro(FormatWidth, double);
87  vtkGetMacro(FormatWidth, double);
88  vtkSetMacro(FormatHeight, double);
89  vtkGetMacro(FormatHeight, double);
91 
93 
96  vtkSetMacro(ImageWidth, int);
97  vtkGetMacro(ImageWidth, int);
98  vtkSetMacro(ImageHeight, int);
99  vtkGetMacro(ImageHeight, int);
101 
102  int FillInputPortInformation(int port, vtkInformation* info) override;
103 
104 protected:
106  ~vtkWarpLens() override {}
107 
109  vtkInformationVector* outputVector) override;
111 
112  double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
113  double K1; // Symmetric radial distortion parameters
114  double K2;
115  double P1; // Decentering distortion parameters
116  double P2;
117  double FormatWidth; // imager format width in mm
118  double FormatHeight; // imager format height in mm
119  int ImageWidth; // image width in pixels
120  int ImageHeight; // image height in pixels
121 private:
122  vtkWarpLens(const vtkWarpLens&) = delete;
123  void operator=(const vtkWarpLens&) = delete;
124 };
125 
126 #endif
a simple class to control print indentation
Definition: vtkIndent.h:34
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:30
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
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 FormatWidth
Definition: vtkWarpLens.h:117
double * GetCenter()
double GetKappa()
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
void SetKappa(double kappa)
Specify second order symmetric radial lens distortion parameter.
static vtkWarpLens * New()
double FormatHeight
Definition: vtkWarpLens.h:118
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
#define VTK_SIZEHINT(...)