Equalizer  1.12.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 <co/types.h>
27 #include <lunchbox/refPtr.h>
28 #include <lunchbox/uint128_t.h>
29 #include <lunchbox/visitorResult.h>
30 #include <vmmlib/types.hpp>
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 FrameData;
51 class Frustum;
52 class Pixel;
53 class PixelViewport;
54 class Projection;
55 class Range;
56 class RenderContext;
57 class SubPixel;
58 class SwapBarrier;
59 class Tile;
60 class Viewport;
61 class Wall;
62 class WindowSettings;
63 class Zoom;
64 struct CanvasPath;
65 struct ChannelPath;
66 struct DrawableConfig;
67 struct Event;
68 struct GPUInfo;
69 struct KeyEvent;
70 struct LayoutPath;
71 struct NodePath;
72 struct ObserverPath;
73 struct PipePath;
74 struct PointerEvent;
75 struct ResizeEvent;
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 using vmml::Matrix3d;
119 using vmml::Matrix4d;
120 using vmml::Matrix3f;
121 using vmml::Matrix4f;
122 using vmml::Vector2ui;
123 using vmml::Vector2i;
124 using vmml::Vector3ui;
125 using vmml::Vector3i;
126 using vmml::Vector4ui;
127 using vmml::Vector4i;
128 using vmml::Vector3d;
129 using vmml::Vector4d;
130 using vmml::Vector2f;
131 using vmml::Vector3f;
132 using vmml::Vector4f;
133 using vmml::Vector3ub;
134 using vmml::Vector4ub;
135 using vmml::Frustumf;
136 using vmml::AABBf;
137 using vmml::Quaternionf; // !< A float quaternion
138 }
139 }
140 
141 #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.