Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Renderer.h
Go to the documentation of this file.
1 /* Copyright (c) 2014-2016 "Omnidome" by cr8tr
2  * Dome Mapping Projection Software (http://omnido.me).
3  * Omnidome was created by Michael Winkelmann aka Wilston Oreo (@WilstonOreo)
4  *
5  * This file is part of Omnidome.
6  *
7  * Omnidome is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU Affero General Public License for more details.
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef OMNI_RENDER_RENDERER_H_
21 #define OMNI_RENDER_RENDERER_H_
22 
23 #include <map>
24 #include <QScreen>
25 #include <QImage>
26 #include <omni/RenderBuffer.h>
28 
29 namespace omni {
30  class Session;
31  namespace proj {
32  class Tuning;
33  }
34 
35  namespace render {
36  class Renderer {
37  public:
38  Renderer(Session const& _session);
39 
40  void renderToFile(QString const& _filename);
41 
42  /// Render to omni calibration (OmniC) file
43  void renderOmniCalibration(QString const& _filename);
44 
45  std::map<QScreen const *, QImage>
46  stitchScreens(std::vector<const proj::Tuning *>const&) const;
47 
48  private:
49  Session const& session_;
50  };
51  }
52 }
53 
54 #endif /* OMNI_RENDER_RENDERER_H_ */
Renderer(Session const &_session)
Definition: Renderer.cpp:34
A session consists of a canvas, a mapping, a list of tunings and one or several inputs.
Definition: Session.h:41
std::map< QScreen const *, QImage > stitchScreens(std::vector< const proj::Tuning * >const &) const
Definition: Renderer.cpp:38
Definition: Renderer.h:36
Session const & session_
Definition: Renderer.h:49
void renderOmniCalibration(QString const &_filename)
Render to omni calibration (OmniC) file.
Definition: Renderer.cpp:167
void renderToFile(QString const &_filename)
Definition: Renderer.cpp:89