Index: branches/cd/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- branches/cd/src/lib/collision_detection/obb_tree_node.cc	(revision 7582)
+++ branches/cd/src/lib/collision_detection/obb_tree_node.cc	(revision 7583)
@@ -299,18 +299,18 @@
   float               maxLength[3];                          //!< maximal lenth of the axis
   float               minLength[3];                          //!< minimal length of the axis
-  const sVec3D*       tmpVec;                                //!< variable taking tmp vectors
+  const float*       tmpVec;                                //!< variable taking tmp vectors
 
 
   /* get the maximal dimensions of the body in all directions */
   /* for the initialisation the value just has to be inside of the polygon soup -> first vertices (rand) */
-  tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
-  maxLength[0] = p0.distancePoint(*tmpVec);
-  minLength[0] = p0.distancePoint(*tmpVec);
+  tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
+  maxLength[0] = p0.distancePoint(tmpVec);
+  minLength[0] = p0.distancePoint(tmpVec);
   for( int j = 0; j < length; ++j)
   {
     for( int i = 0; i < 3; ++i)
     {
-      tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
-      tmpLength = p0.distancePoint(*tmpVec);
+      tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
+      tmpLength = p0.distancePoint(tmpVec);
       PRINTF(0)("point[%i][%i]: %f, %f, %f with distance to plane: %f\n", j, i, tmpVec[0], tmpVec[1], tmpVec[2], tmpLength);
       if( tmpLength > maxLength[0])
@@ -322,13 +322,13 @@
 
   /* for the initialisation the value just has to be inside of the polygon soup -> first vertices (rand) */
-  tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
-  maxLength[1] = p1.distancePoint(*tmpVec);
-  minLength[1] = p1.distancePoint(*tmpVec);
+  tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
+  maxLength[1] = p1.distancePoint(tmpVec);
+  minLength[1] = p1.distancePoint(tmpVec);
   for( int j = 0; j < length; ++j)
   {
     for( int i = 0; i < 3; ++i)
     {
-      tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
-      tmpLength = p1.distancePoint(*tmpVec);
+      tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
+      tmpLength = p1.distancePoint(tmpVec);
       if( tmpLength > maxLength[1])
         maxLength[1] = tmpLength;
@@ -339,13 +339,13 @@
 
   /* for the initialisation the value just has to be inside of the polygon soup -> first vertices (rand) */
-  tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
-  maxLength[2] = p2.distancePoint(*tmpVec);
-  minLength[2] = p2.distancePoint(*tmpVec);
+  tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[0]].indexToVertices[0]]);
+  maxLength[2] = p2.distancePoint(tmpVec);
+  minLength[2] = p2.distancePoint(tmpVec);
   for( int j = 0; j < length; ++j)
   {
     for( int i = 0; i < 3; ++i)
     {
-      tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
-      tmpLength = p2.distancePoint(*tmpVec);
+      tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[j]].indexToVertices[i]]);
+      tmpLength = p2.distancePoint(tmpVec);
       if( tmpLength > maxLength[2])
         maxLength[2] = tmpLength;
@@ -362,5 +362,5 @@
   {
     centerOffset[i] = (fabs(maxLength[i]) - fabs(minLength[i])) / 2.0f;       // min length is negatie
-    box.halfLength[i] = (maxLength[i] - minLength[i]) / 3.0f;                 // min length is negative
+    box.halfLength[i] = (maxLength[i] - minLength[i]) / 2.0f;                 // min length is negative
   }
   // FIXME: += anstatt -= ????????? verwirr
