VTK  9.0.1
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, vtkInformationVector** inputVector,
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
vtkWarpLens::P1
double P1
Definition: vtkWarpLens.h:115
vtkPointSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkPointSetAlgorithm.h:43
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkWarpLens::P2
double P2
Definition: vtkWarpLens.h:116
vtkPointSetAlgorithm.h
vtkWarpLens::FormatWidth
double FormatWidth
Definition: vtkWarpLens.h:117
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkPointSetAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Definition: vtkPointSetAlgorithm.h:131
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkPointSetAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkWarpLens::K1
double K1
Definition: vtkWarpLens.h:113
vtkWarpLens::ImageHeight
int ImageHeight
Definition: vtkWarpLens.h:120
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkWarpLens::K2
double K2
Definition: vtkWarpLens.h:114
vtkWarpLens
deform geometry by applying lens distortion
Definition: vtkWarpLens.h:29
vtkWarpLens::FormatHeight
double FormatHeight
Definition: vtkWarpLens.h:118
vtkPointSetAlgorithm::New
static vtkPointSetAlgorithm * New()
vtkWarpLens::ImageWidth
int ImageWidth
Definition: vtkWarpLens.h:119
vtkPointSetAlgorithm::RequestDataObject
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.