Equalizer
1.4.1
|
The main application object. More...
#include <application.h>
Public Member Functions | |
Application () | |
Construct a new application instance. | |
virtual | ~Application () |
Destruct this application instance. | |
Data Access | |
co::NodePtr | getMasterNode () |
Operations | |
virtual bool | init (const int argc, char **argv, co::Object *initData) |
Initialize the application instance. | |
virtual bool | run (co::Object *frameData) |
Run the application main loop. | |
virtual bool | exit () |
Exit this application instance. | |
void | stopRunning () |
Request that the application leaves its run loop. | |
Callbacks | |
virtual bool | clientInit (co::Object *initData) |
Initialize a render client. | |
virtual bool | clientExit () |
Exit a render client. | |
virtual Renderer * | createRenderer ()=0 |
Create a new renderer instance. | |
virtual void | destroyRenderer (Renderer *renderer) |
Delete the given renderer. | |
virtual ViewData * | createViewData () |
Create a new per-view data instance. | |
virtual void | destroyViewData (ViewData *viewData) |
Delete the given view data. | |
Internal | |
eq::Config * | getConfig () |
detail::Application * | getImpl () |
The main application object.
Definition at line 28 of file include/seq/application.h.
virtual seq::Application::~Application | ( | ) | [virtual] |
Destruct this application instance.
Reimplemented in seqPly::Application, and eqHello::Application.
virtual bool seq::Application::clientExit | ( | ) | [inline, virtual] |
virtual bool seq::Application::clientInit | ( | co::Object * | initData | ) | [inline, virtual] |
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 101 of file include/seq/application.h.
virtual Renderer* seq::Application::createRenderer | ( | ) | [pure virtual] |
Create a new renderer instance.
Called once per rendering thread, potentially in parallel, during initialization.
Implemented in seqPly::Application, and eqHello::Application.
virtual ViewData* seq::Application::createViewData | ( | ) | [virtual] |
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.
virtual void seq::Application::destroyRenderer | ( | Renderer * | renderer | ) | [virtual] |
Delete the given renderer.
virtual void seq::Application::destroyViewData | ( | ViewData * | viewData | ) | [virtual] |
Delete the given view data.
virtual bool seq::Application::exit | ( | ) | [virtual] |
Exit this application instance.
Reimplemented in seqPly::Application.
virtual bool seq::Application::init | ( | const int | argc, |
char ** | argv, | ||
co::Object * | initData | ||
) | [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. |
virtual bool seq::Application::run | ( | co::Object * | frameData | ) | [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. |
void seq::Application::stopRunning | ( | ) |
Request that the application leaves its run loop.