00001 #ifndef __DUSTY_AABBCOLLISION_TASK_H__
00002 #define __DUSTY_AABBCOLLISION_TASK_H__
00003
00004 #include "dustyengine.h"
00005
00006 namespace DustyEngine
00007 {
00008 class DummyTask;
00009
00011 struct AABBCollision
00012 {
00013 irr::scene::ISceneNode * subjectNode;
00014 irr::scene::ISceneNode * collidedWith;
00015 };
00016
00018
00023 class DUSTYENGINE_API AABBCollisionTask : public DummyTask
00024 {
00025 public:
00026 AABBCollisionTask();
00027
00028 ~AABBCollisionTask();
00029
00032 void AddNode(irr::scene::ISceneNode * node)
00033 {
00034 nodes.push_back(node);
00035 }
00036
00039 void RemoveNode(irr::scene::ISceneNode * node);
00040
00043 irr::core::list<DustyEngine::AABBCollision> * GetCollisions()
00044 {
00045 return &collisions;
00046 }
00047
00049 void ClearCollisions()
00050 {
00051 collisions.clear();
00052 }
00053
00054 void OnUpdate();
00055
00056 protected:
00057 irr::core::list<irr::scene::ISceneNode*> nodes;
00058 irr::core::list<DustyEngine::AABBCollision> collisions;
00059 };
00060 }
00061
00062 #endif
00063