Commit before trying IntMap instead of vector for incidence graph

This commit is contained in:
2025-10-26 08:31:54 +00:00
parent 61910785c4
commit b8536e2929
7 changed files with 369291 additions and 187170 deletions
+1 -7
View File
@@ -55,16 +55,10 @@ getEdgesCrossing s e w = filter inedgecrosses $ nearSeg peZoneSize _incEdgeZonin
updateEdge ::
(Set.Set EdgeObstacle -> Set.Set EdgeObstacle) ->
(Int, Int) ->
-- V.Vector [(Int, SimpleEdge)] ->
-- V.Vector [(Int, SimpleEdge)]
V.Vector (IM.IntMap SimpleEdge) ->
V.Vector (IM.IntMap SimpleEdge)
{-# INLINE updateEdge #-}
updateEdge f (i, j) = ix i . ix j . seObstacles %~ f
--updateEdge f (i, j) = ix i . each %~ g
-- where
-- g (k, o)
-- | j == k = (k, o & seObstacles %~ f)
-- | otherwise = (k, o)
makePathUsing :: (Set.Set EdgeObstacle -> Bool) -> Point2 -> Point2 -> World -> Maybe [Int]
makePathUsing t s e w = do