gramods
Loading...
Searching...
No Matches
TransitionCoordinatesMapper.hh
1
2#ifndef GRAMODS_GRAPHICS_TRANSITIONCOORDINATESMAPPER
3#define GRAMODS_GRAPHICS_TRANSITIONCOORDINATESMAPPER
4
5// Required before gmCore/OFactory.hh for some compilers
6#include <gmCore/io_float.hh>
7#include <gmCore/io_size.hh>
8
9#include <gmGraphics/CoordinatesMapper.hh>
10
11#include <GL/glew.h>
12#include <GL/gl.h>
13
14BEGIN_NAMESPACE_GMGRAPHICS;
15
22
23public:
24
27
31 std::string getCommonCode() override;
32
36 std::string getTo2DCode() override;
37
41 std::string getTo3DCode() override;
42
46 void setCommonUniforms(GLuint program) override;
47
55 void setTimeRange(gmCore::float2 t);
56
64 void setFrameRange(gmCore::size2 f);
65
72 void setRatio(float n);
73
78 void addCoordinatesMapper(std::shared_ptr<CoordinatesMapper> m);
79
85 void traverse(Visitor *visitor) override;
86
87 GM_OFI_DECLARE;
88
89private:
90
91 struct Impl;
92 std::unique_ptr<Impl> _impl;
93};
94
95END_NAMESPACE_GMGRAPHICS;
96
97#endif
A CoordinatesMapper provides a mapping between 2D and 3D.
Definition CoordinatesMapper.hh:23
Coordinates mapper that provides a transition between two other coordinates mappers.
Definition TransitionCoordinatesMapper.hh:21
std::array< float, 2 > float2
Array of 2 float.
Definition io_float.hh:12
std::array< size_t, 2 > size2
Array of 2 size_t.
Definition io_size.hh:12
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition TransitionCoordinatesMapper.cpp:17