Equalizer  1.8.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
eqPly/initData.h
1 
2 /* Copyright (c) 2006-2013, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2010, Cedric Stalder <cedric.stalder@gmail.com>
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * - Redistributions of source code must retain the above copyright notice, this
9  * list of conditions and the following disclaimer.
10  * - Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * - Neither the name of Eyescale Software GmbH nor the names of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  * POSSIBILITY OF SUCH DAMAGE.
28  */
29 
30 #ifndef EQ_PLY_INITDATA_H
31 #define EQ_PLY_INITDATA_H
32 
33 #include "eqPly.h"
34 
35 namespace eqPly
36 {
37  class InitData : public co::Object
38  {
39  public:
40  InitData();
41  virtual ~InitData();
42 
43  void setFrameDataID( const eq::uint128_t& id )
44  { _frameDataID = id; }
45 
46  eq::uint128_t getFrameDataID() const { return _frameDataID; }
47  const std::string& getWindowSystem() const { return _windowSystem; }
48  triply::RenderMode getRenderMode() const { return _renderMode; }
49  bool useGLSL() const { return _useGLSL; }
50  bool useInvertedFaces() const { return _invFaces; }
51  bool showLogo() const { return _logo; }
52  bool useROI() const { return _roi; }
53 
54  protected:
55  virtual void getInstanceData( co::DataOStream& os );
56  virtual void applyInstanceData( co::DataIStream& is );
57 
58  void setWindowSystem( const std::string& windowSystem )
59  { _windowSystem = windowSystem; }
60  void setRenderMode( const triply::RenderMode renderMode )
61  { _renderMode = renderMode; }
62  void enableGLSL() { _useGLSL = true; }
63  void enableInvertedFaces() { _invFaces = true; }
64  void disableLogo() { _logo = false; }
65  void disableROI() { _roi = false; }
66 
67  private:
68  eq::uint128_t _frameDataID;
69  std::string _windowSystem;
70  triply::RenderMode _renderMode;
71  bool _useGLSL;
72  bool _invFaces;
73  bool _logo;
74  bool _roi;
75  };
76 }
77 
78 
79 #endif // EQ_PLY_INITDATA_H
80