Equalizer  1.8.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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

SEQ_API Application ()
 Construct a new application instance. More...
 
Data Access
SEQ_API co::NodePtr getMasterNode ()
 
Operations
virtual SEQ_API bool init (const 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 1)
 Initialize a render client. More...
 
virtual bool clientExit ()
 Exit a render client. More...
 
virtual RenderercreateRenderer ()=0
 Create a new renderer instance. More...
 
virtual SEQ_API void destroyRenderer (Renderer *renderer)
 Delete the given renderer. More...
 
virtual SEQ_API ViewDatacreateViewData ()
 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::ConfiggetConfig ()
 
detail::Application * getImpl ()
 
- 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...
 
virtual EQ_API bool initLocal (const int argc, char **argv)
 Initialize a local, listening node. More...
 
virtual EQ_API bool exitLocal ()
 De-initialize a local, listening node. More...
 
EQ_API bool hasCommands ()
 
virtual EQ_API co::CommandQueue * getMainThreadQueue ()
 
const Strings & getActiveLayouts ()
 
const std::string & getGPUFilter () const
 
float getModelUnit () const
 
void interruptMainThread ()
 Experimental: interrupt main thread queue.
 
- 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.
 

Detailed Description

The main application object.

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

Constructor & Destructor Documentation

SEQ_API seq::Application::Application ( )

Construct a new application instance.

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

Destruct this application instance.

Version
1.0

Member Function Documentation

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

Exit a render client.

Version
1.0

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

virtual bool seq::Application::clientInit ( co::Object *initData  1)
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 98 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 SEQ_API 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 SEQ_API void seq::Application::destroyRenderer ( Renderer renderer)
virtual

Delete the given renderer.

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

Delete the given view data.

Version
1.0
virtual SEQ_API 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:

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