Equalizer  1.9.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fabric/types.h
1 
2 /* Copyright (c) 2007-2013, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2011-2014, Daniel Nachbaur <danielnachbaur@gmail.com>
4  * 2010, Cedric Stalder <cedric.stalder@gmail.com>
5  *
6  * This library is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License version 2.1 as published
8  * by the Free Software Foundation.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13  * details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #ifndef EQFABRIC_TYPES_H
21 #define EQFABRIC_TYPES_H
22 
23 #include <eq/fabric/api.h>
24 #include <eq/fabric/errorCodes.h>
25 #include <eq/fabric/eventEnums.h>
26 #include <eq/fabric/vmmlib.h>
27 #include <co/types.h>
28 #include <lunchbox/refPtr.h>
29 #include <lunchbox/uint128_t.h>
30 #include <lunchbox/visitorResult.h>
31 
32 #ifdef _WIN32
33 # define EQ_DEFAULT_PORT (4242)
34 #else
35 // #241: Avoid using privilege ports below 1024
36 # define EQ_DEFAULT_PORT ( (getuid() % 64511) + 1024 )
37 #endif
38 
39 namespace eq
40 {
41 namespace fabric
42 {
43 using namespace eventEnums;
44 class Client;
45 class ColorMask;
46 class ConfigParams;
47 class Equalizer;
48 class Error;
49 class ErrorRegistry;
50 class Frustum;
51 class Pixel;
52 class PixelViewport;
53 class Projection;
54 class Range;
55 class RenderContext;
56 class SubPixel;
57 class SwapBarrier;
58 class Tile;
59 class Viewport;
60 class Wall;
61 class WindowSettings;
62 class Zoom;
63 struct CanvasPath;
64 struct ChannelPath;
65 struct DrawableConfig;
66 struct Event;
67 struct FrameData;
68 struct GPUInfo;
69 struct KeyEvent;
70 struct LayoutPath;
71 struct NodePath;
72 struct ResizeEvent;
73 struct ObserverPath;
74 struct PipePath;
75 struct PointerEvent;
76 struct SegmentPath;
77 struct Statistic;
78 struct ViewPath;
79 struct WindowPath;
80 
81 template< class, class > class Channel;
82 template< class, class > class Observer;
83 template< class, class, class > class Layout;
84 template< class, class, class > class Segment;
85 template< class, class, class > class View;
86 template< class, class, class, class > class Window;
87 template< class, class, class, class > class Canvas;
88 template< class, class, class, class > class Node;
89 template< class, class, class, class > class Pipe;
90 template< class, class, class, class, class, class > class Server;
91 template< class, class, class, class, class, class, class > class Config;
92 
93 template< class > class LeafVisitor;
94 template< class, class > class ElementVisitor;
95 template< class, class, class, class, class> class ConfigVisitor;
96 
98 typedef std::vector< Error > Errors;
100 typedef std::vector< Statistic > Statistics;
102 typedef std::vector< Viewport > Viewports;
103 
104 using co::Strings;
105 using co::StringsCIter;
106 typedef co::ObjectOCommand EventOCommand;
107 
108 using lunchbox::uint128_t;
109 using lunchbox::VisitorResult;
110 using lunchbox::TRAVERSE_CONTINUE;
111 using lunchbox::TRAVERSE_PRUNE;
112 using lunchbox::TRAVERSE_TERMINATE;
113 typedef lunchbox::RefPtr< Client > ClientPtr;
114 typedef lunchbox::RefPtr< const Client > ConstClientPtr;
115 typedef lunchbox::RefPtr< SwapBarrier > SwapBarrierPtr;
116 typedef lunchbox::RefPtr< const SwapBarrier > SwapBarrierConstPtr;
117 
118 }
119 }
120 
121 #endif // EQFABRIC_TYPES_H
A visitor to traverse configs and all children.
Definition: configVisitor.h:36
std::vector< Error > Errors
A vector of eq::fabric::Error.
Definition: fabric/types.h:95
A visitor to traverse leaf nodes of a graph.
Definition: leafVisitor.h:28
Base data transport class for pipes.
Definition: fabric/pipe.h:31
A visitor to traverse non-leaf elements and their children in a tree.
Base co::Node class for a server.
Definition: fabric/server.h:32
Base data transport class for views.
Definition: fabric/types.h:85
Base data transport class for nodes.
Definition: fabric/node.h:30
A canvas represents a logical 2D projection surface.
Definition: fabric/canvas.h:34
Base data transport class for windows.
Definition: fabric/types.h:86
std::vector< Statistic > Statistics
A vector of eq::Statistic events.
Definition: fabric/types.h:100
Base data class for a configuration.
Definition: fabric/config.h:33
std::vector< Viewport > Viewports
A vector of eq::Viewport.
Definition: fabric/types.h:102