Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Enki::World Class Reference
[Core Enki classes]

#include <PhysicalEngine.h>

List of all members.


Detailed Description

The world is the container of all objects and robots.

It is a rectangular arena with walls at all sides.


Public Member Functions

bool getCollideEven ()
 Return collideEven.
void collideCircleWithBS (PhysicalObject *circle, PhysicalObject *objectBS, const An::Polygone &bs)
 Do the collision of a circular object with one with a different shape (convex boundingsurface).
void collideObjects (PhysicalObject *object1, PhysicalObject *object2)
 Collide two objects. Correct functions will be called depending on type of object (circular or other shape).
void collideWithWalls (PhysicalObject *object)
 Collide the object with walls.
bool isPointInside (const An::Point &p, const An::Point &c, const An::Polygone &bs, An::Vector *distVector)
 Return true if point p of object of center c is inside polygone bs and return deinterlacement distVector.
 World (double width, double height)
 Constructor, takes width and height of the world arena in cm.
 ~World ()
 Destructor, destroy all objects.
void step (double dt)
 Simulate a timestep of dt. dt should be below 1 (typically .02-.1).
void addObject (PhysicalObject *o)
 Add an object to the world, simply add it to the vector. Object will be automatically deleted when world will be destroyed.
void removeObject (PhysicalObject *o)
 Remove an object from the world and destroy it.
void setRandomSeed (unsigned long seed)
 Set the seed of the random generator.

Public Attributes

std::vector< PhysicalObject * > objects
 All the objects in the world.
bool useWalls
 If true, use walls.
const double w
 The width of the world.
const double h
 The height of the world.
An::Texture wallTextures [4]
 Texture of walls.

Protected Attributes

bool collideEven
 At each step objects are collided in a different order (first A-B, then B-A) to prevent side effects, collideEven contains the actual order.


The documentation for this class was generated from the following files:
Generated on Mon Oct 24 17:33:58 2005 for Enki by  doxygen 1.4.2