Index: branches/bsp_model/src/lib/collision_detection/Makefile.am
===================================================================
--- branches/bsp_model/src/lib/collision_detection/Makefile.am	(revision 8507)
+++ branches/bsp_model/src/lib/collision_detection/Makefile.am	(revision 8508)
@@ -12,5 +12,6 @@
                      bounding_volume.cc \
                      bounding_sphere.cc \
-                     aabb_tree_node.cc
+                     aabb_tree_node.cc \
+                     aabb.cc
 
 
@@ -24,4 +25,5 @@
                      bounding_volume.h \
                      bounding_sphere.h \
-                     aabb_tree_node.h
+                     aabb_tree_node.h \
+                     aabb.h
 
Index: branches/bsp_model/src/lib/collision_detection/aabb.cc
===================================================================
--- branches/bsp_model/src/lib/collision_detection/aabb.cc	(revision 8508)
+++ branches/bsp_model/src/lib/collision_detection/aabb.cc	(revision 8508)
@@ -0,0 +1,52 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COLLISION_DETECTION
+
+#include "aabb.h"
+#include "vector.h"
+
+using namespace std;
+
+
+/**
+ *  standard constructor
+*/
+AABB::AABB ()
+{
+   this->setClassID(CL_OBB, "AABB");
+   this->halfLength[0] = this->halfLength[1] = this->halfLength[2] = 0.0f;
+   this->bCollided = false;
+}
+
+
+/**
+ *  standard deconstructor
+
+*/
+AABB::~AABB ()
+{
+}
+
+
+
+void AABB::mergeWith(const BoundingVolume &bv)
+{}
+
+
+void AABB::drawBV(int currentDepth, int drawMode) const
+{}
+
+
Index: branches/bsp_model/src/lib/collision_detection/aabb.h
===================================================================
--- branches/bsp_model/src/lib/collision_detection/aabb.h	(revision 8508)
+++ branches/bsp_model/src/lib/collision_detection/aabb.h	(revision 8508)
@@ -0,0 +1,44 @@
+/*!
+ * @file aabb.h
+  *  Definition of an AABB (Axix Aligned Bounding Box)
+
+*/
+
+#ifndef _AABB_H
+#define _AABB_H
+
+#include "base_object.h"
+#include "bounding_volume.h"
+
+template<class T> class tList;
+
+//! A class representing an extended bounding volume tree: an obb tree
+class AABB : public BoundingVolume {
+
+ public:
+  AABB();
+  virtual ~AABB();
+
+
+  inline Vector getAxisX () const { return this->axis[0]; }
+  inline Vector getAxisY () const { return this->axis[1]; }
+  inline Vector getAxisZ () const { return this->axis[2]; }
+
+  inline const float* getHalfLength() const { return this->halfLength; }
+
+  virtual void mergeWith(const BoundingVolume &bv);
+
+  virtual void drawBV(int currentDepth, int drawMode) const;
+
+
+
+ public:
+  Vector           axis[3];                    //!< Axes of oriented box [x,y,z]
+  float            halfLength[3];              //!< Half lengths of the box along the axis
+  float            covarianceMatrix[3][3];     //!< the covariance matrix
+
+  bool             bCollided;                  //!< is true if this obb has collided
+
+};
+
+#endif /* _AABB_H */
Index: branches/bsp_model/src/lib/collision_detection/aabb_tree_node.cc
===================================================================
--- branches/bsp_model/src/lib/collision_detection/aabb_tree_node.cc	(revision 8507)
+++ branches/bsp_model/src/lib/collision_detection/aabb_tree_node.cc	(revision 8508)
@@ -16,6 +16,7 @@
 
 #include "aabb_tree_node.h"
-#include "obb_tree.h"
-#include "obb.h"
+#include "aabb.h"
+
+#include "bv_tree.h"
 
 #include "matrix.h"
@@ -133,10 +134,10 @@
 void AABBTreeNode::spawnBVTree(const modelInfo& modelInf, const int* triangleIndexes, int length)
 {
-  PRINTF(4)("\n==============================Creating OBB Tree Node==================\n");
-  PRINT(4)(" OBB Tree Infos: \n");
+  PRINTF(4)("\n==============================Creating AABB Tree Node==================\n");
+  PRINT(4)(" AABB Tree Infos: \n");
   PRINT(4)("\tDepth: %i \n\tTree Index: %i \n\tNumber of Triangles: %i\n", depth, this->treeIndex, length);
   this->depth = depth;
 
-  this->bvElement = new OBB();
+  this->bvElement = new AABB();
   this->bvElement->modelInf = &modelInf;
   this->bvElement->triangleIndexes = triangleIndexes;
@@ -175,5 +176,5 @@
  * @param length: the length of the indexes array
  */
-void AABBTreeNode::calculateBoxCovariance(OBB& box, const modelInfo& modelInf, const int* triangleIndexes, int length)
+void AABBTreeNode::calculateBoxCovariance(AABB& box, const modelInfo& modelInf, const int* triangleIndexes, int length)
 {
   float     facelet[length];                         //!< surface area of the i'th triangle of the convex hull
@@ -246,5 +247,5 @@
     PRINT(4)("\n");
   }
-  PRINTF(4)("\nWeighteed OBB Center:\n\t\t%11.4f\t %11.4f\t %11.4f\n", center.x, center.y, center.z);
+  PRINTF(4)("\nWeighteed AABB Center:\n\t\t%11.4f\t %11.4f\t %11.4f\n", center.x, center.y, center.z);
 }
 
@@ -258,5 +259,5 @@
  * @param length: the length of the indexes array
  */
-void AABBTreeNode::calculateBoxEigenvectors(OBB& box, const modelInfo& modelInf,
+void AABBTreeNode::calculateBoxEigenvectors(AABB& box, const modelInfo& modelInf,
     const int* triangleIndexes, int length)
 {
@@ -295,5 +296,5 @@
  * @param length: the length of the indexes array
  */
-void AABBTreeNode::calculateBoxAxis(OBB& box, const modelInfo& modelInf, const int* triangleIndexes, int length)
+void AABBTreeNode::calculateBoxAxis(AABB& box, const modelInfo& modelInf, const int* triangleIndexes, int length)
 {
 
@@ -371,5 +372,5 @@
  * this will separate the box into to smaller boxes. the separation is done along the middle of the longest axis
  */
-void AABBTreeNode::forkBox(OBB& box)
+void AABBTreeNode::forkBox(AABB& box)
 {
 
@@ -481,5 +482,5 @@
 
   PRINTF(4)("collideWith\n");
-  PRINTF(5)("Checking OBB %i vs %i: ", this->getIndex(), treeNode->getIndex());
+  PRINTF(5)("Checking AABB %i vs %i: ", this->getIndex(), treeNode->getIndex());
 
   // for now only collide with AABBTreeNodes
@@ -556,5 +557,5 @@
  * @param nodeB the node itself
  */
-bool AABBTreeNode::overlapTest(OBB* boxA, OBB* boxB, WorldEntity* nodeA, WorldEntity* nodeB)
+bool AABBTreeNode::overlapTest(AABB* boxA, AABB* boxB, WorldEntity* nodeA, WorldEntity* nodeB)
 {
   //HACK remove this again
@@ -776,12 +777,4 @@
         glColor4f(color.x, color.y, color.z, .5);
       }
-
-      // debug out
-      if( this->obbTree->getOwner() != NULL)
-      {
-        PRINTF(4)("debug poly draw: depth: %i, mode: %i, entity-name: %s, class: %s\n", depth, drawMode, this->obbTree->getOwner()->getName(), this->obbTree->getOwner()->getClassName());
-      }
-      else
-        PRINTF(4)("debug poly draw: depth: %i, mode: %i\n", depth, drawMode);
 
 
Index: branches/bsp_model/src/lib/collision_detection/aabb_tree_node.h
===================================================================
--- branches/bsp_model/src/lib/collision_detection/aabb_tree_node.h	(revision 8507)
+++ branches/bsp_model/src/lib/collision_detection/aabb_tree_node.h	(revision 8508)
@@ -12,5 +12,5 @@
 
 class BoundingVolume;
-class OBB;
+class AABB;
 class OBBTree;
 class Plane;
@@ -41,20 +41,20 @@
     /**  gets the id of the current child @return id of the child */
     inline const int getID() { return this->nextID++; }
-
+    inline AABB* getAABB() { return this->bvElement; }
 
   private:
-    void calculateBoxAxis(OBB& box, const sVec3D* verticesList, unsigned int length);
+    void calculateBoxAxis(AABB& box, const sVec3D* verticesList, unsigned int length);
 
-    void calculateBoxCovariance(OBB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
-    void calculateBoxEigenvectors(OBB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
-    void calculateBoxAxis(OBB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
-    void forkBox(OBB& box);
+    void calculateBoxCovariance(AABB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
+    void calculateBoxEigenvectors(AABB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
+    void calculateBoxAxis(AABB& box, const modelInfo& modelInf, const int* triangleIndexes, int length);
+    void forkBox(AABB& box);
 
     void collideWithOBB(AABBTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB);
-    bool overlapTest(OBB* boxA, OBB* boxB, WorldEntity* nodeA, WorldEntity* nodeB);
+    bool overlapTest(AABB* boxA, AABB* boxB, WorldEntity* nodeA, WorldEntity* nodeB);
 
 
   protected:
-    OBB*                bvElement;                  //!< the obb element
+    AABB*                bvElement;                  //!< the obb element
     AABBTreeNode*        nodePrev;                   //!< ref to the previous (parent) tree node = NULL if first
     AABBTreeNode*        nodeLeft;                   //!< ref to the left tree node
