Index: /orxonox/trunk/src/lib/collision_detection/bv_tree.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 5028)
@@ -42,5 +42,5 @@
   virtual void flushTree() = NULL;
 
-  virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB) = NULL;
+  virtual void collideWith(BVTree* tree, WorldEntity* nodeA, WorldEntity* nodeB) = NULL;
   virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2) = NULL;
 
Index: /orxonox/trunk/src/lib/collision_detection/bv_tree_node.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bv_tree_node.h	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/bv_tree_node.h	(revision 5028)
@@ -15,4 +15,5 @@
 class BVTree;
 class PNode;
+class WorldEntity;
 template<class T> class tList;
 
@@ -29,5 +30,5 @@
   inline const int getIndex() { return this->treeIndex; }
 
-  virtual void collideWith(BVTreeNode* treeNode, PNode* nodeA, PNode* nodeB) = NULL;
+  virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB) = NULL;
 
   virtual void drawBV(int depth, int drawMode) = NULL;
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 5028)
@@ -113,5 +113,5 @@
 {
   if( likely(entity2->getOBBTree() != NULL) )
-    this->rootNode->collideWith(((OBBTree*)entity2->getOBBTree())->getRootNode(), (PNode*)entity1, (PNode*)entity2);
+    this->rootNode->collideWith(((OBBTree*)entity2->getOBBTree())->getRootNode(), entity1, entity2);
 }
 
@@ -123,5 +123,5 @@
  * @param nodeB: Pnode of object B
  */
-void OBBTree::collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB)
+void OBBTree::collideWith(BVTree* tree, WorldEntity* nodeA, WorldEntity* nodeB)
 {
   this->rootNode->collideWith(((OBBTree*)tree)->getRootNode(), nodeA, nodeB);
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 5028)
@@ -28,5 +28,5 @@
     virtual void flushTree();
 
-    virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB);
+    virtual void collideWith(BVTree* tree, WorldEntity* nodeA, WorldEntity* nodeB);
     virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2);
 
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree_node.cc	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree_node.cc	(revision 5028)
@@ -22,5 +22,5 @@
 #include "vector.h"
 #include "abstract_model.h"
-#include "p_node.h"
+#include "world_entity.h"
 
 #include <math.h>
@@ -620,5 +620,5 @@
 
 
-void OBBTreeNode::collideWith(BVTreeNode* treeNode, PNode* nodeA, PNode* nodeB)
+void OBBTreeNode::collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB)
 {
   PRINTF(3)("collideWith\n");
@@ -647,11 +647,17 @@
        this->nodeRight->collideWith(((OBBTreeNode*)treeNode)->nodeRight, nodeA, nodeB);
       }
-    }
-  }
-}
-
-
-
-bool OBBTreeNode::overlapTest(OBB* boxA, OBB* boxB, PNode* nodeA, PNode* nodeB)
+
+      /* so there is a collision and this is the last box in the tree (i.e. leaf) */
+      if( unlikely(this->nodeRight == NULL && this->nodeLeft == NULL))
+      {
+        //nodeA->collidesWith()
+      }
+    }
+  }
+}
+
+
+
+bool OBBTreeNode::overlapTest(OBB* boxA, OBB* boxB, WorldEntity* nodeA, WorldEntity* nodeB)
 {
   /* first check all axis */
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree_node.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree_node.h	(revision 5027)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree_node.h	(revision 5028)
@@ -34,5 +34,5 @@
     inline void setTreeRef(OBBTree* tree) { this->obbTree = tree;}
 
-    virtual void collideWith(BVTreeNode* treeNode, PNode* nodeA, PNode* nodeB);
+    virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB);
 
     virtual void drawBV(int depth, int drawMode);
@@ -46,5 +46,5 @@
     void forkBox(OBB* box);
 
-    bool overlapTest(OBB* boxA, OBB* boxB, PNode* nodeA, PNode* nodeB);
+    bool overlapTest(OBB* boxA, OBB* boxB, WorldEntity* nodeA, WorldEntity* nodeB);
 
   protected:
