Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

cr: deep structure with Collision and CollisionEvent created. list cleanup missing.

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#include <vector>
11
12class WorldEntity;
13class BoundingVolume;
14class CollisionEvent;
15
16//! A class representing a simple collision
17class Collision {
18
19 public:
20   Collision();
21  virtual ~Collision();
22
23  /** collides two WorldEntities @param entityA world entity A, @param entityB world entity B, @param bvA volume A @param bvB volumeB */
24  inline void collide(WorldEntity* entityA, WorldEntity* entityB) { this->entityA = entityA; this->entityB = entityB; }
25
26
27  /** @return Collision WorldEntity A */
28  inline WorldEntity* getEntityA() const { return this->entityA; }
29  /** @return Collision WorldEntity B */
30  inline WorldEntity* getEntityB() const { return this->entityB; }
31
32  /** registers a @param event CollisionEvent to take place */
33  inline void registerCollisionEvent(CollisionEvent* event) { this->collisionList.push_back(event); }
34
35
36 private:
37  WorldEntity*                 entityA;                       //!< the collision body A
38  WorldEntity*                 entityB;                       //!< the collision body B
39
40  std::vector<CollisionEvent*> collisionList;                 //!< the collision event list
41};
42
43#endif /* _COLLISION_H */
Note: See TracBrowser for help on using the repository browser.