Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

anoid::main::World Class Reference

#include <world.hh>

Inheritance diagram for anoid::main::World:

Inheritance graph
[legend]
Collaboration diagram for anoid::main::World:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual base::ObjectloadObject (const std::string &name)
virtual int getFreshID ()
 World (config::Configuration &c, context::Context *context, double g=6.6726E-11)
virtual void init (config::Configuration &c)
virtual double getTime ()
virtual double getG ()
virtual vector< base::Object
* >::iterator 
begin ()
virtual vector< base::Object
* >::iterator 
end ()
virtual base::Objectadd (base::Object *o)
virtual std::vector< base::Element
* >::iterator 
beginE ()
virtual std::vector< base::Element
* >::iterator 
endE ()
virtual void update ()
virtual void redraw ()
virtual void send (base::Event *e)
virtual void listen (base::Object *o, const std::string &m)
virtual void fireEvents ()
virtual base::EventloadEvent (const std::string &name)
virtual base::EventloadEvent (const std::string &name, config::Configuration &c)
virtual base::EventsendEvent (const std::string &name)
virtual base::EventsendEvent (const std::string &name, base::Object *o1)
virtual base::EventsendEvent (const std::string &name, base::Object *o1, base::Object *o2)
virtual base::EventsendEvent (const std::string &name, base::Object *o1, base::Object *o2, base::Object *o3)
virtual context::ContextgetContext ()

Private Attributes

Uint32 old
int maxid
double time
 How much has time progressed since we last rendered?

double G
 The constant of gravity.

std::vector< base::Element * > childrenE
std::deque< base::Event * > events
string_map< vector< base::Object * > > listeners
context::Context_context

Constructor & Destructor Documentation

anoid::main::World::World config::Configuration   c,
context::Context   context,
double    g = 6.6726E-11
 

Construct a new World (whoa, talk about playing God :)

Parameters:
c  configuration description of the contents of the world
context  the graphics context to use
g  constant of gravity for this world. The default is the same as for our universe

Definition at line 34 of file world.cc.

References anoid::main::context, init(), and anoid::base::Object::world.


Member Function Documentation

Object * anoid::main::World::add base::Object   o [virtual]
 

Definition at line 99 of file world.cc.

References childrenE.

vector< Object * >::iterator anoid::main::World::begin   [virtual]
 

Get an iterator of all children

Returns:
an iterator of children

Implements anoid::base::AbstractWorld.

Definition at line 91 of file world.cc.

References anoid::base::Object::children.

virtual std::vector<base::Element*>::iterator anoid::main::World::beginE   [inline, virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 41 of file world.hh.

References childrenE.

vector< Object * >::iterator anoid::main::World::end   [virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 95 of file world.cc.

References anoid::base::Object::children.

virtual std::vector<base::Element*>::iterator anoid::main::World::endE   [inline, virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 42 of file world.hh.

References childrenE.

void anoid::main::World::fireEvents   [virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 130 of file world.cc.

References events, anoid::simple::i(), anoid::simple::j(), and listeners.

virtual context::Context* anoid::main::World::getContext   [inline, virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 54 of file world.hh.

int anoid::main::World::getFreshID   [virtual]
 

Get a fresh ID, which is unique in this world (this is used for serialisation on the network)

Returns:
a fresh ID

Implements anoid::base::AbstractWorld.

Definition at line 83 of file world.cc.

References maxid.

virtual double anoid::main::World::getG   [inline, virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 37 of file world.hh.

References G.

virtual double anoid::main::World::getTime   [inline, virtual]
 

Get time passed since last update (used for position calculations from velocity etc.)

Returns:
the time passed since last update

Implements anoid::base::AbstractWorld.

Definition at line 36 of file world.hh.

References time.

void anoid::main::World::init config::Configuration   c [virtual]
 

This is the real initialiser. It should take it's parameters from the provided configuration

Parameters:
c  the configuration describing this object and it's children

Reimplemented from anoid::base::Object.

Definition at line 39 of file world.cc.

References G, and old.

Referenced by World().

void anoid::main::World::listen base::Object   o,
const std::string &    m
[virtual]
 

Definition at line 123 of file world.cc.

References anoid::main::collisionCallback(), and listeners.

Event * anoid::main::World::loadEvent const std::string &    name,
config::Configuration   c
[virtual]
 

Convenience method for loading an event and initialise it with some a configuration

Parameters:
name  name of event to load
c  the configuration to use for initialisation
Returns:
the loaded event

Implements anoid::base::AbstractWorld.

Definition at line 53 of file world.cc.

References loadObject().

Event * anoid::main::World::loadEvent const std::string &    name [virtual]
 

Convenience method for loading an event

Parameters:
name  name of event to load
Returns:
the loaded event

Implements anoid::base::AbstractWorld.

Definition at line 48 of file world.cc.

References loadObject().

Referenced by sendEvent().

Object * anoid::main::World::loadObject const std::string &    name [virtual]
 

Implements anoid::base::AbstractWorld.

Definition at line 87 of file world.cc.

Referenced by loadEvent().

void anoid::main::World::redraw   [virtual]
 

Called just after update has been called on the entire world. This should draw the objects (using OpenGL).

Reimplemented from anoid::base::Object.

Definition at line 113 of file world.cc.

void anoid::main::World::send base::Event   e [virtual]
 

Definition at line 119 of file world.cc.

References events.

Referenced by sendEvent().

Event * anoid::main::World::sendEvent const std::string &    name,
base::Object   o1,
base::Object   o2,
base::Object   o3
[virtual]
 

Definition at line 77 of file world.cc.

References sendEvent().

Event * anoid::main::World::sendEvent const std::string &    name,
base::Object   o1,
base::Object   o2
[virtual]
 

Definition at line 71 of file world.cc.

References sendEvent().

Event * anoid::main::World::sendEvent const std::string &    name,
base::Object   o1
[virtual]
 

Definition at line 65 of file world.cc.

References sendEvent().

Event * anoid::main::World::sendEvent const std::string &    name [virtual]
 

Convenience methof for loading and sending an event

Parameters:
name  name of the event to load and send
Returns:
the event just sent

Implements anoid::base::AbstractWorld.

Definition at line 59 of file world.cc.

References loadEvent(), and send().

Referenced by sendEvent().

void anoid::main::World::update   [virtual]
 

Called when the main loop is ready for another step. Should be used to perform any calculations prior to movement.

Reimplemented from anoid::base::Object.

Definition at line 106 of file world.cc.

References old, and time.


Member Data Documentation

context::Context* anoid::main::World::_context [private]
 

Definition at line 23 of file world.hh.

std::vector<base::Element*> anoid::main::World::childrenE [private]
 

Definition at line 20 of file world.hh.

Referenced by add(), beginE(), and endE().

std::deque<base::Event*> anoid::main::World::events [private]
 

Definition at line 21 of file world.hh.

Referenced by fireEvents(), and send().

double anoid::main::World::G [private]
 

The constant of gravity.

Definition at line 19 of file world.hh.

Referenced by getG(), and init().

string_map< vector<base::Object *> > anoid::main::World::listeners [private]
 

Definition at line 22 of file world.hh.

Referenced by fireEvents(), and listen().

int anoid::main::World::maxid [private]
 

Definition at line 15 of file world.hh.

Referenced by getFreshID().

Uint32 anoid::main::World::old [private]
 

Definition at line 14 of file world.hh.

Referenced by init(), and update().

double anoid::main::World::time [private]
 

How much has time progressed since we last rendered?

Definition at line 17 of file world.hh.

Referenced by getTime(), and update().


The documentation for this class was generated from the following files:
Anoid NG © Michael Westergaard, Martin Stig Stissing, Ronni Michael Laursen, and Kristian Bisgaard Lassen