]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Fix a bunch of name conflicts by renaming 'c' to 'cube' everywhere.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 20 Sep 2011 17:24:40 +0000 (13:24 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 20 Sep 2011 17:24:40 +0000 (13:24 -0400)
src/Cube.hs

index d3f5151260905827254885c579f1f208f2586bd3..8f22266049538cc697d3c0cbd83eb492654f28d3 100644 (file)
@@ -63,97 +63,92 @@ instance Arbitrary Cube where
 
 
 instance Show Cube where
-    show c =
+    show cube =
         "Cube_" ++ subscript ++ "\n" ++
-        " h: " ++ (show (h c)) ++ "\n" ++
-        " Center: " ++ (show (center c)) ++ "\n" ++
-        " xmin: " ++ (show (xmin c)) ++ "\n" ++
-        " xmax: " ++ (show (xmax c)) ++ "\n" ++
-        " ymin: " ++ (show (ymin c)) ++ "\n" ++
-        " ymax: " ++ (show (ymax c)) ++ "\n" ++
-        " zmin: " ++ (show (zmin c)) ++ "\n" ++
-        " zmax: " ++ (show (zmax c)) ++ "\n" ++
-        " fv: " ++ (show (Cube.fv c)) ++ "\n"
+        " h: " ++ (show (h cube)) ++ "\n" ++
+        " Center: " ++ (show (center cube)) ++ "\n" ++
+        " xmin: " ++ (show (xmin cube)) ++ "\n" ++
+        " xmax: " ++ (show (xmax cube)) ++ "\n" ++
+        " ymin: " ++ (show (ymin cube)) ++ "\n" ++
+        " ymax: " ++ (show (ymax cube)) ++ "\n" ++
+        " zmin: " ++ (show (zmin cube)) ++ "\n" ++
+        " zmax: " ++ (show (zmax cube)) ++ "\n" ++
+        " fv: " ++ (show (Cube.fv cube)) ++ "\n"
         where
           subscript =
-              (show (i c)) ++ "," ++ (show (j c)) ++ "," ++ (show (k c))
-
-
--- | Returns an empty 'Cube'.
-empty_cube :: Cube
-empty_cube = Cube 0 0 0 0 empty_values 0
+              (show (i cube)) ++ "," ++ (show (j cube)) ++ "," ++ (show (k cube))
 
 
 -- | The left-side boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 xmin :: Cube -> Double
-xmin c = (2*i' - 1)*delta / 2
+xmin cube = (2*i' - 1)*delta / 2
     where
-      i' = fromIntegral (i c) :: Double
-      delta = h c
+      i' = fromIntegral (i cube) :: Double
+      delta = h cube
 
 -- | The right-side boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 xmax :: Cube -> Double
-xmax c = (2*i' + 1)*delta / 2
+xmax cube = (2*i' + 1)*delta / 2
     where
-      i' = fromIntegral (i c) :: Double
-      delta = h c
+      i' = fromIntegral (i cube) :: Double
+      delta = h cube
 
 -- | The front boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 ymin :: Cube -> Double
-ymin c = (2*j' - 1)*delta / 2
+ymin cube = (2*j' - 1)*delta / 2
     where
-      j' = fromIntegral (j c) :: Double
-      delta = h c
+      j' = fromIntegral (j cube) :: Double
+      delta = h cube
 
 -- | The back boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 ymax :: Cube -> Double
-ymax c = (2*j' + 1)*delta / 2
+ymax cube = (2*j' + 1)*delta / 2
     where
-      j' = fromIntegral (j c) :: Double
-      delta = h c
+      j' = fromIntegral (j cube) :: Double
+      delta = h cube
 
 -- | The bottom boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 zmin :: Cube -> Double
-zmin c = (2*k' - 1)*delta / 2
+zmin cube = (2*k' - 1)*delta / 2
     where
-      k' = fromIntegral (k c) :: Double
-      delta = h c
+      k' = fromIntegral (k cube) :: Double
+      delta = h cube
 
 -- | The top boundary of the cube. See Sorokina and Zeilfelder,
 --   p. 76.
 zmax :: Cube -> Double
-zmax c = (2*k' + 1)*delta / 2
+zmax cube = (2*k' + 1)*delta / 2
     where
-      k' = fromIntegral (k c) :: Double
-      delta = h c
+      k' = fromIntegral (k cube) :: Double
+      delta = h cube
 
 instance ThreeDimensional Cube where
     -- | The center of Cube_ijk coincides with v_ijk at
     --   (ih, jh, kh). See Sorokina and Zeilfelder, p. 76.
-    center c = (x, y, z)
+    center cube = (x, y, z)
            where
-             delta = h c
-             i' = fromIntegral (i c) :: Double
-             j' = fromIntegral (j c) :: Double
-             k' = fromIntegral (k c) :: Double
+             delta = h cube
+             i' = fromIntegral (i cube) :: Double
+             j' = fromIntegral (j cube) :: Double
+             k' = fromIntegral (k cube) :: Double
              x = delta * i'
              y = delta * j'
              z = delta * k'
 
     -- | It's easy to tell if a point is within a cube; just make sure
     --   that it falls on the proper side of each of the cube's faces.
-    contains_point c (x, y, z)
-        | x < (xmin c) = False
-        | x > (xmax c) = False
-        | y < (ymin c) = False
-        | y > (ymax c) = False
-        | z < (zmin c) = False
-        | z > (zmax c) = False
+    contains_point cube (x, y, z)
+        | x < (xmin cube) = False
+        | x > (xmax cube) = False
+        | y < (ymin cube) = False
+        | y > (ymax cube) = False
+        | z < (zmin cube) = False
+        | z > (zmax cube) = False
         | otherwise = True
 
 
@@ -162,329 +157,329 @@ instance ThreeDimensional Cube where
 
 -- | The top (in the direction of z) face of the cube.
 top_face :: Cube -> Face.Face
-top_face c = Face.Face v0' v1' v2' v3'
+top_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (delta, -delta, delta)
-      v1' = (center c) + (delta, delta, delta)
-      v2' = (center c) + (-delta, delta, delta)
-      v3' = (center c) + (-delta, -delta, delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (delta, -delta, delta)
+      v1' = (center cube) + (delta, delta, delta)
+      v2' = (center cube) + (-delta, delta, delta)
+      v3' = (center cube) + (-delta, -delta, delta)
 
 
 
 -- | The back (in the direction of x) face of the cube.
 back_face :: Cube -> Face.Face
-back_face c = Face.Face v0' v1' v2' v3'
+back_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (delta, -delta, -delta)
-      v1' = (center c) + (delta, delta, -delta)
-      v2' = (center c) + (delta, delta, delta)
-      v3' = (center c) + (delta, -delta, delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (delta, -delta, -delta)
+      v1' = (center cube) + (delta, delta, -delta)
+      v2' = (center cube) + (delta, delta, delta)
+      v3' = (center cube) + (delta, -delta, delta)
 
 
 -- The bottom face (in the direction of -z) of the cube.
 down_face :: Cube -> Face.Face
-down_face c = Face.Face v0' v1' v2' v3'
+down_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (-delta, -delta, -delta)
-      v1' = (center c) + (-delta, delta, -delta)
-      v2' = (center c) + (delta, delta, -delta)
-      v3' = (center c) + (delta, -delta, -delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (-delta, -delta, -delta)
+      v1' = (center cube) + (-delta, delta, -delta)
+      v2' = (center cube) + (delta, delta, -delta)
+      v3' = (center cube) + (delta, -delta, -delta)
 
 
 
 -- | The front (in the direction of -x) face of the cube.
 front_face :: Cube -> Face.Face
-front_face c = Face.Face v0' v1' v2' v3'
+front_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (-delta, -delta, delta)
-      v1' = (center c) + (-delta, delta, delta)
-      v2' = (center c) + (-delta, delta, -delta)
-      v3' = (center c) + (-delta, -delta, -delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (-delta, -delta, delta)
+      v1' = (center cube) + (-delta, delta, delta)
+      v2' = (center cube) + (-delta, delta, -delta)
+      v3' = (center cube) + (-delta, -delta, -delta)
 
 -- | The left (in the direction of -y) face of the cube.
 left_face :: Cube -> Face.Face
-left_face c = Face.Face v0' v1' v2' v3'
+left_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (delta, -delta, delta)
-      v1' = (center c) + (-delta, -delta, delta)
-      v2' = (center c) + (-delta, -delta, -delta)
-      v3' = (center c) + (delta, -delta, -delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (delta, -delta, delta)
+      v1' = (center cube) + (-delta, -delta, delta)
+      v2' = (center cube) + (-delta, -delta, -delta)
+      v3' = (center cube) + (delta, -delta, -delta)
 
 
 -- | The right (in the direction of y) face of the cube.
 right_face :: Cube -> Face.Face
-right_face c = Face.Face v0' v1' v2' v3'
+right_face cube = Face.Face v0' v1' v2' v3'
     where
-      delta = (1/2)*(h c)
-      v0' = (center c) + (-delta, delta, delta)
-      v1' = (center c) + (delta, delta, delta)
-      v2' = (center c) + (delta, delta, -delta)
-      v3' = (center c) + (-delta, delta, -delta)
+      delta = (1/2)*(h cube)
+      v0' = (center cube) + (-delta, delta, delta)
+      v1' = (center cube) + (delta, delta, delta)
+      v2' = (center cube) + (delta, delta, -delta)
+      v3' = (center cube) + (-delta, delta, -delta)
 
 
 tetrahedron :: Cube -> Int -> Tetrahedron
 
-tetrahedron c 0 =
-    Tetrahedron (fv c) v0' v1' v2' v3' vol
+tetrahedron cube 0 =
+    Tetrahedron (fv cube) v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (front_face c)
-      v2' = Face.v0 (front_face c)
-      v3' = Face.v1 (front_face c)
-      vol = tetrahedra_volume c
+      v0' = center cube
+      v1' = center (front_face cube)
+      v2' = Face.v0 (front_face cube)
+      v3' = Face.v1 (front_face cube)
+      vol = tetrahedra_volume cube
 
-tetrahedron c 1 =
+tetrahedron cube 1 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (front_face c)
-      v2' = Face.v1 (front_face c)
-      v3' = Face.v2 (front_face c)
-      fv' = rotate ccwx (fv c)
-      vol = tetrahedra_volume c
-
-tetrahedron c 2 =
+      v0' = center cube
+      v1' = center (front_face cube)
+      v2' = Face.v1 (front_face cube)
+      v3' = Face.v2 (front_face cube)
+      fv' = rotate ccwx (fv cube)
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 2 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (front_face c)
-      v2' = Face.v2 (front_face c)
-      v3' = Face.v3 (front_face c)
-      fv' = rotate ccwx $ rotate ccwx $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 3 =
+      v0' = center cube
+      v1' = center (front_face cube)
+      v2' = Face.v2 (front_face cube)
+      v3' = Face.v3 (front_face cube)
+      fv' = rotate ccwx $ rotate ccwx $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 3 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (front_face c)
-      v2' = Face.v3 (front_face c)
-      v3' = Face.v0 (front_face c)
-      fv' = rotate cwx (fv c)
-      vol = tetrahedra_volume c
-
-tetrahedron c 4 =
+      v0' = center cube
+      v1' = center (front_face cube)
+      v2' = Face.v3 (front_face cube)
+      v3' = Face.v0 (front_face cube)
+      fv' = rotate cwx (fv cube)
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 4 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (top_face c)
-      v2' = Face.v0 (top_face c)
-      v3' = Face.v1 (top_face c)
-      fv' = rotate cwy (fv c)
-      vol = tetrahedra_volume c
-
-tetrahedron c 5 =
+      v0' = center cube
+      v1' = center (top_face cube)
+      v2' = Face.v0 (top_face cube)
+      v3' = Face.v1 (top_face cube)
+      fv' = rotate cwy (fv cube)
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 5 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (top_face c)
-      v2' = Face.v1 (top_face c)
-      v3' = Face.v2 (top_face c)
-      fv' = rotate cwy $ rotate cwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 6 =
+      v0' = center cube
+      v1' = center (top_face cube)
+      v2' = Face.v1 (top_face cube)
+      v3' = Face.v2 (top_face cube)
+      fv' = rotate cwy $ rotate cwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 6 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (top_face c)
-      v2' = Face.v2 (top_face c)
-      v3' = Face.v3 (top_face c)
+      v0' = center cube
+      v1' = center (top_face cube)
+      v2' = Face.v2 (top_face cube)
+      v3' = Face.v3 (top_face cube)
       fv' = rotate cwy $ rotate cwz
                        $ rotate cwz
-                       $ fv c
-      vol = tetrahedra_volume c
+                       $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 7 =
+tetrahedron cube 7 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (top_face c)
-      v2' = Face.v3 (top_face c)
-      v3' = Face.v0 (top_face c)
-      fv' = rotate cwy $ rotate ccwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 8 =
+      v0' = center cube
+      v1' = center (top_face cube)
+      v2' = Face.v3 (top_face cube)
+      v3' = Face.v0 (top_face cube)
+      fv' = rotate cwy $ rotate ccwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 8 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (back_face c)
-      v2' = Face.v0 (back_face c)
-      v3' = Face.v1 (back_face c)
-      fv' = rotate cwy $ rotate cwy $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 9 =
+      v0' = center cube
+      v1' = center (back_face cube)
+      v2' = Face.v0 (back_face cube)
+      v3' = Face.v1 (back_face cube)
+      fv' = rotate cwy $ rotate cwy $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 9 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (back_face c)
-      v2' = Face.v1 (back_face c)
-      v3' = Face.v2 (back_face c)
+      v0' = center cube
+      v1' = center (back_face cube)
+      v2' = Face.v1 (back_face cube)
+      v3' = Face.v2 (back_face cube)
       fv' = rotate cwy $ rotate cwy
                        $ rotate cwx
-                       $ fv c
-      vol = tetrahedra_volume c
+                       $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 10 =
+tetrahedron cube 10 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (back_face c)
-      v2' = Face.v2 (back_face c)
-      v3' = Face.v3 (back_face c)
+      v0' = center cube
+      v1' = center (back_face cube)
+      v2' = Face.v2 (back_face cube)
+      v3' = Face.v3 (back_face cube)
       fv' = rotate cwy $ rotate cwy
                        $ rotate cwx
                        $ rotate cwx
-                       $ fv c
+                       $ fv cube
 
-      vol = tetrahedra_volume c
+      vol = tetrahedra_volume cube
 
-tetrahedron c 11 =
+tetrahedron cube 11 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (back_face c)
-      v2' = Face.v3 (back_face c)
-      v3' = Face.v0 (back_face c)
+      v0' = center cube
+      v1' = center (back_face cube)
+      v2' = Face.v3 (back_face cube)
+      v3' = Face.v0 (back_face cube)
       fv' = rotate cwy $ rotate cwy
                        $ rotate ccwx
-                       $ fv c
-      vol = tetrahedra_volume c
+                       $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 12 =
+tetrahedron cube 12 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (down_face c)
-      v2' = Face.v0 (down_face c)
-      v3' = Face.v1 (down_face c)
-      fv' = rotate ccwy $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 13 =
+      v0' = center cube
+      v1' = center (down_face cube)
+      v2' = Face.v0 (down_face cube)
+      v3' = Face.v1 (down_face cube)
+      fv' = rotate ccwy $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 13 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (down_face c)
-      v2' = Face.v1 (down_face c)
-      v3' = Face.v2 (down_face c)
-      fv' = rotate ccwy $ rotate ccwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 14 =
+      v0' = center cube
+      v1' = center (down_face cube)
+      v2' = Face.v1 (down_face cube)
+      v3' = Face.v2 (down_face cube)
+      fv' = rotate ccwy $ rotate ccwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 14 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (down_face c)
-      v2' = Face.v2 (down_face c)
-      v3' = Face.v3 (down_face c)
+      v0' = center cube
+      v1' = center (down_face cube)
+      v2' = Face.v2 (down_face cube)
+      v3' = Face.v3 (down_face cube)
       fv' = rotate ccwy $ rotate ccwz
                         $ rotate ccwz
-                        $ fv c
-      vol = tetrahedra_volume c
+                        $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 15 =
+tetrahedron cube 15 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (down_face c)
-      v2' = Face.v3 (down_face c)
-      v3' = Face.v0 (down_face c)
-      fv' = rotate ccwy $ rotate cwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 16 =
+      v0' = center cube
+      v1' = center (down_face cube)
+      v2' = Face.v3 (down_face cube)
+      v3' = Face.v0 (down_face cube)
+      fv' = rotate ccwy $ rotate cwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 16 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (right_face c)
-      v2' = Face.v0 (right_face c)
-      v3' = Face.v1 (right_face c)
-      fv' = rotate ccwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 17 =
+      v0' = center cube
+      v1' = center (right_face cube)
+      v2' = Face.v0 (right_face cube)
+      v3' = Face.v1 (right_face cube)
+      fv' = rotate ccwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 17 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (right_face c)
-      v2' = Face.v1 (right_face c)
-      v3' = Face.v2 (right_face c)
-      fv' = rotate ccwz $ rotate cwy $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 18 =
+      v0' = center cube
+      v1' = center (right_face cube)
+      v2' = Face.v1 (right_face cube)
+      v3' = Face.v2 (right_face cube)
+      fv' = rotate ccwz $ rotate cwy $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 18 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (right_face c)
-      v2' = Face.v2 (right_face c)
-      v3' = Face.v3 (right_face c)
+      v0' = center cube
+      v1' = center (right_face cube)
+      v2' = Face.v2 (right_face cube)
+      v3' = Face.v3 (right_face cube)
       fv' = rotate ccwz $ rotate cwy
                         $ rotate cwy
-                        $ fv c
-      vol = tetrahedra_volume c
+                        $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 19 =
+tetrahedron cube 19 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (right_face c)
-      v2' = Face.v3 (right_face c)
-      v3' = Face.v0 (right_face c)
+      v0' = center cube
+      v1' = center (right_face cube)
+      v2' = Face.v3 (right_face cube)
+      v3' = Face.v0 (right_face cube)
       fv' = rotate ccwz $ rotate ccwy
-                        $ fv c
-      vol = tetrahedra_volume c
+                        $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 20 =
+tetrahedron cube 20 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (left_face c)
-      v2' = Face.v0 (left_face c)
-      v3' = Face.v1 (left_face c)
-      fv' = rotate cwz $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 21 =
+      v0' = center cube
+      v1' = center (left_face cube)
+      v2' = Face.v0 (left_face cube)
+      v3' = Face.v1 (left_face cube)
+      fv' = rotate cwz $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 21 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (left_face c)
-      v2' = Face.v1 (left_face c)
-      v3' = Face.v2 (left_face c)
-      fv' = rotate cwz $ rotate ccwy $ fv c
-      vol = tetrahedra_volume c
-
-tetrahedron c 22 =
+      v0' = center cube
+      v1' = center (left_face cube)
+      v2' = Face.v1 (left_face cube)
+      v3' = Face.v2 (left_face cube)
+      fv' = rotate cwz $ rotate ccwy $ fv cube
+      vol = tetrahedra_volume cube
+
+tetrahedron cube 22 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (left_face c)
-      v2' = Face.v2 (left_face c)
-      v3' = Face.v3 (left_face c)
+      v0' = center cube
+      v1' = center (left_face cube)
+      v2' = Face.v2 (left_face cube)
+      v3' = Face.v3 (left_face cube)
       fv' = rotate cwz $ rotate ccwy
                        $ rotate ccwy
-                       $ fv c
-      vol = tetrahedra_volume c
+                       $ fv cube
+      vol = tetrahedra_volume cube
 
-tetrahedron c 23 =
+tetrahedron cube 23 =
     Tetrahedron fv' v0' v1' v2' v3' vol
     where
-      v0' = center c
-      v1' = center (left_face c)
-      v2' = Face.v3 (left_face c)
-      v3' = Face.v0 (left_face c)
+      v0' = center cube
+      v1' = center (left_face cube)
+      v2' = Face.v3 (left_face cube)
+      v3' = Face.v0 (left_face cube)
       fv' = rotate cwz $ rotate cwy
-                       $ fv c
-      vol = tetrahedra_volume c
+                       $ fv cube
+      vol = tetrahedra_volume cube
 
 -- Feels dirty, but whatever.
 tetrahedron _ _ = error "asked for a nonexistent tetrahedron"
@@ -493,101 +488,101 @@ tetrahedron _ _ = error "asked for a nonexistent tetrahedron"
 -- Only used in tests, so we don't need the added speed
 -- of Data.Vector.
 tetrahedra :: Cube -> [Tetrahedron]
-tetrahedra c = [ tetrahedron c n | n <- [0..23] ]
+tetrahedra cube = [ tetrahedron cube n | n <- [0..23] ]
 
 front_left_top_tetrahedra :: Cube -> V.Vector Tetrahedron
-front_left_top_tetrahedra  c =
-  V.singleton (tetrahedron c 0) `V.snoc`
-    (tetrahedron c 3) `V.snoc`
-    (tetrahedron c 6) `V.snoc`
-    (tetrahedron c 7) `V.snoc`
-    (tetrahedron c 20) `V.snoc`
-    (tetrahedron c 21)
+front_left_top_tetrahedra  cube =
+  V.singleton (tetrahedron cube 0) `V.snoc`
+    (tetrahedron cube 3) `V.snoc`
+    (tetrahedron cube 6) `V.snoc`
+    (tetrahedron cube 7) `V.snoc`
+    (tetrahedron cube 20) `V.snoc`
+    (tetrahedron cube 21)
 
 front_left_down_tetrahedra :: Cube -> V.Vector Tetrahedron
-front_left_down_tetrahedra  c =
-  V.singleton (tetrahedron c 0) `V.snoc`
-    (tetrahedron c 2) `V.snoc`
-    (tetrahedron c 3) `V.snoc`
-    (tetrahedron c 12) `V.snoc`
-    (tetrahedron c 15) `V.snoc`
-    (tetrahedron c 21)
+front_left_down_tetrahedra  cube =
+  V.singleton (tetrahedron cube 0) `V.snoc`
+    (tetrahedron cube 2) `V.snoc`
+    (tetrahedron cube 3) `V.snoc`
+    (tetrahedron cube 12) `V.snoc`
+    (tetrahedron cube 15) `V.snoc`
+    (tetrahedron cube 21)
 
 front_right_top_tetrahedra :: Cube -> V.Vector Tetrahedron
-front_right_top_tetrahedra  c =
-  V.singleton (tetrahedron c 0) `V.snoc`
-    (tetrahedron c 1) `V.snoc`
-    (tetrahedron c 5) `V.snoc`
-    (tetrahedron c 6) `V.snoc`
-    (tetrahedron c 16) `V.snoc`
-    (tetrahedron c 19)
+front_right_top_tetrahedra  cube =
+  V.singleton (tetrahedron cube 0) `V.snoc`
+    (tetrahedron cube 1) `V.snoc`
+    (tetrahedron cube 5) `V.snoc`
+    (tetrahedron cube 6) `V.snoc`
+    (tetrahedron cube 16) `V.snoc`
+    (tetrahedron cube 19)
 
 front_right_down_tetrahedra :: Cube -> V.Vector Tetrahedron
-front_right_down_tetrahedra  c =
-  V.singleton (tetrahedron c 1) `V.snoc`
-    (tetrahedron c 2) `V.snoc`
-    (tetrahedron c 12) `V.snoc`
-    (tetrahedron c 13) `V.snoc`
-    (tetrahedron c 18) `V.snoc`
-    (tetrahedron c 19)
+front_right_down_tetrahedra  cube =
+  V.singleton (tetrahedron cube 1) `V.snoc`
+    (tetrahedron cube 2) `V.snoc`
+    (tetrahedron cube 12) `V.snoc`
+    (tetrahedron cube 13) `V.snoc`
+    (tetrahedron cube 18) `V.snoc`
+    (tetrahedron cube 19)
 
 back_left_top_tetrahedra :: Cube -> V.Vector Tetrahedron
-back_left_top_tetrahedra  c =
-  V.singleton (tetrahedron c 0) `V.snoc`
-    (tetrahedron c 3) `V.snoc`
-    (tetrahedron c 6) `V.snoc`
-    (tetrahedron c 7) `V.snoc`
-    (tetrahedron c 20) `V.snoc`
-    (tetrahedron c 21)
+back_left_top_tetrahedra  cube =
+  V.singleton (tetrahedron cube 0) `V.snoc`
+    (tetrahedron cube 3) `V.snoc`
+    (tetrahedron cube 6) `V.snoc`
+    (tetrahedron cube 7) `V.snoc`
+    (tetrahedron cube 20) `V.snoc`
+    (tetrahedron cube 21)
 
 back_left_down_tetrahedra :: Cube -> V.Vector Tetrahedron
-back_left_down_tetrahedra  c =
-  V.singleton (tetrahedron c 8) `V.snoc`
-    (tetrahedron c 11) `V.snoc`
-    (tetrahedron c 14) `V.snoc`
-    (tetrahedron c 15) `V.snoc`
-    (tetrahedron c 22) `V.snoc`
-    (tetrahedron c 23)
+back_left_down_tetrahedra  cube =
+  V.singleton (tetrahedron cube 8) `V.snoc`
+    (tetrahedron cube 11) `V.snoc`
+    (tetrahedron cube 14) `V.snoc`
+    (tetrahedron cube 15) `V.snoc`
+    (tetrahedron cube 22) `V.snoc`
+    (tetrahedron cube 23)
 
 back_right_top_tetrahedra :: Cube -> V.Vector Tetrahedron
-back_right_top_tetrahedra  c =
-  V.singleton (tetrahedron c 4) `V.snoc`
-    (tetrahedron c 5) `V.snoc`
-    (tetrahedron c 9) `V.snoc`
-    (tetrahedron c 10) `V.snoc`
-    (tetrahedron c 16) `V.snoc`
-    (tetrahedron c 17)
+back_right_top_tetrahedra  cube =
+  V.singleton (tetrahedron cube 4) `V.snoc`
+    (tetrahedron cube 5) `V.snoc`
+    (tetrahedron cube 9) `V.snoc`
+    (tetrahedron cube 10) `V.snoc`
+    (tetrahedron cube 16) `V.snoc`
+    (tetrahedron cube 17)
 
 back_right_down_tetrahedra :: Cube -> V.Vector Tetrahedron
-back_right_down_tetrahedra  c =
-  V.singleton (tetrahedron c 8) `V.snoc`
-    (tetrahedron c 9) `V.snoc`
-    (tetrahedron c 13) `V.snoc`
-    (tetrahedron c 14) `V.snoc`
-    (tetrahedron c 17) `V.snoc`
-    (tetrahedron c 18)
+back_right_down_tetrahedra  cube =
+  V.singleton (tetrahedron cube 8) `V.snoc`
+    (tetrahedron cube 9) `V.snoc`
+    (tetrahedron cube 13) `V.snoc`
+    (tetrahedron cube 14) `V.snoc`
+    (tetrahedron cube 17) `V.snoc`
+    (tetrahedron cube 18)
 
 in_top_half :: Cube -> Point -> Bool
-in_top_half c (_,_,z) =
+in_top_half cube (_,_,z) =
   distance_from_top <= distance_from_bottom
   where
-    distance_from_top = abs $ (zmax c) - z
-    distance_from_bottom = abs $ (zmin c) - z
+    distance_from_top = abs $ (zmax cube) - z
+    distance_from_bottom = abs $ (zmin cube) - z
 
 in_front_half :: Cube -> Point -> Bool
-in_front_half c (x,_,_) =
+in_front_half cube (x,_,_) =
     distance_from_front <= distance_from_back
   where
-    distance_from_front = abs $ (xmin c) - x
-    distance_from_back = abs $ (xmax c) - x
+    distance_from_front = abs $ (xmin cube) - x
+    distance_from_back = abs $ (xmax cube) - x
 
 
 in_left_half :: Cube -> Point -> Bool
-in_left_half c (_,y,_) =
+in_left_half cube (_,y,_) =
     distance_from_left <= distance_from_right
   where
-    distance_from_left = abs $ (ymin c) - y
-    distance_from_right = abs $ (ymax c) - y
+    distance_from_left = abs $ (ymin cube) - y
+    distance_from_right = abs $ (ymax cube) - y
 
 
 -- | Takes a 'Cube', and returns the Tetrahedra belonging to it that
@@ -601,39 +596,39 @@ in_left_half c (_,y,_) =
 --   save us some unnecessary computations.
 --
 find_containing_tetrahedron :: Cube -> Point -> Tetrahedron
-find_containing_tetrahedron c p =
+find_containing_tetrahedron cube p =
   candidates `V.unsafeIndex` (fromJust lucky_idx)
   where
-    front_half = in_front_half c p
-    top_half = in_top_half c p
-    left_half = in_left_half c p
+    front_half = in_front_half cube p
+    top_half = in_top_half cube p
+    left_half = in_left_half cube p
 
     candidates =
       if front_half then
 
         if left_half then
           if top_half then
-            front_left_top_tetrahedra c
+            front_left_top_tetrahedra cube
           else
-            front_left_down_tetrahedra c
+            front_left_down_tetrahedra cube
         else
           if top_half then
-            front_right_top_tetrahedra c
+            front_right_top_tetrahedra cube
           else
-            front_right_down_tetrahedra c
+            front_right_down_tetrahedra cube
 
       else -- bottom half
 
         if left_half then
           if top_half then
-            back_left_top_tetrahedra c
+            back_left_top_tetrahedra cube
           else
-            back_left_down_tetrahedra c
+            back_left_down_tetrahedra cube
         else
           if top_half then
-            back_right_top_tetrahedra c
+            back_right_top_tetrahedra cube
           else
-            back_right_down_tetrahedra c
+            back_right_down_tetrahedra cube
 
     -- Use the dot product instead of 'distance' here to save a
     -- sqrt(). So, "distances" below really means "distances squared."
@@ -653,28 +648,28 @@ find_containing_tetrahedron c p =
 -- Quickcheck tests.
 
 prop_opposite_octant_tetrahedra_disjoint1 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint1 c =
-  disjoint (front_left_top_tetrahedra c) (front_right_down_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint1 cube =
+  disjoint (front_left_top_tetrahedra cube) (front_right_down_tetrahedra cube)
 
 prop_opposite_octant_tetrahedra_disjoint2 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint2 c =
-  disjoint (back_left_top_tetrahedra c) (back_right_down_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint2 cube =
+  disjoint (back_left_top_tetrahedra cube) (back_right_down_tetrahedra cube)
 
 prop_opposite_octant_tetrahedra_disjoint3 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint3 c =
-  disjoint (front_left_top_tetrahedra c) (back_right_top_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint3 cube =
+  disjoint (front_left_top_tetrahedra cube) (back_right_top_tetrahedra cube)
 
 prop_opposite_octant_tetrahedra_disjoint4 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint4 c =
-  disjoint (front_left_down_tetrahedra c) (back_right_down_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint4 cube =
+  disjoint (front_left_down_tetrahedra cube) (back_right_down_tetrahedra cube)
 
 prop_opposite_octant_tetrahedra_disjoint5 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint5 c =
-  disjoint (front_left_top_tetrahedra c) (back_left_down_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint5 cube =
+  disjoint (front_left_top_tetrahedra cube) (back_left_down_tetrahedra cube)
 
 prop_opposite_octant_tetrahedra_disjoint6 :: Cube -> Bool
-prop_opposite_octant_tetrahedra_disjoint6 c =
-  disjoint (front_right_top_tetrahedra c) (back_right_down_tetrahedra c)
+prop_opposite_octant_tetrahedra_disjoint6 cube =
+  disjoint (front_right_top_tetrahedra cube) (back_right_down_tetrahedra cube)
 
 
 -- | Since the grid size is necessarily positive, all tetrahedra