OSDL::Engine Namespace Reference

Classes

class  ActiveObject
 Active objects are dynamic objects, i.e. More...
class  BoundingBoxException
 Exception raised by bounding boxes. More...
class  BoundingBox
 Bounding boxes are geometrical shapes that verify the following properties:

  • they contain all the object(s) they correspond to (all points in the object or set of objects are in the bounding box)
    • geometrical computations (intersection, distance, inclusion test, etc.
More...
class  BoundingBox2D
 2D bounding boxes are specialized bounding boxes for objects in 2D space. More...
class  CircleBoundingBox
 Circular 2D bounding box. More...
class  EngineException
 Exception to be thrown when engine abnormal behaviour occurs. More...
class  SchedulingException
 Exception to be thrown when scheduling abnormal behaviour occurs. More...
class  PeriodicalActiveObject
 Periodical active objects are active objects that are to be scheduled at a regular pace: for an object whose period is N, the scheduler is expected to trigger it every N of its fundamental simulation ticks. More...
class  PeriodicSlot
 Records informations about a periodic slot. More...
class  ProgrammedActiveObject
 Programmed active objects are objects that are to be scheduled in at specific simulation ticks, as opposed to periodically activated ones. More...
class  Scheduler
 This scheduler manages active objects so that they are in turn granted with the processing power they requested. More...
class  WorldObject
 World objects are to be used to describe all objects a virtual world can contain. More...

Typedefs

typedef std::list
< PeriodicalActiveObject * > 
ListOfActiveObjects
 Defines a list of pointers to active objects.
typedef std::list
< PeriodicalActiveObject * > 
ListOfPeriodicalActiveObjects
 Defines a list of pointers to periodical active objects.
typedef std::list
< ProgrammedActiveObject * > 
ListOfProgrammedActiveObjects
 Defines a list of pointers to programmed active objects.
typedef Ceylan::Uint16 Weight
 Determines roughly how much the activation of a specific object will cost in CPU time.
typedef std::list
< Events::SimulationTick
SimulationTickList
 Type for lists of simulation ticks.
typedef Ceylan::Uint32 Delay
 Used to measure time past deadlines.

Enumerations

enum  IntersectionResult {
  isSeparate, contains, isContained, intersects,
  isEqual
}
 

Describes the result of an intersection check between an object and another object.

More...
enum  ObjectSchedulingPolicy { relaxed, strict }
 

Describes a scheduling policy, among:

More...

Typedef Documentation

typedef Ceylan::Uint32 OSDL::Engine::Delay

Used to measure time past deadlines.

Definition at line 161 of file OSDLEngineCommon.h.

Defines a list of pointers to active objects.

Was not defined in OSDLScheduler to avoir circular dependency: OSDLPeriodicSlot should not depend on OSDLScheduler, since the opposite has to be true.

Definition at line 102 of file OSDLEngineCommon.h.

Defines a list of pointers to periodical active objects.

Definition at line 111 of file OSDLEngineCommon.h.

Defines a list of pointers to programmed active objects.

Definition at line 120 of file OSDLEngineCommon.h.

Type for lists of simulation ticks.

Definition at line 156 of file OSDLEngineCommon.h.

typedef Ceylan::Uint16 OSDL::Engine::Weight

Determines roughly how much the activation of a specific object will cost in CPU time.

The greater the weight is, the heavier the needed processing resource should be.

Definition at line 132 of file OSDLEngineCommon.h.


Enumeration Type Documentation

Describes the result of an intersection check between an object and another object.

For example, when comparing two bounding boxes B1 and B2, five cases can occur:

  • B1 and B2 have no intersection.
  • B1 contains strictly B2 (i.e. all parts of B2 are in B1, but some part of B1 is not in B2)
  • B1 is strictly contained by B2 (i.e. all parts of B1 are in B2, but some part of B2 is not in B1)
  • B1 and B2 intersects each other, but a part of B1 is not in B2, and a part of B2 is not in B1
  • B1 and B2 are equal
Note:
The collision check is not symetric, the first object is the reference, whereas the second embodies the outside, being contained is not the same thing as containing.
Enumerator:
isSeparate 
contains 
isContained 
intersects 
isEqual 

Definition at line 84 of file OSDLBoundingBox.h.

Describes a scheduling policy, among:

  • relaxed: the scheduler is allowed to defer activation of a few periods if needed. Beside the jittering, some latency may occur, if the scheduler prefers putting this object in a less overcrowed periodic slot than its current one.
  • strict: enforce strict respect of specified parameters, namely for the period and the simulation step to begin with. Strict scheduling might be useful for animations or sound, for example.
Enumerator:
relaxed 
strict 

Definition at line 151 of file OSDLEngineCommon.h.

Generated on Mon Nov 29 14:05:32 2010 for OSDL by  doxygen 1.6.3