gramods
TextureWarpedView.hh
1 
2 #ifndef GRAMODS_GRAPHICS_TEXTUREWARPEDVIEW
3 #define GRAMODS_GRAPHICS_TEXTUREWARPEDVIEW
4 
5 // Required before gmCore/OFactory.hh for some compilers
6 #include <gmCore/io_eigen.hh>
7 
8 #include <gmGraphics/View.hh>
9 #include <gmGraphics/TextureInterface.hh>
10 
11 BEGIN_NAMESPACE_GMGRAPHICS;
12 
18  : public View {
19 
20 public:
21 
23  virtual ~TextureWarpedView();
24 
29  void renderFullPipeline(ViewSettings settings) override;
30 
36  void traverse(Visitor *visitor) override;
37 
43  void addView(std::shared_ptr<View>);
44 
50  void setTexture(std::shared_ptr<TextureInterface> tex);
51 
64  void setEdgeToEdge(bool on);
65 
72  void setWarpScale(Eigen::Vector2f scale);
73 
80  void setWarpOffset(Eigen::Vector2f offset);
81 
82  GM_OFI_DECLARE;
83 
84 private:
85 
86  struct Impl;
87  std::unique_ptr<Impl> _impl;
88 };
89 
90 END_NAMESPACE_GMGRAPHICS;
91 
92 #endif
The TextureWarpedView uses a texture as 0-1 coordinates to warp the output from other views.
Definition: TextureWarpedView.hh:18
The base of graphics View implementations.
Definition: View.hh:13
The visitor of a design pattern for automatic traversal.
Definition: Object.hh:75
Definition: TextureWarpedView.cpp:21
Package of settings affecting the rendering.
Definition: ViewBase.hh:30