gramods
Loading...
Searching...
No Matches
SphereRenderer.hh
1
2#ifndef GRAMODS_GRAPHICS_SPHERERENDERER
3#define GRAMODS_GRAPHICS_SPHERERENDERER
4
5#include <gmGraphics/Renderer.hh>
6#include <gmGraphics/TextureInterface.hh>
7#include <gmGraphics/CoordinatesMapper.hh>
8
9#include <gmCore/io_eigen.hh>
10#include <gmCore/OFactory.hh>
11
12BEGIN_NAMESPACE_GMGRAPHICS;
13
32 : public Renderer {
33
34public:
35
37
41 void render(const Camera &camera, const Eigen::Affine3f &Mm) override;
42
49 void getNearFar(const Camera &camera,
50 const Eigen::Affine3f &Mm,
51 float &near,
52 float &far) override;
53
59 void traverse(Visitor *visitor) override;
60
66 void setRadius(float r);
67
73 void setTexture(std::shared_ptr<TextureInterface> tex);
74
79 void setCoordinatesMapper(std::shared_ptr<CoordinatesMapper> mapper);
80
81 GM_OFI_DECLARE;
82
83private:
84
85 struct Impl;
86 std::unique_ptr<Impl> _impl;
87
88};
89
90END_NAMESPACE_GMGRAPHICS;
91
92#endif
The base of graphics Camera implementations.
Definition Camera.hh:19
The base of graphics Renderer implementations.
Definition Renderer.hh:17
A renderer that draws single textured sphere.
Definition SphereRenderer.hh:32
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition SphereRenderer.cpp:22