gramods
SpatialSphericalView.hh
1 
2 #ifndef GRAMODS_GRAPHICS_SPATIALSPHERICALVIEW
3 #define GRAMODS_GRAPHICS_SPATIALSPHERICALVIEW
4 
5 #include <gmGraphics/MultiscopicView.hh>
6 
7 #include <gmGraphics/CoordinatesMapper.hh>
8 #include <gmCore/io_eigen.hh>
9 
10 BEGIN_NAMESPACE_GMGRAPHICS;
11 
24  : public MultiscopicView {
25 
26 public:
27 
29 
33  void renderFullPipeline(ViewSettings settings, Eye eye) override;
34 
40  void traverse(Visitor *visitor) override;
41 
48  void setCubeMapResolution(int res);
49 
56  void setLinearInterpolation(bool on);
57 
62  void setCoordinatesMapper(std::shared_ptr<CoordinatesMapper> mapper);
63 
69  void setMakeSquare(bool on);
70 
79  void setPosition(Eigen::Vector3f p);
80 
86  void setRadius(float r);
87 
96  void setOrientation(Eigen::Quaternionf q);
97 
98  GM_OFI_DECLARE;
99 
100 private:
101 
102  struct Impl;
103  std::unique_ptr<Impl> _impl;
104 
105 };
106 
107 END_NAMESPACE_GMGRAPHICS;
108 
109 #endif
The base of Views that support multiscopic perspectives.
Definition: MultiscopicView.hh:19
This view provides skewed frustum projection of the renderers, on a spherical projection surface.
Definition: SpatialSphericalView.hh:24
The visitor of a design pattern for automatic traversal.
Definition: Object.hh:75
An indexed eye that can be rendered.
Definition: Eye.hh:20
Definition: SpatialSphericalView.cpp:25
Package of settings affecting the rendering.
Definition: ViewBase.hh:30