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