Nugget
Public Member Functions | Friends | List of all members
psyqo::Application Class Reference

The application class. More...

#include <application.hh>

Inheritance diagram for psyqo::Application:
Inheritance graph
[legend]

Public Member Functions

int run ()
 Runs the main loop. More...
 
virtual void prepare ()
 Prepare the objects for the application. More...
 
virtual void createScene ()
 Create the root scene object. More...
 
psyqo::GPUgpu ()
 Get the GPU object. More...
 
ScenegetCurrentScene ()
 Get the current scene object. More...
 
void pushScene (Scene *scene)
 Push a scene object onto the stack. More...
 
ScenepopScene ()
 Pop a scene object from the stack. More...
 

Friends

class Scene
 

Detailed Description

The application class.

The application class is the main class of the application. It's supposed to be a singleton object instantiated in your main program. It's responsible for the main loop of the application, and creating the initial scene. It will hold the GPU object that can be used to render primitives throughout the lifetime of the application. The main function should simply instantiate an application object and call its run method.

Member Function Documentation

◆ createScene()

virtual void psyqo::Application::createScene ( )
inlinevirtual

Create the root scene object.

This will be called once before the main loop. It should create the root scene object and push it onto the stack.

◆ getCurrentScene()

psyqo::Scene * psyqo::Application::getCurrentScene ( )

Get the current scene object.

Returns the top scene object on the stack.

◆ gpu()

psyqo::GPU& psyqo::Application::gpu ( )
inline

Get the GPU object.

Simple accessor for the GPU object.

◆ popScene()

psyqo::Scene * psyqo::Application::popScene ( )

Pop a scene object from the stack.

Pops the top scene object from the stack. There can be only one active scene at a time. Popping a scene object will cause the current scene to be teared down and the new top scene, if any, to be started. If the scene stack ends up being empty, the createScene method will be called again.

Calling this method when the stack is empty will return nullptr.

Returns
the popped scene, potentially for deletion if needed.

◆ prepare()

virtual void psyqo::Application::prepare ( )
inlinevirtual

Prepare the objects for the application.

This will be called once before creating the first scene, and should be used to initialize any other objects necessary. Do not try to access any hardware resources during this call.

◆ pushScene()

void psyqo::Application::pushScene ( Scene scene)

Push a scene object onto the stack.

Pushes a new scene object onto the stack. There can be only one active scene at a time. Pushing a scene object will cause the current scene, if any, to be teared down, and the new scene to be started.

◆ run()

int psyqo::Application::run ( )

Runs the main loop.

Call this from the main function. It will never return.


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