gramods
Loading...
Searching...
No Matches
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
13BEGIN_NAMESPACE_GMGRAPHICS;
14
21
22public:
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
77private:
78
79 struct Impl;
80 std::unique_ptr<Impl> _impl;
81};
82
83END_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