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 =========================================================================*/
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:
105  vtkWarpLens();
106  ~vtkWarpLens() override {}
107 
108  int RequestDataObject(vtkInformation *request,
109  vtkInformationVector **inputVector,
110  vtkInformationVector *outputVector) override;
113  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
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:120
a simple class to control print indentation
Definition: vtkIndent.h:33
#define P1
Superclass for algorithms that produce output of the same type as input.
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:29
#define VTK_SIZEHINT(...)
static vtkPointSetAlgorithm * New()
#define P2
Store zero or more vtkInformation instances.
double FormatHeight
Definition: vtkWarpLens.h:121