gramods
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 
12 BEGIN_NAMESPACE_GMGRAPHICS;
13 
32  : public Renderer {
33 
34 public:
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 
83 private:
84 
85  struct Impl;
86  std::unique_ptr<Impl> _impl;
87 
88 };
89 
90 END_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