gramods
RectilinearCameraModel.hh
1 
2 #ifndef GRAMODS_GRAPHICS_RECTILINEARCAMERAMODEL
3 #define GRAMODS_GRAPHICS_RECTILINEARCAMERAMODEL
4 
5 // Required before gmCore/OFactory.hh for some compilers
6 #include <gmCore/io_float.hh>
7 
8 #include <gmGraphics/CoordinatesMapper.hh>
9 
10 #include <GL/glew.h>
11 #include <GL/gl.h>
12 
13 BEGIN_NAMESPACE_GMGRAPHICS;
14 
21 
22 public:
23 
26 
30  std::string getCommonCode() override;
31 
35  std::string getTo2DCode() override;
36 
40  std::string getTo3DCode() override;
41 
45  void setCommonUniforms(GLuint program) override;
46 
50  void setTo2DUniforms(GLuint program) override;
51 
57  void setKDistortion(gmCore::float3 k);
58 
64  void setPDistortion(gmCore::float2 p);
65 
88  void setFocalDistance(gmCore::float2 f);
89 
99  void setFocalOffset(gmCore::float2 c);
100 
101  GM_OFI_DECLARE;
102 
103 private:
104 
105  struct Impl;
106  std::unique_ptr<Impl> _impl;
107 };
108 
109 END_NAMESPACE_GMGRAPHICS;
110 
111 #endif
A CoordinatesMapper provides a mapping between 2D and 3D.
Definition: CoordinatesMapper.hh:23
Coordinates mapper that compensates for the optical effects as described by a rectilinear camera mode...
Definition: RectilinearCameraModel.hh:20
std::array< float, 3 > float3
Array of 3 float.
Definition: io_float.hh:15
std::array< float, 2 > float2
Array of 2 float.
Definition: io_float.hh:9
Definition: RectilinearCameraModel.cpp:15