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) VTK_OVERRIDE;
38 
40 
44  void SetKappa(double kappa);
45  double GetKappa();
47 
49 
53  void SetCenter(double centerX, double centerY);
54  double *GetCenter();
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 
106 
107 protected:
109  ~vtkWarpLens() VTK_OVERRIDE {}
110 
112  vtkInformationVector **inputVector,
113  vtkInformationVector *outputVector) VTK_OVERRIDE;
116  vtkInformationVector *) VTK_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&) VTK_DELETE_FUNCTION;
129  void operator=(const vtkWarpLens&) VTK_DELETE_FUNCTION;
130 };
131 
132 #endif
a simple class to control print indentation
Definition: vtkIndent.h:40
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
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:123
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.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
static vtkWarpLens * New()
~vtkWarpLens() override
Definition: vtkWarpLens.h:109
double FormatHeight
Definition: vtkWarpLens.h:124
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
#define P1
#define P2