X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FGrid.hs;h=e4f3d62b9a661df068ec80e837fc9d7289734ea4;hb=f3d720f107f74b07a5f9f96e6a7c9c7a9022aeb0;hp=fcdeb5e6246c9b8525424e9486938886e7aa929e;hpb=769784e81d7fb70a131cd0523ff41e1cb56f4768;p=spline3.git diff --git a/src/Grid.hs b/src/Grid.hs index fcdeb5e..e4f3d62 100644 --- a/src/Grid.hs +++ b/src/Grid.hs @@ -71,8 +71,9 @@ cubes delta fvs j <- [0..ymax], k <- [0..zmax], let tet_vol = (1/24)*(delta^(3::Int)), + let fvs' = make_values fvs i j k, let cube_ijk = - Cube delta i j k (make_values fvs i j k) tet_vol] + Cube delta i j k fvs' tet_vol] where xmax = xsize - 1 ymax = ysize - 1 @@ -148,7 +149,6 @@ zoom_result g (sfx, sfy, sfz) (R.Z R.:. m R.:. n R.:. o) = o' = (fromIntegral o) / (fromIntegral sfz) - offset p = (m', n', o') :: Point cube = find_containing_cube g p - -- Figure out i,j,k without importing those functions. t = find_containing_tetrahedron cube p f = polynomial t @@ -156,7 +156,7 @@ zoom :: Grid -> ScaleFactor -> Values3D zoom g scale_factor | xsize == 0 || ysize == 0 || zsize == 0 = empty3d | otherwise = - R.force $ R.traverse arr transExtent (zoom_lookup g scale_factor) + R.force $ R.unsafeTraverse arr transExtent (zoom_lookup g scale_factor) where arr = function_values g (xsize, ysize, zsize) = dims arr