Equalizer
1.7.3
|
The Equalizer client library. More...
Namespaces | |
admin | |
The Equalizer administrative library. | |
agl | |
The system abstraction layer for Apple OpenGL and Carbon. | |
fabric | |
The Equalizer data synchronization fabric. | |
glx | |
The system abstraction layer for X11 and glX. | |
util | |
Equalizer utility classes. | |
wgl | |
The system abstraction layer for Windows OpenGL. | |
Classes | |
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 |
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 |
class | ConfigStatistics |
Samples one Config statistics event. More... | |
class | CUDAContext |
CUDA implementation of a ComputeContext. More... | |
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 | EventICommand |
A command specialization for config events. More... | |
class | Exception |
Exception class for Equalizer operations. More... | |
class | Frame |
A holder for a frame data and related parameters. More... | |
class | FrameData |
A holder for multiple images. More... | |
class | GLException |
OpenGL Exception. More... | |
class | Global |
Global parameter handling for the Equalizer client library. More... | |
class | GLWindow |
A system window for OpenGL rendering. More... | |
class | Image |
A holder for pixel data. More... | |
class | Layout |
A layout groups one or more View, logically belonging together. More... | |
class | MessagePump |
An interface to process system messages or 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 | NotifierInterface |
A base class for notifying errors and events. More... | |
class | Observer |
An Observer looks at one or more views from a certain position (head matrix) with a given eye separation. More... | |
class | Pipe |
A Pipe represents a graphics card (GPU) on a Node. More... | |
struct | PixelData |
The pixel data structure manages the pixel information for images. 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 | SystemPipe |
The interface definition for system-specific GPU handling. More... | |
class | SystemWindow |
The interface definition for system-specific windowing code. More... | |
class | Version |
Information about the current Equalizer version. More... | |
class | View |
A View is a 2D area of a Layout. More... | |
class | Window |
A Window represents an on-screen or off-screen drawable. More... | |
class | WindowSettings |
A set of settings to setup an eq::SystemWindow. More... | |
class | WindowStatistics |
A statistics sampler for window-related events. More... | |
class | WindowSystemIF |
The interface for windowing toolkits. More... | |
class | WindowSystem |
Typedefs | |
typedef fabric::LeafVisitor < Segment > | SegmentVisitor |
A visitor to traverse segments. More... | |
typedef fabric::LeafVisitor< View > | ViewVisitor |
A visitor to traverse views. More... | |
typedef fabric::LeafVisitor < Observer > | ObserverVisitor |
A visitor to traverse channels. More... | |
typedef fabric::LeafVisitor < Channel > | ChannelVisitor |
A visitor to traverse channels. More... | |
typedef fabric::ElementVisitor < Canvas, SegmentVisitor > | CanvasVisitor |
A visitor to traverse canvases and children. More... | |
typedef fabric::ElementVisitor < Window, ChannelVisitor > | WindowVisitor |
A visitor to traverse windows and children. More... | |
typedef fabric::ElementVisitor < Pipe, WindowVisitor > | PipeVisitor |
A visitor to traverse pipes and children. More... | |
typedef fabric::ElementVisitor < Node, PipeVisitor > | NodeVisitor |
A visitor to traverse nodes and children. More... | |
typedef fabric::ElementVisitor < Layout, ViewVisitor > | LayoutVisitor |
A visitor to traverse layouts and children. More... | |
typedef fabric::ConfigVisitor < Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > | ConfigVisitor |
A visitor to traverse configs and children. More... | |
typedef fabric::ElementVisitor < Server, ConfigVisitor > | ServerVisitor |
A visitor to traverse servers and children. More... | |
typedef std::vector< Config * > | Configs |
A vector of pointers to eq::Config. | |
typedef std::vector< Server * > | Servers |
A vector of pointers to eq::Server. | |
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 Configs::const_iterator | ConfigsCIter |
A const_iterator over a eq::Config vector. | |
typedef Servers::const_iterator | ServersCIter |
A const_iterator over a eq::Server vector. | |
typedef Nodes::const_iterator | NodesCIter |
A const_iterator over a eq::Node vector. | |
typedef Pipes::const_iterator | PipesCIter |
A const_iterator over a eq::Pipe vector. | |
typedef Windows::const_iterator | WindowsCIter |
A const_iterator over a eq::Window vector. | |
typedef Channels::const_iterator | ChannelsCIter |
A const_iterator over a eq::Channel vector. | |
typedef Frames::iterator | FramesIter |
An iterator over a eq::Frame vector. | |
typedef Frames::const_iterator | FramesCIter |
A const_iterator over a eq::Frame vector. | |
typedef Images::const_iterator | ImagesCIter |
A const_iterator over a eq::Image vector. | |
typedef Observers::const_iterator | ObserversCIter |
A const_iterator over a eq::Observer vector. | |
typedef Canvases::const_iterator | CanvasesCIter |
A const_iterator over a eq::Canvas vector. | |
typedef Layouts::const_iterator | LayoutsCIter |
A const_iterator over a eq::Layout vector. | |
typedef Segments::const_iterator | SegmentsCIter |
A const_iterator over a eq::Segment vector. | |
typedef Views::const_iterator | ViewsCIter |
A const_iterator over a eq::View vector. | |
typedef Viewports::const_iterator | ViewportsCIter |
A const_iterator over a eq::Viewport vector. | |
typedef PixelViewports::const_iterator | PixelViewportsCIter |
A const_iterator over a eq::PixelViewport vector. | |
typedef Statistics::const_iterator | StatisticsCIter |
A const_iterator over a eq::Statistic events vector. | |
typedef lunchbox::RefPtr< Client > | ClientPtr |
A reference-counted pointer to an eq::Client. | |
typedef lunchbox::RefPtr < const Client > | ConstClientPtr |
A reference-counted pointer to a const eq::Client. | |
typedef lunchbox::RefPtr< Server > | ServerPtr |
A reference-counted pointer to an eq::Server. | |
typedef lunchbox::RefPtr < FrameData > | FrameDataPtr |
A reference-counted pointer to an eq::FrameData. | |
typedef lunchbox::RefPtr < const FrameData > | ConstFrameDataPtr |
A reference-counted pointer to a const eq::FrameData. | |
typedef vmml::frustum_culler < float > | FrustumCullerf |
< A const_iterator over a std::string vector More... | |
typedef std::vector< uint8_t > | Vectorub |
A vector of bytes. | |
typedef std::vector< uint16_t > | Vectorus |
A vector of unsigned shorts. | |
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 = LB_BIT_NONE, PTR_BUTTON1 = LB_BIT1, PTR_BUTTON2 = LB_BIT2, PTR_BUTTON3 = LB_BIT3, PTR_BUTTON4 = LB_BIT4, PTR_BUTTON5 = LB_BIT5, PTR_BUTTON6 = LB_BIT6, PTR_BUTTON7 = LB_BIT7 } |
Mouse pointer button definition. More... | |
enum | LogTopics { LOG_PLUGIN = lunchbox::LOG_PLUGIN, LOG_INIT = fabric::LOG_INIT, LOG_ASSEMBLY = fabric::LOG_CUSTOM << 0, LOG_TASKS = fabric::LOG_CUSTOM << 1, LOG_STATS = fabric::LOG_CUSTOM << 2, LOG_SERVER = fabric::LOG_CUSTOM << 3, LOG_CUSTOM = 0x10000 } |
Defines selective logging classes enabled by setting LB_LOG_TOPICS. More... | |
enum | ZoomFilter { FILTER_NEAREST = 0x2600, FILTER_LINEAR = 0x2601 } |
Filtering algorithm to applied during zoom operations. More... | |
Functions | |
EQ_API std::ostream & | operator<< (std::ostream &os, const ConfigEvent *event) |
Print the config event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const Event &) |
Print the event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const Event::Type &) |
Print the event type to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const ResizeEvent &) |
Print the resize event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const PointerEvent &) |
Print the pointer event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const KeyEvent &) |
Print the key event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const MagellanEvent &) |
Print the space mouse event to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &os, const EventICommand &command) |
Print the event command to the given output stream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const FrameData &) |
Print the frame data to the given output stream. More... | |
EQ_API 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 LBWARN. | |
EQ_API std::string | glError (const GLenum error) |
EQ_API bool | _init (const int argc, char **argv, NodeFactory *nodeFactory) |
bool | init (const int argc, char **argv, NodeFactory *nodeFactory) |
Initialize the Equalizer client library. More... | |
EQ_API bool | exit () |
De-initialize the Equalizer client library. More... | |
EQ_API Config * | getConfig (const int argc, char **argv) |
Convenience function to retrieve a configuration. More... | |
EQ_API void | releaseConfig (Config *config) |
Convenience function to release a configuration. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const Statistic::Type &) |
Output the statistic type to an std::ostream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &, const Statistic &) |
Output the statistic to an std::ostream. More... | |
EQ_API std::ostream & | operator<< (std::ostream &os, const WindowSystem &) |
Print the window system name to the given output stream. More... | |
EQ_API co::DataOStream & | operator<< (co::DataOStream &os, const WindowSystem &) |
co::Object serializer. More... | |
EQ_API co::DataIStream & | operator>> (co::DataIStream &is, WindowSystem &ws) |
WindowSystem deserializer. More... | |
The Equalizer client library.
This namespace implements the application-visible API to access the Equalizer server.
The Client represents the application instance and co::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 co::Session, which is normally used to register distributed objects based on eq::Object or co::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 SystemWindow is used by the Window and abstracts window-system specific functionality. The GLWindow implements generic OpenGL functionality, and is in turn sub-classed by the interfaces GLXWindowIF, AGLWindowIF and WGLWindowIF, which extend the GLWindow by GLX, AGL and WGL-specific functionality. The GLXWindow, AGLWindow and WGLWindow implement the aforementioned interfaces.
The SystemPipe, 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 SystemWindow, which can execute window system specific tasks. The SystemWindow 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 an 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.
typedef fabric::ElementVisitor< Canvas, SegmentVisitor > eq::CanvasVisitor |
A visitor to traverse canvases and children.
Definition at line 118 of file client/types.h.
typedef fabric::LeafVisitor< Channel > eq::ChannelVisitor |
A visitor to traverse channels.
Definition at line 115 of file client/types.h.
typedef fabric::ConfigVisitor< Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > eq::ConfigVisitor |
A visitor to traverse configs and children.
Definition at line 135 of file client/types.h.
typedef vmml::frustum_culler< float > eq::FrustumCullerf |
< A const_iterator over a std::string vector
Frustum culling helper
Definition at line 246 of file client/types.h.
typedef fabric::ElementVisitor< Layout, ViewVisitor > eq::LayoutVisitor |
A visitor to traverse layouts and children.
Definition at line 130 of file client/types.h.
typedef fabric::ElementVisitor< Node, PipeVisitor > eq::NodeVisitor |
A visitor to traverse nodes and children.
Definition at line 127 of file client/types.h.
typedef fabric::LeafVisitor< Observer > eq::ObserverVisitor |
A visitor to traverse channels.
Definition at line 112 of file client/types.h.
typedef fabric::ElementVisitor< Pipe, WindowVisitor > eq::PipeVisitor |
A visitor to traverse pipes and children.
Definition at line 124 of file client/types.h.
typedef fabric::LeafVisitor< Segment > eq::SegmentVisitor |
A visitor to traverse segments.
Definition at line 106 of file client/types.h.
typedef fabric::ElementVisitor< Server, ConfigVisitor > eq::ServerVisitor |
A visitor to traverse servers and children.
Definition at line 138 of file client/types.h.
typedef fabric::LeafVisitor< View > eq::ViewVisitor |
typedef fabric::ElementVisitor< Window, ChannelVisitor > eq::WindowVisitor |
A visitor to traverse windows and children.
Definition at line 121 of file client/types.h.
enum eq::KeyCode |
enum eq::LogTopics |
Defines selective logging classes enabled by setting LB_LOG_TOPICS.
Enumerator | |
---|---|
LOG_PLUGIN |
Plugin usage (2) |
LOG_INIT |
Initialization (512) |
LOG_ASSEMBLY |
Compositing tasks (1024) |
LOG_TASKS |
Rendering tasks (2048) |
LOG_STATS |
Statistic events (4096) |
LOG_SERVER |
Server-side logs (8192) |
LOG_CUSTOM |
User-defined log topics (65536) |
Definition at line 26 of file client/log.h.
enum eq::PointerButton |
enum eq::ZoomFilter |
Filtering algorithm to applied during zoom operations.
Enumerator | |
---|---|
FILTER_NEAREST |
GL_NEAREST. |
FILTER_LINEAR |
GL_LINEAR. |
Definition at line 26 of file zoomFilter.h.
EQ_API bool eq::exit | ( | ) |
De-initialize the Equalizer client library.
De-initialize the Equalizer administrative library.
true
if the library was successfully de-initialized, false
otherwise. EQ_API 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.
EQ_API std::string eq::glError | ( | const GLenum | error | ) |
|
inline |
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 co::LocalNode::initLocal().
argc | the command line argument count. |
argv | the command line argument values. |
nodeFactory | the factory for allocating Equalizer objects. |
Definition at line 57 of file client/init.h.
References eq::Version::getABI().
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | os, |
const ConfigEvent * | event | ||
) |
Print the config event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | os, |
const EventICommand & | command | ||
) |
Print the event command to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const Statistic::Type & | |||
) |
Output the statistic type to an std::ostream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const Statistic & | |||
) |
Output the statistic to an std::ostream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | os, |
const WindowSystem & | |||
) |
Print the window system name to the given output stream.
EQ_API co::DataOStream& eq::operator<< | ( | co::DataOStream & | os, |
const WindowSystem & | |||
) |
co::Object serializer.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const Event & | |||
) |
Print the event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const Event::Type & | |||
) |
Print the event type to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const ResizeEvent & | |||
) |
Print the resize event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const PointerEvent & | |||
) |
Print the pointer event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const KeyEvent & | |||
) |
Print the key event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const MagellanEvent & | |||
) |
Print the space mouse event to the given output stream.
EQ_API std::ostream& eq::operator<< | ( | std::ostream & | , |
const FrameData & | |||
) |
Print the frame data to the given output stream.
EQ_API co::DataIStream& eq::operator>> | ( | co::DataIStream & | is, |
WindowSystem & | ws | ||
) |
WindowSystem deserializer.
EQ_API 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.