Equalizer
2.0.0
Parallel Rendering Framework
|
The main application object. More...
#include <application.h>
Public Member Functions | |
SEQ_API | Application () |
Construct a new application instance. More... | |
Data Access | |
SEQ_API co::NodePtr | getMasterNode () |
Operations | |
virtual SEQ_API bool | init (int argc, char **argv, co::Object *initData) |
Initialize the application instance. More... | |
virtual SEQ_API bool | run (co::Object *frameData) |
Run the application main loop. More... | |
virtual SEQ_API bool | exit () |
Exit this application instance. More... | |
SEQ_API void | stopRunning () |
Request that the application leaves its run loop. More... | |
Callbacks | |
virtual bool | clientInit (co::Object *initData) |
Initialize a render client. More... | |
virtual bool | clientExit () |
Exit a render client. More... | |
virtual Renderer * | createRenderer ()=0 |
Create a new renderer instance. More... | |
virtual SEQ_API void | destroyRenderer (Renderer *renderer) |
Delete the given renderer. More... | |
virtual SEQ_API ViewData * | createViewData (View &view) |
Create a new per-view data instance. More... | |
virtual SEQ_API void | destroyViewData (ViewData *viewData) |
Delete the given view data. More... | |
Internal | |
SEQ_API eq::Config * | getConfig () |
detail::Application * | getImpl () |
Distributed Object API | |
SEQ_API bool | registerObject (co::Object *object, const uint32_t type) |
Add and register a new object as master instance. More... | |
SEQ_API bool | deregister (co::Object *object) |
Remove and deregister an object. More... | |
Public Member Functions inherited from eq::Client | |
EQ_API | Client () |
Construct a new client. More... | |
EQ_API bool | connectServer (ServerPtr server) |
Open and connect an Equalizer server to the local client. More... | |
EQ_API bool | disconnectServer (ServerPtr server) |
Disconnect and close the connection to an Equalizer server. More... | |
EQ_API bool | initLocal (const int argc, char **argv) override |
Initialize a local, listening node. More... | |
EQ_API bool | exitLocal () override |
De-initialize a local, listening node. More... | |
EQ_API bool | hasCommands () |
EQ_API bool | isRunning () const |
EQ_API co::CommandQueue * | getMainThreadQueue () override |
void | interruptMainThread () |
Experimental: interrupt main thread queue. | |
EQ_API void | setName (const std::string &name) |
Set the name of the configuration. More... | |
EQ_API const std::string & | getName () const |
EQ_API void | addActiveLayout (const std::string &activeLayout) |
Add an active layout programmatically, like –eq-layout does. More... | |
const Strings & | getActiveLayouts () const |
const std::string & | getGPUFilter () const |
float | getModelUnit () const |
Public Member Functions inherited from eq::fabric::Client | |
EQFABRIC_API bool | connectServer (co::NodePtr server) |
Open and connect an Equalizer server to the local client. More... | |
EQFABRIC_API bool | disconnectServer (co::NodePtr server) |
Disconnect and close the connection to an Equalizer server. More... | |
EQFABRIC_API void | processCommand (const uint32_t timeout=LB_TIMEOUT_INDEFINITE) |
Get and process one pending command from the node command queue. More... | |
virtual EQFABRIC_API bool | dispatchCommand (co::ICommand &command) |
Protected Member Functions | |
virtual SEQ_API | ~Application () |
Destruct this application instance. More... | |
Protected Member Functions inherited from eq::Client | |
virtual EQ_API | ~Client () |
Destruct the client. More... | |
virtual EQ_API void | clientLoop () |
Implements the processing loop for render clients. More... | |
virtual EQ_API void | exitClient () |
Exit the process cleanly on render clients. More... | |
Protected Member Functions inherited from eq::fabric::Client | |
EQFABRIC_API | Client () |
Construct a new client. | |
The main application object.
Definition at line 29 of file application.h.
SEQ_API seq::Application::Application | ( | ) |
Construct a new application instance.
|
protectedvirtual |
Destruct this application instance.
Referenced by clientExit().
|
inlinevirtual |
Exit a render client.
Definition at line 102 of file application.h.
References createRenderer(), createViewData(), deregister(), destroyRenderer(), destroyViewData(), registerObject(), and ~Application().
|
inlinevirtual |
Initialize a render client.
Also called on the master application node if it contributes to the rendering.
initData | A slave instance of the object passed to init(). |
Definition at line 98 of file application.h.
|
pure virtual |
Create a new renderer instance.
Called once per rendering thread, potentially in parallel, during initialization.
Referenced by clientExit().
Create a new per-view data instance.
Called once for each view in the current configuration. Creates the view data objects used by the application to set parameters for the renderers.
view | the view requesting the view data |
Referenced by clientExit().
SEQ_API bool seq::Application::deregister | ( | co::Object * | object | ) |
Remove and deregister an object.
object | the object to remove and deregister |
Referenced by clientExit().
|
virtual |
Delete the given renderer.
Referenced by clientExit().
|
virtual |
Delete the given view data.
Referenced by clientExit().
|
virtual |
Exit this application instance.
SEQ_API co::NodePtr seq::Application::getMasterNode | ( | ) |
|
virtual |
Initialize the application instance.
The initData object is registered and is passed to all initialization callbacks on all processes. The object may be 0, if the application does not want to use an object during initialization.
argc | the command line argument count. |
argv | the command line arguments. |
initData | a distributable object for initialization data. |
SEQ_API bool seq::Application::registerObject | ( | co::Object * | object, |
const uint32_t | type | ||
) |
Add and register a new object as master instance.
object | the new object to add and register |
type | unique object type to create object via slave factory |
Referenced by clientExit().
|
virtual |
Run the application main loop.
The frameData object is registered and is passed to all rendering callbacks on all processes. It is automatically committed at the beginning of each frame. The instance passed to the render callbacks is automatically synchronized to the version belonging to the frame rendered. The object may be 0, if the application does not want to use a per-frame object.
frameData | a distributed object holding frame-specific data. |
SEQ_API void seq::Application::stopRunning | ( | ) |
Request that the application leaves its run loop.