2 #ifndef GRAMODS_GRAPHICS_VIEWBASE 
    3 #define GRAMODS_GRAPHICS_VIEWBASE 
    5 #include <gmGraphics/config.hh> 
    7 #include <gmGraphics/Node.hh> 
    8 #include <gmGraphics/Camera.hh> 
    9 #include <gmGraphics/Viewpoint.hh> 
   11 #include <gmCore/OFactory.hh> 
   16 BEGIN_NAMESPACE_GMGRAPHICS;
 
   35       : frame_number(frame_number) {}
 
   39       : frame_number(frame_number), viewpoints({vp}) {}
 
   43                  std::vector<std::shared_ptr<Viewpoint>> vps)
 
   44       : frame_number(frame_number), viewpoints(vps) {}
 
   49     void renderNodes(
Camera camera);
 
   63     GLenum pixel_format = GL_RGBA8;
 
   77   void addNode(std::shared_ptr<Node> node) {
 
   78     nodes.push_back(node);
 
   86     viewpoints = {viewpoint};
 
   96     viewpoints.push_back(viewpoint);
 
  104   void traverse(Visitor *visitor) 
override;
 
  113   void populateViewSettings(ViewSettings &settings);
 
  116   std::vector<std::shared_ptr<Viewpoint>> viewpoints;
 
  119 END_NAMESPACE_GMGRAPHICS;
 
Base type for objects in the Gramods package for standardized handling of construction,...
Definition: Object.hh:42
 
The base of graphics Camera implementations.
Definition: Camera.hh:19
 
The common base for nodes taking renderers for dispatching rendering jobs.
Definition: ViewBase.hh:23
 
void setViewpoint(std::shared_ptr< Viewpoint > viewpoint)
Sets the viewpoint to use in the views rendered by this ViewBase.
Definition: ViewBase.hh:85
 
void addViewpoint(std::shared_ptr< Viewpoint > viewpoint)
Adds a viewpoint to use in the views rendered by this ViewBase.
Definition: ViewBase.hh:95
 
void addNode(std::shared_ptr< Node > node)
Adds a scenegraph to the view.
Definition: ViewBase.hh:77
 
Package of settings affecting the rendering.
Definition: ViewBase.hh:30
 
size_t frame_number
The frame currently being rendered.
Definition: ViewBase.hh:54
 
ViewSettings(size_t frame_number, std::vector< std::shared_ptr< Viewpoint >> vps)
Creates settings associated with the specified viewpoints.
Definition: ViewBase.hh:42
 
Node::list nodes
The renderers to render in the view.
Definition: ViewBase.hh:57
 
std::vector< std::shared_ptr< Viewpoint > > viewpoints
The viewpoint currently being rendered.
Definition: ViewBase.hh:60
 
ViewSettings(size_t frame_number, std::shared_ptr< Viewpoint > vp)
Creates settings associated with the specified viewpoint.
Definition: ViewBase.hh:38