Index: /branches/cd/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- /branches/cd/src/lib/collision_detection/obb_tree_node.cc	(revision 7583)
+++ /branches/cd/src/lib/collision_detection/obb_tree_node.cc	(revision 7584)
@@ -158,15 +158,15 @@
   Vector    t1, t2;                                  //!< temporary values
   float     covariance[3][3] = {0,0,0, 0,0,0, 0,0,0};//!< the covariance matrix
-  sVec3D*   tmpVec = NULL;                           //!< a temp saving place for sVec3Ds
+  const float*   tmpVec = NULL;                           //!< a temp saving place for sVec3Ds
 
   /* fist compute all the convex hull face/facelets and centroids */
   for( int i = 0; i < length ; ++i)
   {
-    tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[0]]);
-    p = *tmpVec;
-    tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[1]]);
-    q = *tmpVec;
-    tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[2]]);
-    r = *tmpVec;
+    tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[0]]);
+    p = tmpVec;
+    tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[1]]);
+    q = tmpVec;
+    tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[2]]);
+    r = tmpVec;
 
     /* finding the facelet surface via cross-product */
@@ -195,10 +195,10 @@
       for( int i = 0; i < length; ++i)
       {
-        tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[0]]);
-        p = *tmpVec;
-        tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[1]]);
-        q = *tmpVec;
-        tmpVec = (sVec3D*)(&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[2]]);
-        r = *tmpVec;
+        tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[0]]);
+        p = tmpVec;
+        tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[1]]);
+        q = tmpVec;
+        tmpVec = (&modelInf.pVertices[modelInf.pTriangles[triangleIndexes[i]].indexToVertices[2]]);
+        r = tmpVec;
 
         covariance[j][k] = facelet[i] * (9.0f * centroid[i][j] * centroid[i][k] + p[j] * p[k] +
@@ -291,5 +291,4 @@
   PRINTF(3)("Calculate Box Axis\n");
   /* now get the axis length */
-  Line                ax[3];                                 //!< the axis
   float               halfLength[3];                         //!< half length of the axis
   float               tmpLength;                             //!< tmp save point for the length
@@ -299,5 +298,5 @@
   float               maxLength[3];                          //!< maximal lenth of the axis
   float               minLength[3];                          //!< minimal length of the axis
-  const float*       tmpVec;                                //!< variable taking tmp vectors
+  const float*        tmpVec;                                //!< variable taking tmp vectors
 
 
@@ -313,5 +312,4 @@
       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])
         maxLength[0] = tmpLength;
Index: /branches/cd/src/lib/math/vector.h
===================================================================
--- /branches/cd/src/lib/math/vector.h	(revision 7583)
+++ /branches/cd/src/lib/math/vector.h	(revision 7584)
@@ -85,4 +85,5 @@
   /** copy constructor* @param v the sVec3D to assign to this vector. @returns the vector v */
   inline const Vector& operator= (const sVec3D& v) { this->x = v[0]; this->y = v[1]; this->z = v[2]; }
+  inline const Vector& operator= (const float* v) { this->x = v[0]; this->y = v[1]; this->z = v[2]; }
   /** @param v: the other vector \return the dot product of the vectors */
   float dot (const Vector& v) const { return x*v.x+y*v.y+z*v.z; };
