gramods
StereographicCoordinatesMapper.hh
1 
2 #ifndef GRAMODS_GRAPHICS_STEREOGRAPHICCOORDINATESMAPPER
3 #define GRAMODS_GRAPHICS_STEREOGRAPHICCOORDINATESMAPPER
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 
25 
26 public:
27 
30 
34  std::string getCommonCode() override;
35 
39  std::string getTo2DCode() override;
40 
44  std::string getTo3DCode() override;
45 
49  void setCommonUniforms(GLuint program) override;
50 
57  void setRadius(float R);
58 
66  void setCoverageAngle(gmCore::angle a);
67 
76  void setTheta0(gmCore::angle a);
77 
86  void setPhi0(gmCore::angle a);
87 
88  GM_OFI_DECLARE;
89 
90 private:
91 
92  struct Impl;
93  std::unique_ptr<Impl> _impl;
94 };
95 
96 END_NAMESPACE_GMGRAPHICS;
97 
98 #endif
A CoordinatesMapper provides a mapping between 2D and 3D.
Definition: CoordinatesMapper.hh:23
Coordinates mapper that provides a stereographic mapping between 2D and 3D.
Definition: StereographicCoordinatesMapper.hh:24
A simple placeholder for angle values expressed in radians.
Definition: io_angle.hh:20
Definition: StereographicCoordinatesMapper.cpp:14