Equalizer  2.0.0
Parallel Rendering Framework
eq/fabric/types.h
1 
2 /* Copyright (c) 2007-2016, Stefan Eilemann <eile@equalizergraphics.com>
3  * Daniel Nachbaur <danielnachbaur@gmail.com>
4  * 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/eventType.h>
27 #include <co/types.h>
28 #include <lunchbox/refPtr.h>
29 #include <lunchbox/uint128_t.h>
30 #include <lunchbox/visitorResult.h>
31 #include <vmmlib/types.hpp>
32 
33 #ifdef _WIN32
34 # define EQ_DEFAULT_PORT (4242)
35 #else
36 // #241: Avoid using privilege ports below 1024
37 # define EQ_DEFAULT_PORT (( getuid() % 64511 ) + 1024 )
38 #endif
39 
40 namespace eq
41 {
42 namespace fabric
43 {
44 using namespace eventEnums;
45 using namespace eventTypes;
46 class Client;
47 class ColorMask;
48 class ConfigParams;
49 class Equalizer;
50 class Error;
51 class ErrorRegistry;
52 class FrameData;
53 class Frustum;
54 class Pixel;
55 class PixelViewport;
56 class Projection;
57 class Range;
58 class RenderContext;
59 class SubPixel;
60 class SwapBarrier;
61 class Tile;
62 class Viewport;
63 class Wall;
64 class WindowSettings;
65 class Zoom;
66 struct AxisEvent;
67 struct ButtonEvent;
68 struct CanvasPath;
69 struct ChannelPath;
70 struct DrawableConfig;
71 struct Event;
72 struct GPUInfo;
73 struct KeyEvent;
74 struct LayoutPath;
75 struct NodePath;
76 struct ObserverPath;
77 struct PipePath;
78 struct PointerEvent;
79 struct SegmentPath;
80 struct SizeEvent;
81 struct Statistic;
82 struct ViewPath;
83 struct WindowPath;
84 
85 template< class, class > class Channel;
86 template< class, class > class Observer;
87 template< class, class, class > class Layout;
88 template< class, class, class > class Segment;
89 template< class, class, class > class View;
90 template< class, class, class, class > class Window;
91 template< class, class, class, class > class Canvas;
92 template< class, class, class, class > class Node;
93 template< class, class, class, class > class Pipe;
94 template< class, class, class, class, class, class > class Server;
95 template< class, class, class, class, class, class, class > class Config;
96 
97 template< class > class LeafVisitor;
98 template< class, class > class ElementVisitor;
99 template< class, class, class, class, class> class ConfigVisitor;
100 
102 typedef std::vector< Error > Errors;
104 typedef std::vector< Statistic > Statistics;
106 typedef std::vector< Viewport > Viewports;
107 
108 using co::Strings;
109 using co::StringsCIter;
110 typedef co::ObjectOCommand EventOCommand;
111 
112 using lunchbox::uint128_t;
113 using lunchbox::VisitorResult;
114 using lunchbox::TRAVERSE_CONTINUE;
115 using lunchbox::TRAVERSE_PRUNE;
116 using lunchbox::TRAVERSE_TERMINATE;
117 typedef lunchbox::RefPtr< Client > ClientPtr;
118 typedef lunchbox::RefPtr< const Client > ConstClientPtr;
119 typedef lunchbox::RefPtr< SwapBarrier > SwapBarrierPtr;
120 typedef lunchbox::RefPtr< const SwapBarrier > SwapBarrierConstPtr;
121 
122 using vmml::Matrix3d;
123 using vmml::Matrix4d;
124 using vmml::Matrix3f;
125 using vmml::Matrix4f;
126 using vmml::Vector2ui;
127 using vmml::Vector2i;
128 using vmml::Vector3ui;
129 using vmml::Vector3i;
130 using vmml::Vector4ui;
131 using vmml::Vector4i;
132 using vmml::Vector3d;
133 using vmml::Vector4d;
134 using vmml::Vector2f;
135 using vmml::Vector3f;
136 using vmml::Vector4f;
137 using vmml::Vector3ub;
138 using vmml::Vector4ub;
139 using vmml::Frustumf;
140 using vmml::AABBf;
141 using vmml::Quaternionf; // !< A float quaternion
142 }
143 }
144 
145 #endif // EQFABRIC_TYPES_H
Error
Defines errors produced by Sequel.
Definition: seq/error.h:26
A visitor to traverse configs and all children.
Definition: configVisitor.h:36
Defines export visibility macros for library EqualizerFabric.
std::vector< Error > Errors
A vector of eq::fabric::Error.
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.
Base data transport class for nodes.
Definition: fabric/node.h:31
The Equalizer client library.
Definition: eq/agl/types.h:23
A canvas represents a logical 2D projection surface.
Definition: fabric/canvas.h:35
Base data transport class for windows.
std::vector< Statistic > Statistics
A vector of eq::Statistic events.
Base data class for a configuration.
Definition: fabric/config.h:34
std::vector< Viewport > Viewports
A vector of eq::Viewport.