Equalizer  1.6.1
Public Member Functions | List of all members
seq::Application Class Referenceabstract

The main application object. More...

#include <application.h>

+ Inheritance diagram for seq::Application:
+ Collaboration diagram for seq::Application:

Public Member Functions

 Application ()
 Construct a new application instance. More...
 
virtual ~Application ()
 Destruct this application instance. More...
 
Data Access
co::NodePtr getMasterNode ()
 
Operations
virtual bool init (const int argc, char **argv, co::Object *initData)
 Initialize the application instance. More...
 
virtual bool run (co::Object *frameData)
 Run the application main loop. More...
 
virtual bool exit ()
 Exit this application instance. More...
 
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 RenderercreateRenderer ()=0
 Create a new renderer instance. More...
 
virtual void destroyRenderer (Renderer *renderer)
 Delete the given renderer. More...
 
virtual ViewDatacreateViewData ()
 Create a new per-view data instance. More...
 
virtual void destroyViewData (ViewData *viewData)
 Delete the given view data. More...
 
Internal
eq::ConfiggetConfig ()
 
detail::Application * getImpl ()
 
- Public Member Functions inherited from eq::Client
 Client ()
 Construct a new client. More...
 
virtual ~Client ()
 Destruct the client. More...
 
bool connectServer (ServerPtr server)
 Open and connect an Equalizer server to the local client. More...
 
bool disconnectServer (ServerPtr server)
 Disconnect and close the connection to an Equalizer server. More...
 
virtual bool initLocal (const int argc, char **argv)
 Initialize a local, listening node. More...
 
virtual bool exitLocal ()
 De-initialize a local, listening node. More...
 
bool hasCommands ()
 
virtual co::CommandQueue * getMainThreadQueue ()
 
const Strings & getActiveLayouts ()
 
const std::string & getGPUFilter () const
 
float getModelUnit () const
 
- Public Member Functions inherited from eq::fabric::Client
bool connectServer (co::NodePtr server)
 Open and connect an Equalizer server to the local client. More...
 
bool disconnectServer (co::NodePtr server)
 Disconnect and close the connection to an Equalizer server. More...
 
void processCommand (const uint32_t timeout=LB_TIMEOUT_INDEFINITE)
 Get and process one pending command from the node command queue. More...
 
virtual bool dispatchCommand (co::ICommand &command)
 

Additional Inherited Members

- Protected Member Functions inherited from eq::Client
virtual void clientLoop ()
 Implements the processing loop for render clients. More...
 
virtual void exitClient ()
 Exit the process cleanly on render clients. More...
 
- Protected Member Functions inherited from eq::fabric::Client
 Client ()
 Construct a new client.
 

Detailed Description

The main application object.

Definition at line 28 of file include/seq/application.h.

Constructor & Destructor Documentation

seq::Application::Application ( )

Construct a new application instance.

Version
1.0
virtual seq::Application::~Application ( )
virtual

Destruct this application instance.

Version
1.0

Reimplemented in seqPly::Application, and eqHello::Application.

Member Function Documentation

virtual bool seq::Application::clientExit ( )
inlinevirtual

Exit a render client.

Version
1.0

Definition at line 104 of file include/seq/application.h.

virtual bool seq::Application::clientInit ( co::Object *  initData)
inlinevirtual

Initialize a render client.

Also called on the master application node if it contributes to the rendering.

Parameters
initDataA slave instance of the object passed to init().
Returns
true on success, false on error.
Version
1.0

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.

Returns
the new renderer
Version
1.0

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.

Returns
the new view data
Version
1.0
virtual void seq::Application::destroyRenderer ( Renderer renderer)
virtual

Delete the given renderer.

Version
1.0
virtual void seq::Application::destroyViewData ( ViewData viewData)
virtual

Delete the given view data.

Version
1.0
virtual bool seq::Application::exit ( )
virtual

Exit this application instance.

Returns
true on success, false otherwise.
Version
1.0

Reimplemented in seqPly::Application.

Referenced by seqPly::Application::exit().

+ Here is the caller graph for this function:

co::NodePtr seq::Application::getMasterNode ( )
Returns
the node running the main instance.
Version
1.3.1
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.

Parameters
argcthe command line argument count.
argvthe command line arguments.
initDataa distributable object for initialization data.
Returns
true on success, false otherwise.
Version
1.0
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.

Returns
true on success, false otherwise.
Parameters
frameDataa distributed object holding frame-specific data.
Version
1.0
void seq::Application::stopRunning ( )

Request that the application leaves its run loop.

Version
1.1.6

The documentation for this class was generated from the following file: