Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/cr/src/lib/collision_reaction/collision.h @ 7959

Last change on this file since 7959 was 7959, checked in by patrick, 18 years ago

cr: introducing CollisionEvent and some cleanup

File size: 1.3 KB
Line 
1/*!
2 * @file collision.h
3 *  Definition of a collision as a two WE hit each other
4 */
5
6#ifndef _COLLISION_H
7#define _COLLISION_H
8
9#include "vector.h"
10
11class WorldEntity;
12class BoundingVolume;
13class CollisionEvent;
14
15//! A class representing a simple collision
16class Collision {
17
18 public:
19   Collision();
20  virtual ~Collision();
21
22  /** collides two WorldEntities @param entityA world entity A, @param entityB world entity B, @param bvA volume A @param bvB volumeB */
23  inline void collide(WorldEntity* entityA, WorldEntity* entityB) { this->entityA = entityA; this->entityB = entityB; }
24
25
26  /** @return Collision WorldEntity A */
27  inline const WorldEntity* getEntityA() const { return this->entityA; }
28  /** @return Collision WorldEntity B */
29  inline const WorldEntity* getEntityB() const { return this->entityB; }
30
31  /** registers a @param event CollisionEvent to take place */
32  inline void registerCollisionEvent(CollisionEvent* event) { this->collisionList.push_back(event); }
33
34
35 private:
36  WorldEntity*                 entityA;                       //!< the collision body A
37  WorldEntity*                 entityB;                       //!< the collision body B
38
39  std::vector<CollisionEvent*> collisionList;                 //!< the collision event list
40};
41
42#endif /* _COLLISION_H */
Note: See TracBrowser for help on using the repository browser.