gramods
EquirectangularCoordinatesMapper.hh
1 
2 #ifndef GRAMODS_GRAPHICS_EQUIRECTANGULARCOORDINATESMAPPER
3 #define GRAMODS_GRAPHICS_EQUIRECTANGULARCOORDINATESMAPPER
4 
5 // Required before gmCore/OFactory.hh for some compilers
6 #include <gmCore/io_angle.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 
59  void setCoverageAngle(gmCore::angle2 a);
60 
73  void setCoverageRange(gmCore::angle4 a);
74 
75  GM_OFI_DECLARE;
76 
77 private:
78 
79  struct Impl;
80  std::unique_ptr<Impl> _impl;
81 };
82 
83 END_NAMESPACE_GMGRAPHICS;
84 
85 #endif
A CoordinatesMapper provides a mapping between 2D and 3D.
Definition: CoordinatesMapper.hh:23
Coordinates mapper that provides an equirectangular mapping between 2D and fully spherical 3D.
Definition: EquirectangularCoordinatesMapper.hh:20
std::array< angle, 2 > angle2
Array of 2 angle.
Definition: io_angle.hh:59
std::array< angle, 4 > angle4
Array of 4 angle.
Definition: io_angle.hh:65
Definition: EquirectangularCoordinatesMapper.cpp:10