Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExportSettings.h
Go to the documentation of this file.
1 /* Copyright (c) 2014-2015 "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_EXPORTSETTINGS_H_
21 #define OMNI_RENDER_EXPORTSETTINGS_H_
22 
23 #include <omni/mapping/Interface.h>
26 
27 namespace omni {
28  namespace render {
29  /// Mode how calibrations are stitched together
30  enum class SeparationMode
31  {
32  NONE,
33  SCREENS,
35  };
36 
37  enum class OutputType {
40  };
41 
42  /// Class for defining render options for calibration data
44  public:
45  /**@brief Mapping output mode
46  @detail Determines if uvw map, texture coordinates or the actual
47  mapped image shall be output.
48  **/
50 
51  /// Converts calibration mode into mapping output mode
53 
54  /**@brief Set Mapping output mode
55  @detail Determines if uvw map, texture coordinates or the actual
56  mapped image shall be output.
57  **/
59 
60  /**@brief Determines how output images are separated
61  @detail Images can be stitched together or separated by screen or
62  projector.
63  Ignored when OMNI_CALIBRATION is output type.
64  **/
66 
67  /**@brief Set separation mode which defines how output images are
68  separated
69  @detail Images can be stitched together or separated by screen or
70  projector.
71  Ignored when OMNI_CALIBRATION is output type.
72  **/
74 
75  /// Projectors that are not assigned to a screen are excluded
76  bool excludeUnassignedProjectors() const;
77 
78  /// Set flag for to exclude projectors that are not assigned to a screen
80 
81  /// Output type can be a plain image (png) or omnidome calibration
82  // format
83  OutputType outputType() const;
84 
85  /// Output type can be a plain image (png) or omnidome calibration
86  // format
88 
89  /// Deserialize from stream
90  void fromStream(QDataStream&);
91 
92  /// Serialize to stream
93  void toStream(QDataStream&) const;
94 
95  /// Test for equality. ScreenSetup is ignored
96  friend bool operator==(ExportSettings const&,
97  ExportSettings const&);
98 
99  private:
101  CalibrationMode outputMode_ = CalibrationMode::TEXCOORDS;
104  };
105  }
106 
108 }
109 
112 
113 OMNI_DECL_STREAM_OPERATORS(omni::render::ExportSettings)
114 
115 
116 #endif /* OMNI_EXPORTSETTINGS_H_ */
SeparationMode
Mode how calibrations are stitched together.
Definition: ExportSettings.h:30
#define OMNI_DECL_ENUM_STREAM_OPERATORS(ENUM)
Definition: Interface.h:65
mapping::OutputMode mappingOutputMode() const
Converts calibration mode into mapping output mode.
Definition: ExportSettings.cpp:30
bool excludeUnassignedProjectors_
Definition: ExportSettings.h:103
CalibrationMode outputMode_
Definition: ExportSettings.h:101
void setOutputMode(CalibrationMode)
Set Mapping output mode Determines if uvw map, texture coordinates or the actual mapped image shall ...
Definition: ExportSettings.cpp:34
CalibrationMode outputMode() const
Mapping output mode Determines if uvw map, texture coordinates or the actual mapped image shall be o...
Definition: ExportSettings.cpp:25
SeparationMode separationMode_
Definition: ExportSettings.h:102
void fromStream(QDataStream &)
Deserialize from stream.
Definition: ExportSettings.cpp:68
CalibrationMode
Defines which type of data is in a calibration.
Definition: CalibrationMode.h:28
OutputType outputType_
Definition: ExportSettings.h:100
bool excludeUnassignedProjectors() const
Projectors that are not assigned to a screen are excluded.
Definition: ExportSettings.cpp:49
void setExcludeUnassignedProjectors(bool)
Set flag for to exclude projectors that are not assigned to a screen.
Definition: ExportSettings.cpp:54
OutputType
Definition: ExportSettings.h:37
friend bool operator==(ExportSettings const &, ExportSettings const &)
Test for equality. ScreenSetup is ignored.
Definition: ExportSettings.cpp:88
void setSeparationMode(SeparationMode)
Set separation mode which defines how output images are separated Images can be stitched together or...
Definition: ExportSettings.cpp:44
void toStream(QDataStream &) const
Serialize to stream.
Definition: ExportSettings.cpp:78
OutputMode
Definition: Interface.h:42
#define OMNI_DECL_STREAM_OPERATORS(CLASS)
Definition: Interface.h:53
Class for defining render options for calibration data.
Definition: ExportSettings.h:43
void setOutputType(OutputType)
Output type can be a plain image (png) or omnidome calibration.
Definition: ExportSettings.cpp:64
SeparationMode separationMode() const
Determines how output images are separated Images can be stitched together or separated by screen or...
Definition: ExportSettings.cpp:39
OutputType outputType() const
Output type can be a plain image (png) or omnidome calibration.
Definition: ExportSettings.cpp:60