class TcApplication

Tandem core application base class

Public Methods

TcApplication(int argc, char *argv[])
Constructor.
virtual ~TcApplication()
Destructor.
void tdAppUpdate()
Not yet implemented
void runTcApp()
This is called after the call to config() to start the application execution loop.
int config()
This must be called in the constructor of derived classes to trigger the factory methods.

Protected Fields

TcGfxManager* sceneManager
The scene manager provides access to Tandem's graphics subsystem.
TcAudioPlayer* audioPlayer
The audioPlayer provides access to Tandem's audio client.

Protected Methods

virtual TcNetManager* createNetworkManager(int argc, char* argv[], long& clientLocalPort, long& clientRemotePort, bool& clientRemoteConnect, TcUtString& clientUserName, TcUtString& clientWorldServer, TcUtString& clientWorldName)
Factory method
virtual TcInteractionManager* createInteractionManager(TcGfxManager &gfxManager)
Factory Method
virtual TcGfxManager* createGfxManager(int argc, char *argv[], TcLoader *clientLoader)
Factory Method
virtual TcAvatarManager* createAvatarManager()
Factory Method
virtual TcLoader* createLoader()
Factory Method
virtual TcAudioPlayer* createAudioPlayer()
Factory Method
const TcNetManager* getNetManager()
This provides access to Tandem's networking manager class.

Documentation

Tandem core application base class. Every tandem application must inherit from this class. TcApplication is based on the Factory Method design pattern. Clients override the create methods to get the desired modules.
TcApplication(int argc, char *argv[])
Constructor.

virtual ~TcApplication()
Destructor.

void tdAppUpdate()
Not yet implemented. If need be this method will allow clients to add functionality outside of the interaction methods.

void runTcApp()
This is called after the call to config() to start the application execution loop.

int config()
This must be called in the constructor of derived classes to trigger the factory methods.

virtual TcNetManager* createNetworkManager(int argc, char* argv[], long& clientLocalPort, long& clientRemotePort, bool& clientRemoteConnect, TcUtString& clientUserName, TcUtString& clientWorldServer, TcUtString& clientWorldName)
Factory method. This method will return a client network manager, and NULL if one is not provided.
Parameters:
clientLocalPort - the port the client will receive on.
clientRemotePort - the port on the server that the client will connect to.
clientRemoteConnect - a flag indicating whether to connect to a server or not.
clientUserName - The client's user name
clientWorldServer - The url of the host.
clientWorldName - The name of the world to connect to.

virtual TcInteractionManager* createInteractionManager(TcGfxManager &gfxManager)
Factory Method. This method will return a default interactionManager if not overridden by the client.
Parameters:
gfxManager - This is the scene manager.

virtual TcGfxManager* createGfxManager(int argc, char *argv[], TcLoader *clientLoader)
Factory Method. Generally this method is not overidden and the Tandem core graphics manager is used.

virtual TcAvatarManager* createAvatarManager()
Factory Method. The application base class will hold a bare bones TcAvatarManager. Eventually Tandem will include a default avatar implementation. For now look at the Mars_Builder application for an example.

virtual TcLoader* createLoader()
Factory Method. This method will return a client loader and NULL if one is not provided.

virtual TcAudioPlayer* createAudioPlayer()
Factory Method. This method will return the default Tandem audio client class. It is available from within the InteractionManager, set by this class on startup.

const TcNetManager* getNetManager()
This provides access to Tandem's networking manager class.

TcGfxManager* sceneManager
The scene manager provides access to Tandem's graphics subsystem.

TcAudioPlayer* audioPlayer
The audioPlayer provides access to Tandem's audio client.


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de