VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
25 #ifndef __vtkWarpLens_h
26 #define __vtkWarpLens_h
27 
28 #include "vtkFiltersGeneralModule.h" // For export macro
29 #include "vtkPointSetAlgorithm.h"
30 
31 class VTKFILTERSGENERAL_EXPORT vtkWarpLens : public vtkPointSetAlgorithm
32 {
33 public:
34  static vtkWarpLens *New();
35  vtkTypeMacro(vtkWarpLens,vtkPointSetAlgorithm);
36  void PrintSelf(ostream& os, vtkIndent indent);
37 
39 
41  void SetKappa(double kappa);
42  double GetKappa();
44 
46 
48  void SetCenter(double centerX, double centerY);
49  double *GetCenter();
51 
53 
54  vtkSetVector2Macro(PrincipalPoint,double);
55  vtkGetVectorMacro(PrincipalPoint,double,2);
57 
59 
60  vtkSetMacro(K1,double);
61  vtkGetMacro(K1,double);
62  vtkSetMacro(K2,double);
63  vtkGetMacro(K2,double);
65 
67 
68  vtkSetMacro(P1,double);
69  vtkGetMacro(P1,double);
70  vtkSetMacro(P2,double);
71  vtkGetMacro(P2,double);
73 
75 
76  vtkSetMacro(FormatWidth,double);
77  vtkGetMacro(FormatWidth,double);
78  vtkSetMacro(FormatHeight,double);
79  vtkGetMacro(FormatHeight,double);
81 
83 
84  vtkSetMacro(ImageWidth,int);
85  vtkGetMacro(ImageWidth,int);
86  vtkSetMacro(ImageHeight,int);
87  vtkGetMacro(ImageHeight,int);
89 
90  int FillInputPortInformation(int port, vtkInformation *info);
91 
92 protected:
93  vtkWarpLens();
95 
96  int RequestDataObject(vtkInformation *request,
97  vtkInformationVector **inputVector,
98  vtkInformationVector *outputVector);
99  int RequestData(vtkInformation *,
100  vtkInformationVector **,
101  vtkInformationVector *);
102 
103  double PrincipalPoint[2]; // The calibrated principal point of camera/lens in mm
104  double K1; // Symmetric radial distortion parameters
105  double K2;
106  double P1; // Decentering distortion parameters
107  double P2;
108  double FormatWidth; // imager format width in mm
109  double FormatHeight; // imager format height in mm
110  int ImageWidth; // image width in pixels
111  int ImageHeight; // image height in pixels
112 private:
113  vtkWarpLens(const vtkWarpLens&); // Not implemented.
114  void operator=(const vtkWarpLens&); // Not implemented.
115 };
116 
117 #endif
double FormatWidth
Definition: vtkWarpLens.h:108
#define P1
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:31
#define P2
double FormatHeight
Definition: vtkWarpLens.h:109