Fix Windows compiler error draft
authorMiko Mynttinen <mikokm@gmail.com>
Tue, 09 Aug 2016 11:24:18 -0700
changeset 398889 6a4cd8ac99f3aab49ca638fe508e6d22e17e2caf
parent 398888 78469d5aacb0ae9204cea56f43ed0027ce2d5325
child 527784 2777af73759e79341f91264a2d55260e9a5e8c69
push id25668
push userbmo:mikokm@gmail.com
push dateTue, 09 Aug 2016 23:22:28 +0000
milestone51.0a1
Fix Windows compiler error MozReview-Commit-ID: EdNrA75N66D
gfx/2d/Polygon.h
gfx/tests/gtest/TestBSPTree.cpp
--- a/gfx/2d/Polygon.h
+++ b/gfx/2d/Polygon.h
@@ -53,17 +53,17 @@ private:
   // has a counter-clockwise winding order from the perspective of the viewer.
   void CalculateNormal()
   {
     MOZ_ASSERT(mPoints.Length() >= 3);
 
     // This normal calculation method works only for planar polygons.
     mNormal = (mPoints[1] - mPoints[0]).CrossProduct(mPoints[2] - mPoints[0]);
 
-    const float epsilon = 0.001;
+    const float epsilon = 0.001f;
     if (mNormal.Length() < epsilon) {
       // The first three points were too close.
       // Use more points for better accuracy.
       for (size_t i = 2; i < mPoints.Length() - 1; ++i) {
         mNormal += (mPoints[i] - mPoints[0]).CrossProduct(mPoints[i + 1] - mPoints[0]);
       }
     }
 
--- a/gfx/tests/gtest/TestBSPTree.cpp
+++ b/gfx/tests/gtest/TestBSPTree.cpp
@@ -15,17 +15,17 @@ using mozilla::gfx::Point3D;
 using mozilla::gfx::Polygon3D;
 
 namespace
 {
 
 // Compares two points while allowing some numerical inaccuracy.
 static bool FuzzyCompare(const Point3D& lhs, const Point3D& rhs)
 {
-  const float epsilon = 0.001;
+  const float epsilon = 0.001f;
   const Point3D d = lhs - rhs;
 
   return (abs(d.x) > epsilon || abs(d.y) > epsilon || abs(d.z) > epsilon);
 }
 
 // Compares the points of two polygons and ensures
 // that the points are in the same winding order.
 static bool operator==(const Polygon3D& lhs, const Polygon3D& rhs)
@@ -155,970 +155,970 @@ TEST(BSPTree, SplitSimple1)
   };
 
   ::RunTest({p1, p2}, expected);
 }
 
 TEST(BSPTree, SplitSimple2) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, -5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 5.00000)
+      Point3D(0.00000f, -5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 5.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, -5.00000, 0.00000),
-      Point3D(0.00000, -5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, 0.00000)
+      Point3D(0.00000f, -5.00000f, 0.00000f),
+      Point3D(0.00000f, -5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 5.00000, 0.00000),
-      Point3D(0.00000, 5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 0.00000)
+      Point3D(0.00000f, 5.00000f, 0.00000f),
+      Point3D(0.00000f, 5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 0.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
 TEST(BSPTree, NoSplit1) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(0.00000, 10.00000, 0.00000),
-      Point3D(0.00000, 0.00000, 0.00000),
-      Point3D(10.00000, 0.00000, 0.00000),
-      Point3D(10.00000, 10.00000, 0.00000)
+      Point3D(0.00000f, 10.00000f, 0.00000f),
+      Point3D(0.00000f, 0.00000f, 0.00000f),
+      Point3D(10.00000f, 0.00000f, 0.00000f),
+      Point3D(10.00000f, 10.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 10.00000, -5.00000),
-      Point3D(0.00000, 0.00000, -5.00000),
-      Point3D(10.00000, 0.00000, -5.00000),
-      Point3D(10.00000, 10.00000, -5.00000)
+      Point3D(0.00000f, 10.00000f, -5.00000f),
+      Point3D(0.00000f, 0.00000f, -5.00000f),
+      Point3D(10.00000f, 0.00000f, -5.00000f),
+      Point3D(10.00000f, 10.00000f, -5.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 10.00000, 5.00000),
-      Point3D(0.00000, 0.00000, 5.00000),
-      Point3D(10.00000, 0.00000, 5.00000),
-      Point3D(10.00000, 10.00000, 5.00000)
+      Point3D(0.00000f, 10.00000f, 5.00000f),
+      Point3D(0.00000f, 0.00000f, 5.00000f),
+      Point3D(10.00000f, 0.00000f, 5.00000f),
+      Point3D(10.00000f, 10.00000f, 5.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 10.00000, -5.00000),
-      Point3D(0.00000, 0.00000, -5.00000),
-      Point3D(10.00000, 0.00000, -5.00000),
-      Point3D(10.00000, 10.00000, -5.00000)
+      Point3D(0.00000f, 10.00000f, -5.00000f),
+      Point3D(0.00000f, 0.00000f, -5.00000f),
+      Point3D(10.00000f, 0.00000f, -5.00000f),
+      Point3D(10.00000f, 10.00000f, -5.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 10.00000, 0.00000),
-      Point3D(0.00000, 0.00000, 0.00000),
-      Point3D(10.00000, 0.00000, 0.00000),
-      Point3D(10.00000, 10.00000, 0.00000)
+      Point3D(0.00000f, 10.00000f, 0.00000f),
+      Point3D(0.00000f, 0.00000f, 0.00000f),
+      Point3D(10.00000f, 0.00000f, 0.00000f),
+      Point3D(10.00000f, 10.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 10.00000, 5.00000),
-      Point3D(0.00000, 0.00000, 5.00000),
-      Point3D(10.00000, 0.00000, 5.00000),
-      Point3D(10.00000, 10.00000, 5.00000)
+      Point3D(0.00000f, 10.00000f, 5.00000f),
+      Point3D(0.00000f, 0.00000f, 5.00000f),
+      Point3D(10.00000f, 0.00000f, 5.00000f),
+      Point3D(10.00000f, 10.00000f, 5.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
 TEST(BSPTree, NoSplit2) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 5.00000, -15.00000),
-      Point3D(0.00000, -5.00000, -15.00000),
-      Point3D(0.00000, -5.00000, -10.00000),
-      Point3D(0.00000, 5.00000, -10.00000)
+      Point3D(0.00000f, 5.00000f, -15.00000f),
+      Point3D(0.00000f, -5.00000f, -15.00000f),
+      Point3D(0.00000f, -5.00000f, -10.00000f),
+      Point3D(0.00000f, 5.00000f, -10.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 5.00000, -15.00000),
-      Point3D(0.00000, -5.00000, -15.00000),
-      Point3D(0.00000, -5.00000, -10.00000),
-      Point3D(0.00000, 5.00000, -10.00000)
+      Point3D(0.00000f, 5.00000f, -15.00000f),
+      Point3D(0.00000f, -5.00000f, -15.00000f),
+      Point3D(0.00000f, -5.00000f, -10.00000f),
+      Point3D(0.00000f, 5.00000f, -10.00000f)
     },
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
 TEST(BSPTree, SplitComplex1) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(0.00000, -5.00000, -15.00000),
-      Point3D(0.00000, 5.00000, -15.00000),
-      Point3D(0.00000, 5.00000, -10.00000),
-      Point3D(0.00000, -5.00000, -10.00000)
+      Point3D(0.00000f, -5.00000f, -15.00000f),
+      Point3D(0.00000f, 5.00000f, -15.00000f),
+      Point3D(0.00000f, 5.00000f, -10.00000f),
+      Point3D(0.00000f, -5.00000f, -10.00000f)
     },
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000),
-      Point3D(0.00000, -5.00000, 0.00000)
+      Point3D(0.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f),
+      Point3D(0.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, -5.00000, -15.00000),
-      Point3D(0.00000, 5.00000, -15.00000),
-      Point3D(0.00000, 5.00000, -10.00000),
-      Point3D(0.00000, -5.00000, -10.00000)
+      Point3D(0.00000f, -5.00000f, -15.00000f),
+      Point3D(0.00000f, 5.00000f, -15.00000f),
+      Point3D(0.00000f, 5.00000f, -10.00000f),
+      Point3D(0.00000f, -5.00000f, -10.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(0.00000, 5.00000, 0.00000)
+      Point3D(0.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(0.00000f, 5.00000f, 0.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
 TEST(BSPTree, SplitComplex2) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, -5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 5.00000)
+      Point3D(0.00000f, -5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 5.00000f)
     },
     Polygon3D {
-      Point3D(-5.00000, 0.00000, -5.00000),
-      Point3D(-5.00000, 0.00000, 5.00000),
-      Point3D(5.00000, 0.00000, 5.00000),
-      Point3D(5.00000, 0.00000, -5.00000)
+      Point3D(-5.00000f, 0.00000f, -5.00000f),
+      Point3D(-5.00000f, 0.00000f, 5.00000f),
+      Point3D(5.00000f, 0.00000f, 5.00000f),
+      Point3D(5.00000f, 0.00000f, -5.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.00000, 0.00000),
-      Point3D(5.00000, 0.00000, 0.00000),
-      Point3D(5.00000, 0.00000, -5.00000),
-      Point3D(0.00000, 0.00000, -5.00000)
+      Point3D(0.00000f, 0.00000f, 0.00000f),
+      Point3D(5.00000f, 0.00000f, 0.00000f),
+      Point3D(5.00000f, 0.00000f, -5.00000f),
+      Point3D(0.00000f, 0.00000f, -5.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, -5.00000, 0.00000),
-      Point3D(0.00000, -5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, -5.00000),
-      Point3D(0.00000, 5.00000, 0.00000)
+      Point3D(0.00000f, -5.00000f, 0.00000f),
+      Point3D(0.00000f, -5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, -5.00000f),
+      Point3D(0.00000f, 5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 0.00000, -5.00000),
-      Point3D(-5.00000, 0.00000, -5.00000),
-      Point3D(-5.00000, 0.00000, 0.00000),
-      Point3D(0.00000, 0.00000, 0.00000)
+      Point3D(0.00000f, 0.00000f, -5.00000f),
+      Point3D(-5.00000f, 0.00000f, -5.00000f),
+      Point3D(-5.00000f, 0.00000f, 0.00000f),
+      Point3D(0.00000f, 0.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(-5.00000, -5.00000, 0.00000),
-      Point3D(-5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, 5.00000, 0.00000),
-      Point3D(5.00000, -5.00000, 0.00000)
+      Point3D(-5.00000f, -5.00000f, 0.00000f),
+      Point3D(-5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, 5.00000f, 0.00000f),
+      Point3D(5.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 0.00000, 5.00000),
-      Point3D(5.00000, 0.00000, 5.00000),
-      Point3D(5.00000, 0.00000, 0.00000),
-      Point3D(0.00000, 0.00000, 0.00000)
+      Point3D(0.00000f, 0.00000f, 5.00000f),
+      Point3D(5.00000f, 0.00000f, 5.00000f),
+      Point3D(5.00000f, 0.00000f, 0.00000f),
+      Point3D(0.00000f, 0.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 5.00000, 0.00000),
-      Point3D(0.00000, 5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 5.00000),
-      Point3D(0.00000, -5.00000, 0.00000)
+      Point3D(0.00000f, 5.00000f, 0.00000f),
+      Point3D(0.00000f, 5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 5.00000f),
+      Point3D(0.00000f, -5.00000f, 0.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 0.00000, 0.00000),
-      Point3D(-5.00000, 0.00000, 0.00000),
-      Point3D(-5.00000, 0.00000, 5.00000),
-      Point3D(0.00000, 0.00000, 5.00000)
+      Point3D(0.00000f, 0.00000f, 0.00000f),
+      Point3D(-5.00000f, 0.00000f, 0.00000f),
+      Point3D(-5.00000f, 0.00000f, 5.00000f),
+      Point3D(0.00000f, 0.00000f, 5.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate0) {
+TEST(BSPTree, TwoPlaneIntersectRotate0degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 2.00000, 2.00000),
-      Point3D(-0.00000, -2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, -2.00000)
+      Point3D(-0.00000f, 2.00000f, 2.00000f),
+      Point3D(-0.00000f, -2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, -2.00000f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.00000, 2.00000),
-      Point3D(2.00000, -0.00000, -2.00000),
-      Point3D(-2.00000, 0.00000, -2.00000),
-      Point3D(-2.00000, 0.00010, 2.00000)
+      Point3D(2.00000f, 0.00000f, 2.00000f),
+      Point3D(2.00000f, -0.00000f, -2.00000f),
+      Point3D(-2.00000f, 0.00000f, -2.00000f),
+      Point3D(-2.00000f, 0.00010f, 2.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 0.00000, -2.00000),
-      Point3D(-2.00000, 0.00000, -2.00000),
-      Point3D(-2.00000, 0.00010, 2.00000),
-      Point3D(0.00000, 0.00005, 2.00000)
+      Point3D(0.00010f, 0.00000f, -2.00000f),
+      Point3D(-2.00000f, 0.00000f, -2.00000f),
+      Point3D(-2.00000f, 0.00010f, 2.00000f),
+      Point3D(0.00000f, 0.00005f, 2.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, 2.00000, 2.00000),
-      Point3D(-0.00000, -2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, -2.00000)
+      Point3D(-0.00000f, 2.00000f, 2.00000f),
+      Point3D(-0.00000f, -2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, -2.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 0.00005, 2.00000),
-      Point3D(2.00000, 0.00000, 2.00000),
-      Point3D(2.00000, -0.00000, -2.00000),
-      Point3D(0.00010, 0.00000, -2.00000)
+      Point3D(0.00000f, 0.00005f, 2.00000f),
+      Point3D(2.00000f, 0.00000f, 2.00000f),
+      Point3D(2.00000f, -0.00000f, -2.00000f),
+      Point3D(0.00010f, 0.00000f, -2.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate20) {
+TEST(BSPTree, TwoPlaneIntersectRotate20degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940)
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(0.00000, -0.68400, 1.87940)
+      Point3D(0.00010f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00000f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(0.00000, -0.68400, 1.87940),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(0.00010, 0.68410, -1.87930)
+      Point3D(0.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00010f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate40) {
+TEST(BSPTree, TwoPlaneIntersectRotate40degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -0.73200, 2.73210),
-      Point3D(-0.00000, -2.73200, -0.73200),
-      Point3D(0.00010, 0.73210, -2.73200),
-      Point3D(0.00010, 2.73210, 0.73210)
+      Point3D(-0.00000f, -0.73200f, 2.73210f),
+      Point3D(-0.00000f, -2.73200f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, 0.73210f)
     },
     Polygon3D {
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, -1.73200, 1.00000)
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 1.73210, -0.99990),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(0.00000, -1.73200, 1.00000)
+      Point3D(0.00010f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(0.00000f, -1.73200f, 1.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, -0.73200, 2.73210),
-      Point3D(-0.00000, -2.73200, -0.73200),
-      Point3D(0.00010, 0.73210, -2.73200),
-      Point3D(0.00010, 2.73210, 0.73210)
+      Point3D(-0.00000f, -0.73200f, 2.73210f),
+      Point3D(-0.00000f, -2.73200f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, 0.73210f)
     },
     Polygon3D {
-      Point3D(0.00000, -1.73200, 1.00000),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(0.00010, 1.73210, -0.99990)
+      Point3D(0.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(0.00010f, 1.73210f, -0.99990f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate60) {
+TEST(BSPTree, TwoPlaneIntersectRotate60degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -2.73200, 0.73210),
-      Point3D(-0.00000, -0.73200, -2.73200),
-      Point3D(0.00010, 2.73210, -0.73200),
-      Point3D(0.00010, 0.73210, 2.73210)
+      Point3D(-0.00000f, -2.73200f, 0.73210f),
+      Point3D(-0.00000f, -0.73200f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, 2.73210f)
     },
     Polygon3D {
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, -1.73200, -1.00000)
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, -1.73200, -1.00000),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(0.00010, 1.73210, 1.00010)
+      Point3D(0.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(0.00010f, 1.73210f, 1.00010f)
     },
     Polygon3D {
-      Point3D(-0.00000, -2.73200, 0.73210),
-      Point3D(-0.00000, -0.73200, -2.73200),
-      Point3D(0.00010, 2.73210, -0.73200),
-      Point3D(0.00010, 0.73210, 2.73210)
+      Point3D(-0.00000f, -2.73200f, 0.73210f),
+      Point3D(-0.00000f, -0.73200f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, 2.73210f)
     },
     Polygon3D {
-      Point3D(0.00010, 1.73210, 1.00010),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(0.00000, -1.73200, -1.00000)
+      Point3D(0.00010f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(0.00000f, -1.73200f, -1.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate80) {
+TEST(BSPTree, TwoPlaneIntersectRotate80degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930)
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.68410, -1.87930),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(0.00010, -0.68400, 1.87940)
+      Point3D(0.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00010f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(0.00010, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(0.00000, 0.68410, -1.87930)
+      Point3D(0.00010f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00000f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate100) {
+TEST(BSPTree, TwoPlaneIntersectRotate100degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 2.73210, -0.73200),
-      Point3D(-0.00000, 0.73210, 2.73210),
-      Point3D(0.00010, -2.73200, 0.73210),
-      Point3D(0.00010, -0.73200, -2.73200)
+      Point3D(-0.00000f, 2.73210f, -0.73200f),
+      Point3D(-0.00000f, 0.73210f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, -2.73200f)
     },
     Polygon3D {
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, 1.73210, 1.00010)
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, -1.73200, -1.00000),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(0.00000, 1.73210, 1.00010)
+      Point3D(0.00010f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(0.00000f, 1.73210f, 1.00010f)
     },
     Polygon3D {
-      Point3D(-0.00000, 2.73210, -0.73200),
-      Point3D(-0.00000, 0.73210, 2.73210),
-      Point3D(0.00010, -2.73200, 0.73210),
-      Point3D(0.00010, -0.73200, -2.73200)
+      Point3D(-0.00000f, 2.73210f, -0.73200f),
+      Point3D(-0.00000f, 0.73210f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, -2.73200f)
     },
     Polygon3D {
-      Point3D(0.00000, 1.73210, 1.00010),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(0.00010, -1.73200, -1.00000)
+      Point3D(0.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(0.00010f, -1.73200f, -1.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate120) {
+TEST(BSPTree, TwoPlaneIntersectRotate120degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -0.73200, 2.73210),
-      Point3D(-0.00000, -2.73200, -0.73200),
-      Point3D(0.00010, 0.73210, -2.73200),
-      Point3D(0.00010, 2.73210, 0.73210)
+      Point3D(-0.00000f, -0.73200f, 2.73210f),
+      Point3D(-0.00000f, -2.73200f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, 0.73210f)
     },
     Polygon3D {
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, -1.73200, 1.00000)
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 1.73210, -0.99990),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(0.00000, -1.73200, 1.00000)
+      Point3D(0.00010f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(0.00000f, -1.73200f, 1.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, -0.73200, 2.73210),
-      Point3D(-0.00000, -2.73200, -0.73200),
-      Point3D(0.00010, 0.73210, -2.73200),
-      Point3D(0.00010, 2.73210, 0.73210)
+      Point3D(-0.00000f, -0.73200f, 2.73210f),
+      Point3D(-0.00000f, -2.73200f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, 0.73210f)
     },
     Polygon3D {
-      Point3D(0.00000, -1.73200, 1.00000),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(0.00010, 1.73210, -0.99990)
+      Point3D(0.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(0.00010f, 1.73210f, -0.99990f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate140) {
+TEST(BSPTree, TwoPlaneIntersectRotate140degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930)
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.68410, -1.87930),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(0.00010, -0.68400, 1.87940)
+      Point3D(0.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00010f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(0.00010, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(0.00000, 0.68410, -1.87930)
+      Point3D(0.00010f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00000f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate160) {
+TEST(BSPTree, TwoPlaneIntersectRotate160degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 2.00000, 2.00000),
-      Point3D(-0.00000, -2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, -2.00000)
+      Point3D(-0.00000f, 2.00000f, 2.00000f),
+      Point3D(-0.00000f, -2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, -2.00000f)
     },
     Polygon3D {
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000)
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 0.00010, -2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(0.00000, 0.00000, 2.00000)
+      Point3D(0.00010f, 0.00010f, -2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(0.00000f, 0.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, 2.00000, 2.00000),
-      Point3D(-0.00000, -2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, -2.00000)
+      Point3D(-0.00000f, 2.00000f, 2.00000f),
+      Point3D(-0.00000f, -2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, -2.00000f)
     },
     Polygon3D {
-      Point3D(0.00000, 0.00000, 2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(0.00010, 0.00010, -2.00000)
+      Point3D(0.00000f, 0.00000f, 2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(0.00010f, 0.00010f, -2.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate180) {
+TEST(BSPTree, TwoPlaneIntersectRotate180degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000)
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.00010, -2.00000),
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(0.00010, 0.00000, 2.00000)
+      Point3D(0.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(0.00010f, 0.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(0.00010, 0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000),
-      Point3D(0.00000, 0.00010, -2.00000)
+      Point3D(0.00010f, 0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f),
+      Point3D(0.00000f, 0.00010f, -2.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate200) {
+TEST(BSPTree, TwoPlaneIntersectRotate200degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940)
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(0.00000, -0.68400, 1.87940)
+      Point3D(0.00010f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00000f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(0.00000, -0.68400, 1.87940),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(0.00010, 0.68410, -1.87930)
+      Point3D(0.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00010f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate220) {
+TEST(BSPTree, TwoPlaneIntersectRotate220degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 0.73210, -2.73200),
-      Point3D(-0.00000, 2.73210, 0.73210),
-      Point3D(0.00010, -0.73200, 2.73210),
-      Point3D(0.00010, -2.73200, -0.73200)
+      Point3D(-0.00000f, 0.73210f, -2.73200f),
+      Point3D(-0.00000f, 2.73210f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, -0.73200f)
     },
     Polygon3D {
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, 1.73210, -0.99990)
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 1.73210, -0.99990),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(0.00010, -1.73200, 1.00000)
+      Point3D(0.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(0.00010f, -1.73200f, 1.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, 0.73210, -2.73200),
-      Point3D(-0.00000, 2.73210, 0.73210),
-      Point3D(0.00010, -0.73200, 2.73210),
-      Point3D(0.00010, -2.73200, -0.73200)
+      Point3D(-0.00000f, 0.73210f, -2.73200f),
+      Point3D(-0.00000f, 2.73210f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, -0.73200f)
     },
     Polygon3D {
-      Point3D(0.00010, -1.73200, 1.00000),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(0.00000, 1.73210, -0.99990)
+      Point3D(0.00010f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(0.00000f, 1.73210f, -0.99990f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate240) {
+TEST(BSPTree, TwoPlaneIntersectRotate240degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -2.73200, 0.73210),
-      Point3D(-0.00000, -0.73200, -2.73200),
-      Point3D(0.00010, 2.73210, -0.73200),
-      Point3D(0.00010, 0.73210, 2.73210)
+      Point3D(-0.00000f, -2.73200f, 0.73210f),
+      Point3D(-0.00000f, -0.73200f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, 2.73210f)
     },
     Polygon3D {
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, -1.73200, -1.00000)
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, -1.73200, -1.00000),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(0.00010, 1.73210, 1.00010)
+      Point3D(0.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(0.00010f, 1.73210f, 1.00010f)
     },
     Polygon3D {
-      Point3D(-0.00000, -2.73200, 0.73210),
-      Point3D(-0.00000, -0.73200, -2.73200),
-      Point3D(0.00010, 2.73210, -0.73200),
-      Point3D(0.00010, 0.73210, 2.73210)
+      Point3D(-0.00000f, -2.73200f, 0.73210f),
+      Point3D(-0.00000f, -0.73200f, -2.73200f),
+      Point3D(0.00010f, 2.73210f, -0.73200f),
+      Point3D(0.00010f, 0.73210f, 2.73210f)
     },
     Polygon3D {
-      Point3D(0.00010, 1.73210, 1.00010),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(0.00000, -1.73200, -1.00000)
+      Point3D(0.00010f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(0.00000f, -1.73200f, -1.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate260) {
+TEST(BSPTree, TwoPlaneIntersectRotate260degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940)
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, 0.68410, -1.87930),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(0.00000, -0.68400, 1.87940)
+      Point3D(0.00010f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00000f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, 1.19540, 2.56350),
-      Point3D(-0.00000, -2.56340, 1.19540),
-      Point3D(0.00010, -1.19530, -2.56340),
-      Point3D(0.00010, 2.56350, -1.19530)
+      Point3D(-0.00000f, 1.19540f, 2.56350f),
+      Point3D(-0.00000f, -2.56340f, 1.19540f),
+      Point3D(0.00010f, -1.19530f, -2.56340f),
+      Point3D(0.00010f, 2.56350f, -1.19530f)
     },
     Polygon3D {
-      Point3D(0.00000, -0.68400, 1.87940),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(0.00010, 0.68410, -1.87930)
+      Point3D(0.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00010f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate280) {
+TEST(BSPTree, TwoPlaneIntersectRotate280degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 2.73210, -0.73200),
-      Point3D(-0.00000, 0.73210, 2.73210),
-      Point3D(0.00010, -2.73200, 0.73210),
-      Point3D(0.00010, -0.73200, -2.73200)
+      Point3D(-0.00000f, 2.73210f, -0.73200f),
+      Point3D(-0.00000f, 0.73210f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, -2.73200f)
     },
     Polygon3D {
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, 1.73210, 1.00010)
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00010, -1.73200, -1.00000),
-      Point3D(-2.00000, -1.73200, -1.00000),
-      Point3D(-2.00000, 1.73210, 1.00010),
-      Point3D(0.00000, 1.73210, 1.00010)
+      Point3D(0.00010f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, -1.73200f, -1.00000f),
+      Point3D(-2.00000f, 1.73210f, 1.00010f),
+      Point3D(0.00000f, 1.73210f, 1.00010f)
     },
     Polygon3D {
-      Point3D(-0.00000, 2.73210, -0.73200),
-      Point3D(-0.00000, 0.73210, 2.73210),
-      Point3D(0.00010, -2.73200, 0.73210),
-      Point3D(0.00010, -0.73200, -2.73200)
+      Point3D(-0.00000f, 2.73210f, -0.73200f),
+      Point3D(-0.00000f, 0.73210f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, -2.73200f)
     },
     Polygon3D {
-      Point3D(0.00000, 1.73210, 1.00010),
-      Point3D(2.00000, 1.73210, 1.00010),
-      Point3D(2.00000, -1.73200, -1.00000),
-      Point3D(0.00010, -1.73200, -1.00000)
+      Point3D(0.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, 1.73210f, 1.00010f),
+      Point3D(2.00000f, -1.73200f, -1.00000f),
+      Point3D(0.00010f, -1.73200f, -1.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate300) {
+TEST(BSPTree, TwoPlaneIntersectRotate300degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, 0.73210, -2.73200),
-      Point3D(-0.00000, 2.73210, 0.73210),
-      Point3D(0.00010, -0.73200, 2.73210),
-      Point3D(0.00010, -2.73200, -0.73200)
+      Point3D(-0.00000f, 0.73210f, -2.73200f),
+      Point3D(-0.00000f, 2.73210f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, -0.73200f)
     },
     Polygon3D {
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, 1.73210, -0.99990)
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 1.73210, -0.99990),
-      Point3D(2.00000, 1.73210, -0.99990),
-      Point3D(2.00000, -1.73200, 1.00000),
-      Point3D(0.00010, -1.73200, 1.00000)
+      Point3D(0.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, 1.73210f, -0.99990f),
+      Point3D(2.00000f, -1.73200f, 1.00000f),
+      Point3D(0.00010f, -1.73200f, 1.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, 0.73210, -2.73200),
-      Point3D(-0.00000, 2.73210, 0.73210),
-      Point3D(0.00010, -0.73200, 2.73210),
-      Point3D(0.00010, -2.73200, -0.73200)
+      Point3D(-0.00000f, 0.73210f, -2.73200f),
+      Point3D(-0.00000f, 2.73210f, 0.73210f),
+      Point3D(0.00010f, -0.73200f, 2.73210f),
+      Point3D(0.00010f, -2.73200f, -0.73200f)
     },
     Polygon3D {
-      Point3D(0.00010, -1.73200, 1.00000),
-      Point3D(-2.00000, -1.73200, 1.00000),
-      Point3D(-2.00000, 1.73210, -0.99990),
-      Point3D(0.00000, 1.73210, -0.99990)
+      Point3D(0.00010f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, -1.73200f, 1.00000f),
+      Point3D(-2.00000f, 1.73210f, -0.99990f),
+      Point3D(0.00000f, 1.73210f, -0.99990f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate320) {
+TEST(BSPTree, TwoPlaneIntersectRotate320degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930)
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.68410, -1.87930),
-      Point3D(2.00000, 0.68410, -1.87930),
-      Point3D(2.00000, -0.68400, 1.87940),
-      Point3D(0.00010, -0.68400, 1.87940)
+      Point3D(0.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, 0.68410f, -1.87930f),
+      Point3D(2.00000f, -0.68400f, 1.87940f),
+      Point3D(0.00010f, -0.68400f, 1.87940f)
     },
     Polygon3D {
-      Point3D(-0.00000, -1.19530, -2.56340),
-      Point3D(-0.00000, 2.56350, -1.19530),
-      Point3D(0.00010, 1.19540, 2.56350),
-      Point3D(0.00010, -2.56340, 1.19540)
+      Point3D(-0.00000f, -1.19530f, -2.56340f),
+      Point3D(-0.00000f, 2.56350f, -1.19530f),
+      Point3D(0.00010f, 1.19540f, 2.56350f),
+      Point3D(0.00010f, -2.56340f, 1.19540f)
     },
     Polygon3D {
-      Point3D(0.00010, -0.68400, 1.87940),
-      Point3D(-2.00000, -0.68400, 1.87940),
-      Point3D(-2.00000, 0.68410, -1.87930),
-      Point3D(0.00000, 0.68410, -1.87930)
+      Point3D(0.00010f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, -0.68400f, 1.87940f),
+      Point3D(-2.00000f, 0.68410f, -1.87930f),
+      Point3D(0.00000f, 0.68410f, -1.87930f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate340) {
+TEST(BSPTree, TwoPlaneIntersectRotate340degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000)
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.00010, -2.00000),
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(0.00010, 0.00000, 2.00000)
+      Point3D(0.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(0.00010f, 0.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(0.00010, 0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000),
-      Point3D(0.00000, 0.00010, -2.00000)
+      Point3D(0.00010f, 0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f),
+      Point3D(0.00000f, 0.00010f, -2.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
 
-TEST(BSPTree, TwoPlaneIntersectRotate360) {
+TEST(BSPTree, TwoPlaneIntersectRotate360degrees) {
   const std::deque<Polygon3D> polygons {
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000)
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f)
     }
   };
 
   const std::deque<Polygon3D> expected {
     Polygon3D {
-      Point3D(0.00000, 0.00010, -2.00000),
-      Point3D(2.00000, 0.00010, -2.00000),
-      Point3D(2.00000, -0.00000, 2.00000),
-      Point3D(0.00010, 0.00000, 2.00000)
+      Point3D(0.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, 0.00010f, -2.00000f),
+      Point3D(2.00000f, -0.00000f, 2.00000f),
+      Point3D(0.00010f, 0.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(-0.00000, -2.00000, -2.00000),
-      Point3D(-0.00000, 2.00000, -2.00000),
-      Point3D(0.00010, 2.00000, 2.00000),
-      Point3D(0.00010, -2.00000, 2.00000)
+      Point3D(-0.00000f, -2.00000f, -2.00000f),
+      Point3D(-0.00000f, 2.00000f, -2.00000f),
+      Point3D(0.00010f, 2.00000f, 2.00000f),
+      Point3D(0.00010f, -2.00000f, 2.00000f)
     },
     Polygon3D {
-      Point3D(0.00010, 0.00000, 2.00000),
-      Point3D(-2.00000, -0.00000, 2.00000),
-      Point3D(-2.00000, 0.00010, -2.00000),
-      Point3D(0.00000, 0.00010, -2.00000)
+      Point3D(0.00010f, 0.00000f, 2.00000f),
+      Point3D(-2.00000f, -0.00000f, 2.00000f),
+      Point3D(-2.00000f, 0.00010f, -2.00000f),
+      Point3D(0.00000f, 0.00010f, -2.00000f)
     }
   };
   ::RunTest(polygons, expected);
 }
\ No newline at end of file