Files
vimix/Session.h
brunoherbelin 32030e66dc Implementation of FrameBuffer resolution parameters, and saving in
session file of rendering resolution.
2020-05-11 23:50:42 +02:00

47 lines
1.0 KiB
C++

#ifndef SESSION_H
#define SESSION_H
#include "View.h"
#include "Source.h"
class Session
{
public:
Session();
~Session();
// add or remove sources
SourceList::iterator addSource (Source *s);
SourceList::iterator deleteSource (Source *s);
// management of list of sources
SourceList::iterator begin ();
SourceList::iterator end ();
SourceList::iterator find (int index);
SourceList::iterator find (Source *s);
SourceList::iterator find (std::string name);
SourceList::iterator find (Node *node);
uint numSource() const;
int index (SourceList::iterator it) const;
// update all sources
void update (float dt);
// result of render
inline FrameBuffer *frame () const { return render_.frameBuffer(); }
void setResolution(glm::vec3 resolution);
// configuration for group nodes of views
inline Group *config (View::Mode m) const { return config_.at(m); }
protected:
RenderView render_;
SourceList sources_;
std::map<View::Mode, Group*> config_;
};
#endif // SESSION_H