Index: orxonox/trunk/src/lib/collision_detection/bv_tree.h
===================================================================
--- orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 5024)
+++ orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 5026)
@@ -16,4 +16,5 @@
 class BVTreeNode;
 class PNode;
+class WorldEntity;
 
 typedef enum DrawMode
@@ -42,4 +43,5 @@
 
   virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB) = NULL;
+  virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2) = NULL;
 
   virtual void drawBV(int depth, int drawMode) const = NULL;
Index: orxonox/trunk/src/lib/collision_detection/cd_engine.cc
===================================================================
--- orxonox/trunk/src/lib/collision_detection/cd_engine.cc	(revision 5024)
+++ orxonox/trunk/src/lib/collision_detection/cd_engine.cc	(revision 5026)
@@ -66,5 +66,5 @@
 void CDEngine::checkCollisions()
 {
-  //this->checkCollisionObjects();
+  this->checkCollisionObjects();
   this->checkCollisionGround();
 }
@@ -86,5 +86,5 @@
     {
       PRINTF(3)("checking object %s against %s\n", entity1->getName(), entity2->getName());
-      entity1->collideWith(entity2);
+      //entity1->getOBBTree()->collideWith(entity1, entity2);
       entity2 = iterator2->nextElement();
     }
Index: orxonox/trunk/src/lib/collision_detection/cd_engine.h
===================================================================
--- orxonox/trunk/src/lib/collision_detection/cd_engine.h	(revision 5024)
+++ orxonox/trunk/src/lib/collision_detection/cd_engine.h	(revision 5026)
@@ -11,4 +11,5 @@
 #include "collision_defs.h"
 #include "abstract_model.h"
+
 
 template<class T> class tList;
@@ -34,4 +35,6 @@
 //! The class representing the collision detection system of orxonox
 class CDEngine : public BaseObject {
+
+  friend class WorldEntity;
 
  public:
Index: orxonox/trunk/src/lib/collision_detection/obb_tree.cc
===================================================================
--- orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 5024)
+++ orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 5026)
@@ -22,4 +22,5 @@
 #include "compiler.h"
 #include "material.h"
+#include "world_entity.h"
 #include "p_node.h"
 
@@ -109,4 +110,16 @@
 
 
+void OBBTree::collideWith(WorldEntity* entity1, WorldEntity* entity2)
+{
+  this->rootNode->collideWith(((OBBTree*)entity2->getOBBTree())->getRootNode(), (PNode*)entity1, (PNode*)entity2);
+}
+
+
+/**
+ * this collides two bvtrees together. the trees are attached to pnodes Objects A and B
+ * @param tree: the other tree to collide with (Object B)
+ * @param nodeA: PNode of object A
+ * @param nodeB: Pnode of object B
+ */
 void OBBTree::collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB)
 {
Index: orxonox/trunk/src/lib/collision_detection/obb_tree.h
===================================================================
--- orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 5024)
+++ orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 5026)
@@ -29,4 +29,5 @@
 
     virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB);
+    virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2);
 
     virtual void drawBV(int depth, int drawMode) const;
Index: orxonox/trunk/src/world_entities/world_entity.cc
===================================================================
--- orxonox/trunk/src/world_entities/world_entity.cc	(revision 5024)
+++ orxonox/trunk/src/world_entities/world_entity.cc	(revision 5026)
@@ -101,7 +101,7 @@
  * Implement behaviour like damage application or other miscellaneous collision stuff in this function
 */
-void WorldEntity::collideWith(WorldEntity* entity)
+void WorldEntity::collidesWith(WorldEntity* entity)
 {
-  this->obbTree->collideWith(entity->obbTree, (PNode*)this, (PNode*)entity);
+  //this->obbTree->collideWith(entity->obbTree, (PNode*)this, (PNode*)entity);
 }
 
Index: orxonox/trunk/src/world_entities/world_entity.h
===================================================================
--- orxonox/trunk/src/world_entities/world_entity.h	(revision 5024)
+++ orxonox/trunk/src/world_entities/world_entity.h	(revision 5026)
@@ -40,6 +40,10 @@
   /** @returns true if the entity is visible, false otherwise */
   bool isVisible() const { return this->bVisible; };
+
   void setCharacterAttributes(CharacterAttributes* charAttr);
   CharacterAttributes* getCharacterAttributes();
+
+  /** @returns a reference to the obb tree of this worldentity */
+  BVTree* getOBBTree() { return this->obbTree; }
 
   virtual void postSpawn ();
@@ -47,5 +51,5 @@
 
   virtual void hit (WorldEntity* weapon, Vector* loc);
-  virtual void collideWith (WorldEntity* entity);
+  virtual void collidesWith (WorldEntity* entity);
 
   /** @returns the Count of Faces on this WorldEntity */
