gramods
Loading...
Searching...
No Matches
SpatialPlanarView.hh
1
2#ifndef GRAMODS_GRAPHICS_SPATIALPLANARVIEW
3#define GRAMODS_GRAPHICS_SPATIALPLANARVIEW
4
5// Required before gmCore/OFactory.hh for some compilers
6#include <gmCore/io_float.hh>
7#include <gmCore/io_eigen.hh>
8#include <gmCore/io_angle.hh>
9
10#include <gmGraphics/MultiscopicView.hh>
11
12BEGIN_NAMESPACE_GMGRAPHICS;
13
27 : public MultiscopicView {
28
29public:
30
32 virtual ~SpatialPlanarView();
33
41 void setTopLeftCorner(Eigen::Vector3f tlc);
42
50 void setBottomRightCorner(Eigen::Vector3f brc);
51
59 void setUpDirection(Eigen::Vector3f up);
60
70 void setPosition(Eigen::Vector3f p);
71
84 void setClipAngles(gmCore::angle4 a);
85
95 void setOrientation(Eigen::Quaternionf q);
96
104 void setDistance(float d);
105
106 GM_OFI_DECLARE;
107
108private:
109
110 void renderFullPipeline(ViewSettings settings, Eye eye) override;
111
112 struct Impl;
113 std::unique_ptr<Impl> _impl;
114};
115
116END_NAMESPACE_GMGRAPHICS;
117
118#endif
The base of Views that support multiscopic perspectives.
Definition MultiscopicView.hh:19
This view provides skewed frustum projection of the renderers, on a planar projection surface.
Definition SpatialPlanarView.hh:27
std::array< angle, 4 > angle4
Array of 4 angle.
Definition io_angle.hh:65
An indexed eye that can be rendered.
Definition Eye.hh:20
Definition SpatialPlanarView.cpp:20
Package of settings affecting the rendering.
Definition ViewBase.hh:30