Equalizer  1.9.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fabric/eye.h
1 
2 /* Copyright (c) 2007-2014, Stefan Eilemann <eile@equalizergraphics.com>
3  * Copyright (c) 2010, Cedric Stalder <cedric.stalder@gmail.com>
4  *
5  * This library is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Lesser General Public License version 2.1 as published
7  * by the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef EQFABRIC_EYE_H
20 #define EQFABRIC_EYE_H
21 
22 #include <eq/fabric/api.h>
23 #include <lunchbox/bitOperation.h>
24 #include <iostream>
25 
26 namespace eq
27 {
28 namespace fabric
29 {
33  enum Eye
34  {
35  EYE_CYCLOP_BIT = 0,
36  EYE_LEFT_BIT = 1,
37  EYE_RIGHT_BIT = 2,
38  EYE_UNDEFINED = 0,
39  EYE_CYCLOP = 1 << EYE_CYCLOP_BIT,
40  EYE_LEFT = 1 << EYE_LEFT_BIT,
41  EYE_RIGHT = 1 << EYE_RIGHT_BIT,
43  NUM_EYES = 3,
45  EYES_ALL = 7
46  };
47 
48  EQFABRIC_API std::ostream& operator << ( std::ostream& os, const Eye& eye );
49 }
50 }
51 
52 namespace lunchbox
53 {
54 template<> inline void byteswap( eq::fabric::Eye& value )
55  { byteswap( reinterpret_cast< uint32_t& >( value )); }
56 }
57 
58 #endif // EQFABRIC_EYE_H
the last eye
Definition: fabric/eye.h:42
monoscopic 'middle' eye
Definition: fabric/eye.h:39
Eye
Eye pass bit mask for which is enabled.
Definition: fabric/eye.h:33
left and right eye
Definition: fabric/eye.h:44