The Equalizer client library. More...
Classes | |
| class | AGLEventHandler |
| The event handler for AGL windows. More... | |
| class | AGLMessagePump |
| Receive and dispatch Carbon events. More... | |
| class | AGLPipe |
| Equalizer default implementation to handle an AGL GPU. More... | |
| class | AGLWindowIF |
| The interface defining the minimum functionality for an AGL window. More... | |
| class | AGLWindow |
| Equalizer default implementation of an AGL window interface. More... | |
| class | AGLWindowEvent |
| A window-system event with the native Carbon event, used for AGL. More... | |
| class | Canvas |
| A canvas represents a logical 2D projection surface. More... | |
| class | Channel |
| A channel represents a two-dimensional viewport within a Window. More... | |
| class | ChannelStatistics |
| Samples one channel statistics event. More... | |
| class | Client |
| The client represents a network node of the application in the cluster. More... | |
| class | CommandQueue |
| Augments an net::CommandQueue to pump system-specific events where required by the underlying window/operating system. More... | |
| class | Compositor |
| A set of functions performing compositing for a set of input frames. More... | |
| class | ComputeContext |
| The interface definition for API-specific GPGPU handling. More... | |
| class | Config |
| A configuration is a visualization session driven by an application. More... | |
| struct | ConfigEvent |
| A config event. More... | |
| class | ConfigParams |
| Parameters for running a configuration. More... | |
| class | ConfigStatistics |
| Samples one Config statistics event. More... | |
| class | CUDAContext |
| struct | ResizeEvent |
| Event for a size or position change on a Window, Channel or View. More... | |
| struct | PointerEvent |
| Event for a pointer (mouse) motion or click. More... | |
| struct | KeyEvent |
| Event for a key press or release. More... | |
| struct | MagellanEvent |
| Event for a SpaceMouse movement or click. More... | |
| struct | UserEvent |
| User-defined event. More... | |
| struct | Event |
| Event structure to report window system and other events. More... | |
| class | EventHandler |
| Base class for window system-specific event handlers. More... | |
| class | Frame |
| A holder for a frame's data and parameters. More... | |
| class | FrameData |
| A frame data holds multiple images and is used by frames. More... | |
| class | FrameDataStatistics |
| Holds one statistics event, used for profiling. More... | |
| class | Global |
| Global parameter handling for the Equalizer client library. More... | |
| class | GLWindow |
| The interface definition for OS-specific windowing code. More... | |
| class | GLXEventHandler |
| The event handler for glX. More... | |
| class | GLXMessagePump |
| Implements a message pump for the X11 window system. More... | |
| class | GLXPipe |
| Equalizer default implementation of a GLX window. More... | |
| class | GLXWindowIF |
| The interface defining the minimum functionality for a GLX window. More... | |
| class | GLXWindow |
| Equalizer default implementation of a GLX window. More... | |
| class | GLXWindowEvent |
| A window-system event for a GLXWindowIF. More... | |
| class | Image |
| A holder for pixel data. More... | |
| struct | Jitter |
| Optimal jitter points for 2,3,4,8,15,24 and 66 FSAA samples. More... | |
| class | Layout |
| A layout groups one or more View which logically belong together. More... | |
| class | MessagePump |
| Defines an interface to process OS messages/events. More... | |
| class | Node |
| A Node represents a single computer in the cluster. More... | |
| class | NodeFactory |
| The node factory is a per-node singleton used to create and release Equalizer resource instances. More... | |
| class | Observer |
| An Observer looks at one or more views from a certain position (head matrix) with a given eye separation. More... | |
| class | OSPipe |
| The interface definition for OS-specific GPU handling. More... | |
| class | OSWindow |
| The interface definition for OS-specific windowing code. More... | |
| class | Pipe |
| A Pipe represents a graphics card (GPU) on a Node. More... | |
| class | PipeStatistics |
| Holds one statistics event, used for profiling. More... | |
| class | ROIEmptySpaceFinder |
| Finds largest empty regions. More... | |
| class | ROIFinder |
| Processes current rendering target and selects areas for read back. More... | |
| class | ROITracker |
| Tracks requested areas for ROI. More... | |
| class | Segment |
| A segment covers a sub-area of a Canvas. More... | |
| class | Server |
| Proxy object for the connection to an Equalizer server. More... | |
| struct | Statistic |
| A statistics event. More... | |
| class | StatisticSampler |
| Utility to sample an statistics event. More... | |
| class | Version |
| Information about the current Equalizer version. More... | |
| class | View |
| A View is a 2D area of a Layout. More... | |
| class | WGLEventHandler |
| The event processing for WGL. More... | |
| class | WGLMessagePump |
| Processes OS messages on Win32 systems. More... | |
| class | WGLPipe |
| Equalizer default implementation of a WGL window. More... | |
| class | WGLWindowIF |
| The interface defining the minimum functionality for a WGL window. More... | |
| class | WGLWindow |
| Equalizer default implementation of a WGL window. More... | |
| class | WGLWindowEvent |
| A window-system event for a WGLWindowIF. More... | |
| class | Window |
| A Window represents an on-screen or off-screen drawable. More... | |
| class | WindowStatistics |
| A statistics sampler for window-related events. More... | |
| class | X11Connection |
| An X11 Display connection wrapper. More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &os, const ConfigEvent *event) |
| std::ostream & | operator<< (std::ostream &os, const Event &event) |
| std::ostream & | operator<< (std::ostream &os, const Event::Type &type) |
| std::ostream & | operator<< (std::ostream &os, const ResizeEvent &event) |
| std::ostream & | operator<< (std::ostream &os, const PointerEvent &event) |
| std::ostream & | operator<< (std::ostream &os, const KeyEvent &event) |
| std::ostream & | operator<< (std::ostream &os, const MagellanEvent &event) |
| std::ostream & | operator<< (std::ostream &os, const Frame::Type type) |
| std::ostream & | operator<< (std::ostream &os, const Frame::Buffer buffer) |
| std::ostream & | operator<< (std::ostream &os, const FrameData *data) |
| __attribute__ ((packed)) | |
| std::ostream & | operator<< (std::ostream &os, const Image *image) |
| bool | init (const int argc, char **argv, NodeFactory *nodeFactory) |
| Initialize the Equalizer client library. | |
| bool | exit () |
| De-initialize the Equalizer client library. | |
| Config * | getConfig (const int argc, char **argv) |
| Convenience function to retrieve a configuration. | |
| void | releaseConfig (Config *config) |
| Convenience function to release a configuration. | |
| void | debugGLError (const std::string &when, const GLenum error, const char *file, const int line) |
| Output an error OpenGL in a human-readable form to EQWARN. | |
| void | XSetCurrentDisplay (Display *display) |
| Set the current X display connection. | |
| Display * | XGetCurrentDisplay () |
| std::ostream & | operator<< (std::ostream &os, const Statistic &event) |
| std::ostream & | operator<< (std::ostream &os, const WindowSystem ws) |
Typedefs | |
|
typedef fabric::Canvas< Config, Canvas, Segment, Layout > | Super |
| typedef fabric::Eye | Eye |
| Defines an eye pass. | |
|
typedef net::CommandFunc < FrameData > | CmdFunc |
| typedef fabric::ColorMask | ColorMask |
| typedef fabric::DrawableConfig | DrawableConfig |
| typedef fabric::Frustum | Frustum |
| typedef fabric::Pixel | Pixel |
| typedef fabric::PixelViewport | PixelViewport |
| typedef fabric::Projection | Projection |
| typedef fabric::Range | Range |
| typedef fabric::RenderContext | RenderContext |
| typedef fabric::SubPixel | SubPixel |
| typedef fabric::Viewport | Viewport |
| typedef fabric::Wall | Wall |
| typedef fabric::Zoom | Zoom |
| typedef fabric::LeafVisitor < Segment > | SegmentVisitor |
| A visitor to traverse segments. | |
| typedef fabric::LeafVisitor< View > | ViewVisitor |
| A visitor to traverse views. | |
| typedef fabric::LeafVisitor < Observer > | ObserverVisitor |
| A visitor to traverse channels. | |
| typedef fabric::LeafVisitor < Channel > | ChannelVisitor |
| A visitor to traverse channels. | |
| typedef fabric::ElementVisitor < Canvas, SegmentVisitor > | CanvasVisitor |
| A visitor to traverse Canvas and children. | |
| typedef fabric::ElementVisitor < Window, ChannelVisitor > | WindowVisitor |
| A visitor to traverse windows and children. | |
| typedef fabric::ElementVisitor < Pipe, WindowVisitor > | PipeVisitor |
| A visitor to traverse pipes and children. | |
| typedef fabric::ElementVisitor < Node, PipeVisitor > | NodeVisitor |
| A visitor to traverse nodes and children. | |
| typedef fabric::ElementVisitor < Layout, ViewVisitor > | LayoutVisitor |
| A visitor to traverse layouts and children. | |
| typedef fabric::ConfigVisitor < Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > | ConfigVisitor |
| A visitor to traverse configs and children. | |
| typedef std::vector< Config * > | Configs |
| A vector of pointers to eq::Config. | |
| typedef std::vector< Node * > | Nodes |
| A vector of pointers to eq::Node. | |
| typedef std::vector< Pipe * > | Pipes |
| A vector of pointers to eq::Pipe. | |
| typedef std::vector< Window * > | Windows |
| A vector of pointers to eq::Window. | |
| typedef std::vector< Channel * > | Channels |
| A vector of pointers to eq::Channel. | |
| typedef std::vector< Frame * > | Frames |
| A vector of pointers to eq::Frame. | |
| typedef std::vector< Image * > | Images |
| A vector of pointers to eq::Image. | |
| typedef std::vector< Observer * > | Observers |
| A vector of pointers to eq::Observer. | |
| typedef std::vector< Canvas * > | Canvases |
| A vector of pointers to eq::Canvas. | |
| typedef std::vector< Layout * > | Layouts |
| A vector of pointers to eq::Layout. | |
| typedef std::vector< Segment * > | Segments |
| A vector of pointers to eq::Segment. | |
| typedef std::vector< View * > | Views |
| A vector of pointers to eq::View. | |
| typedef std::vector< Viewport > | Viewports |
| A vector of eq::Viewport. | |
|
typedef std::vector < PixelViewport > | PixelViewports |
| A vector of eq::PixelViewport. | |
| typedef std::vector< Statistic > | Statistics |
| A vector of eq::Statistic events. | |
| typedef base::RefPtr< Client > | ClientPtr |
| A reference-counted pointer to an eq::Client. | |
|
typedef base::RefPtr< const Client > | ConstClientPtr |
| A reference-counted pointer to a const eq::Client. | |
| typedef base::RefPtr< Server > | ServerPtr |
| A reference-counted pointer to an eq::Server. | |
| typedef fabric::Matrix3d | Matrix3d |
| A 3x3 double matrix. | |
| typedef fabric::Matrix4d | Matrix4d |
| A 4x4 double matrix. | |
| typedef fabric::Matrix3f | Matrix3f |
| A 3x3 float matrix. | |
| typedef fabric::Matrix4f | Matrix4f |
| A 4x4 float matrix. | |
| typedef fabric::Vector2i | Vector2i |
| A two-component integer vector. | |
| typedef fabric::Vector3i | Vector3i |
| A three-component integer vector. | |
| typedef fabric::Vector4i | Vector4i |
| A four-component integer vector. | |
| typedef fabric::Vector3d | Vector3d |
| A three-component double vector. | |
| typedef fabric::Vector4d | Vector4d |
| A four-component double vector. | |
| typedef fabric::Vector2f | Vector2f |
| A two-component float vector. | |
| typedef fabric::Vector3f | Vector3f |
| A three-component float vector. | |
| typedef fabric::Vector4f | Vector4f |
| A four-component float vector. | |
| typedef fabric::Vector3ub | Vector3ub |
| A three-component byte vector. | |
| typedef fabric::Frustumf | Frustumf |
| A frustum definition. | |
|
typedef vmml::frustum_culler < float > | FrustumCullerf |
| Frustum culling helper. | |
| typedef std::vector< std::string > | Strings |
| A vector of std::string. | |
| typedef std::vector< uint8_t > | Vectorub |
| A vector of bytes. | |
| typedef std::vector< uint16_t > | Vectorus |
| A vector of unsigned shorts. | |
| typedef fabric::VisitorResult | VisitorResult |
| The result code from any visit operation. | |
Enumerations | |
| enum | KeyCode { KC_ESCAPE = 256, KC_BACKSPACE, KC_RETURN, KC_TAB, KC_HOME, KC_LEFT, KC_UP, KC_RIGHT, KC_DOWN, KC_PAGE_UP, KC_PAGE_DOWN, KC_END, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_SHIFT_L, KC_SHIFT_R, KC_CONTROL_L, KC_CONTROL_R, KC_ALT_L, KC_ALT_R, KC_VOID = 0xFFFFFF } |
Yet another key code table to report keys in a window system independent way. More... | |
| enum | PointerButton { PTR_BUTTON_NONE = EQ_BIT_NONE, PTR_BUTTON1 = EQ_BIT1, PTR_BUTTON2 = EQ_BIT2, PTR_BUTTON3 = EQ_BIT3, PTR_BUTTON4 = EQ_BIT4, PTR_BUTTON5 = EQ_BIT5 } |
Mouse pointer button definition. More... | |
| enum | LogTopics { LOG_PLUGIN = base::LOG_PLUGIN, LOG_ASSEMBLY = net::LOG_CUSTOM << 0, LOG_TASKS = net::LOG_CUSTOM << 1, LOG_STATS = net::LOG_CUSTOM << 3, LOG_INIT = net::LOG_CUSTOM << 4, LOG_SERVER = net::LOG_CUSTOM << 5, LOG_CUSTOM = 0x10000 } |
Defines selective logging classes enabled by setting EQ_LOG_TOPICS. More... | |
| enum | WindowSystem { WINDOW_SYSTEM_NONE = 0, WINDOW_SYSTEM_AGL, WINDOW_SYSTEM_GLX, WINDOW_SYSTEM_WGL, WINDOW_SYSTEM_ALL } |
The list of possible window systems. More... | |
The Equalizer client library.
This namespace implements the application-visible API to access the Equalizer server.
The Client represents the application instance and net::Node. A Client can connect to a Server to retrieve a Config.
The Server, Config, Node, Window and Channel hierarchy represents the rendering entities as described in the configuration file. Each process in the cluster only has the local entities instantiated, that is, there is at most one node per process. The Config is a net::Session, which is normally used to register distributed objects based on eq::Object or eq::net::Object.
The Canvas, Segment, Layout, View and Observer hierarchy represents the physical projection system, logical layout and tracked users. Applications which want to be multi-view capable typically extend the View to attach application-specific data, e.g., a camera position or model.
A ConfigVisitor, NodeVisitor, PipeVisitor, WindowVisitor, ChannelVisitor, CanvasVisitor, SegmentVisitor, LayoutVisitor, ViewVisitor or ObserverVisitor may be used to traverse the corresponding entity and to execute methods for each child of the hierarchy.
The OSWindow is used by the Window and abstracts window-system specific functionality. The interface GLXWindowIF, AGLWindowIF and WGLWindowIF extend the OSWindow interface by GLX, AGL and WGL-specific functionality. The GLXWindow, AGLWindow and WGLWindow implement the aforementioned interfaces.
The OSPipe, GLXPipe, AGLPipe and WGLPipe hierarchy implements a similar abstraction for GPU-specific functionality.
The GLXMessagePump, AGLMessagePump and WGLMessagePump are used by the node and pipe threads to detect and dispatch system events. The GLXEventHandler, AGLEventHandler and WGLEventHandler receive these events and transform them into a AGLWindowEvent, GLXWindowEvent or WGLWindowEvent, respectively.
The window events are dispatched to the corresponding OSWindow, which can execute window system specific tasks. The OSWindow implementations forward the generic Event to the window. The window will handle the necessary events locally, and will transform the WindowEvent into a ConfigEvent, which is sent to the application node using Config::sendEvent.
The Event is a union of the possible concrete PointerEvent, KeyEvent, ResizeEvent, MagellanEvent, Statistic or UserEvent and may contain a valid RenderContext for a PointerEvent. The RenderContext describes the rendering setup of the last Channel draw operation on the pointer position.
During scalable rendering, a Frame is used to represent and output frame during Channel::frameReadback or an input frame during Channel::frameAssemble. Each Frame holds a FrameData, which is a container for images and links the input with the output frames. An Image represents a 2D framebuffer area, containing color and/or depth information.
| bool eq::exit | ( | ) |
De-initialize the Equalizer client library.
De-initialize the Equalizer base classes.
true if the library was successfully de-initialized, false otherwise. | Config * eq::getConfig | ( | const int | argc, | |
| char ** | argv | |||
| ) |
Convenience function to retrieve a configuration.
This function initializes a local client node, connects it to the server, and retrieves a configuration. On any failure everything is correctly deinitialized and 0 is returned.
| bool eq::init | ( | const int | argc, | |
| char ** | argv, | |||
| NodeFactory * | nodeFactory | |||
| ) |
Initialize the Equalizer client library.
The following command line options are recognized by this function:
Please note that further command line parameters are recognized by net::Node::initLocal().
| argc | the command line argument count. | |
| argv | the command line argument values. | |
| nodeFactory | the factory for allocating Equalizer objects. |
true if the library was successfully initialized, false otherwise. | void eq::releaseConfig | ( | Config * | config | ) |
Convenience function to release a configuration.
This function releases the configuration, disconnects the server, and stops the local client node.
| Display * eq::XGetCurrentDisplay | ( | ) |
| void eq::XSetCurrentDisplay | ( | Display * | display | ) |
Set the current X display connection.
This function stores a per-thread display connection, similar to the current WGL/AGL context. It is used by the eq::util classes to retrieve the display without having to know the eq::Pipe. The GLXPipe sets it automatically. Applications using the GLX window system with a custom OSPipe have to set it using this function.
| display | the current display connection to use. |
| typedef fabric::ElementVisitor< Canvas, SegmentVisitor > eq::CanvasVisitor |
A visitor to traverse Canvas and children.
Definition at line 92 of file lib/client/types.h.
| typedef fabric::LeafVisitor< Channel > eq::ChannelVisitor |
A visitor to traverse channels.
Definition at line 89 of file lib/client/types.h.
| typedef fabric::ConfigVisitor< Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > eq::ConfigVisitor |
A visitor to traverse configs and children.
Definition at line 108 of file lib/client/types.h.
| typedef fabric::Eye eq::Eye |
Defines an eye pass.
Definition at line 27 of file client/eye.h.
| typedef fabric::ElementVisitor< Layout, ViewVisitor > eq::LayoutVisitor |
A visitor to traverse layouts and children.
Definition at line 104 of file lib/client/types.h.
| typedef fabric::ElementVisitor< Node, PipeVisitor > eq::NodeVisitor |
A visitor to traverse nodes and children.
Definition at line 101 of file lib/client/types.h.
| typedef fabric::LeafVisitor< Observer > eq::ObserverVisitor |
A visitor to traverse channels.
Definition at line 86 of file lib/client/types.h.
| typedef fabric::ElementVisitor< Pipe, WindowVisitor > eq::PipeVisitor |
A visitor to traverse pipes and children.
Definition at line 98 of file lib/client/types.h.
| typedef fabric::LeafVisitor< Segment > eq::SegmentVisitor |
A visitor to traverse segments.
Definition at line 80 of file lib/client/types.h.
| typedef fabric::LeafVisitor< View > eq::ViewVisitor |
A visitor to traverse views.
Definition at line 83 of file lib/client/types.h.
The result code from any visit operation.
Definition at line 26 of file lib/client/visitorResult.h.
| typedef fabric::ElementVisitor< Window, ChannelVisitor > eq::WindowVisitor |
A visitor to traverse windows and children.
Definition at line 95 of file lib/client/types.h.
| enum eq::KeyCode |
| enum eq::LogTopics |
Defines selective logging classes enabled by setting EQ_LOG_TOPICS.
Definition at line 26 of file lib/client/log.h.
| enum eq::PointerButton |
| enum eq::WindowSystem |
The list of possible window systems.
Definition at line 28 of file windowSystem.h.
0.9.1 by
1.7.1