Equalizer  2.1.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 <co/types.h>
24 #include <eq/fabric/api.h>
25 #include <eq/fabric/errorCodes.h>
26 #include <eq/fabric/eventEnums.h>
27 #include <eq/fabric/eventType.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>
86 class Channel;
87 template <class, class>
88 class Observer;
89 template <class, class, class>
90 class Layout;
91 template <class, class, class>
92 class Segment;
93 template <class, class, class>
94 class View;
95 template <class, class, class, class>
96 class Window;
97 template <class, class, class, class>
98 class Canvas;
99 template <class, class, class, class>
100 class Node;
101 template <class, class, class, class>
102 class Pipe;
103 template <class, class, class, class, class, class>
104 class Server;
105 template <class, class, class, class, class, class, class>
106 class Config;
107 
108 template <class>
109 class LeafVisitor;
110 template <class, class>
111 class ElementVisitor;
112 template <class, class, class, class, class>
114 
116 typedef std::vector<Error> Errors;
118 typedef std::vector<Statistic> Statistics;
120 typedef std::vector<Viewport> Viewports;
121 
122 using co::Strings;
123 using co::StringsCIter;
124 typedef co::ObjectOCommand EventOCommand;
125 
126 using lunchbox::uint128_t;
127 using lunchbox::VisitorResult;
128 using lunchbox::TRAVERSE_CONTINUE;
129 using lunchbox::TRAVERSE_PRUNE;
130 using lunchbox::TRAVERSE_TERMINATE;
131 typedef lunchbox::RefPtr<Client> ClientPtr;
132 typedef lunchbox::RefPtr<const Client> ConstClientPtr;
133 typedef lunchbox::RefPtr<SwapBarrier> SwapBarrierPtr;
134 typedef lunchbox::RefPtr<const SwapBarrier> SwapBarrierConstPtr;
135 
136 using vmml::Matrix3d;
137 using vmml::Matrix4d;
138 using vmml::Matrix3f;
139 using vmml::Matrix4f;
140 using vmml::Vector2ui;
141 using vmml::Vector2i;
142 using vmml::Vector3ui;
143 using vmml::Vector3i;
144 using vmml::Vector4ui;
145 using vmml::Vector4i;
146 using vmml::Vector3d;
147 using vmml::Vector4d;
148 using vmml::Vector2f;
149 using vmml::Vector3f;
150 using vmml::Vector4f;
151 using vmml::Vector3ub;
152 using vmml::Vector4ub;
153 using vmml::Frustumf;
154 using vmml::AABBf;
155 using vmml::Quaternionf; // !< A float quaternion
156 }
157 }
158 
159 #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
std::vector< Viewport > Viewports
A vector of eq::Viewport.
Defines export visibility macros for library EqualizerFabric.
A visitor to traverse leaf nodes of a graph.
Definition: leafVisitor.h:29
Base data transport class for pipes.
Definition: fabric/pipe.h:32
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:32
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< Error > Errors
A vector of eq::fabric::Error.