VTK
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 {}
110 
111  int RequestDataObject(vtkInformation *request,
112  vtkInformationVector **inputVector,
113  vtkInformationVector *outputVector) override;
116  vtkInformationVector *) override;
117 
118  double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
119  double K1; // Symmetric radial distortion parameters
120  double K2;
121  double P1; // Decentering distortion parameters
122  double P2;
123  double FormatWidth; // imager format width in mm
124  double FormatHeight; // imager format height in mm
125  int ImageWidth; // image width in pixels
126  int ImageHeight; // image height in pixels
127 private:
128  vtkWarpLens(const vtkWarpLens&) = delete;
129  void operator=(const vtkWarpLens&) = delete;
130 };
131 
132 #endif
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
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.
double FormatWidth
Definition: vtkWarpLens.h:123
a simple class to control print indentation
Definition: vtkIndent.h:39
#define P1
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()
#define P2
Store zero or more vtkInformation instances.
double FormatHeight
Definition: vtkWarpLens.h:124