Separate Clouds and Dust
This commit is contained in:
@@ -26,3 +26,24 @@ zoneOfCl = zoneOfPoint clZoneSize . xyV3 . _clPos
|
||||
|
||||
zoneCloud :: Cloud -> IM.IntMap (IM.IntMap [Cloud]) -> IM.IntMap (IM.IntMap [Cloud])
|
||||
zoneCloud cl = zoneMonoid (zoneOfCl cl) [cl]
|
||||
|
||||
dssNearPoint :: Point2 -> World -> [Dust]
|
||||
dssNearPoint = nearPoint dsZoneSize _dsZoning
|
||||
|
||||
dssNearSeg :: Point2 -> Point2 -> World -> [Dust]
|
||||
dssNearSeg = nearSeg dsZoneSize _dsZoning
|
||||
|
||||
dssNearRect :: Point2 -> Point2 -> World -> [Dust]
|
||||
dssNearRect = nearRect dsZoneSize _dsZoning
|
||||
|
||||
dssNearCirc :: Point2 -> Float -> World -> [Dust]
|
||||
dssNearCirc p r = dssNearRect (p +.+ V2 r r) (p -.- V2 r r)
|
||||
|
||||
dsZoneSize :: Float
|
||||
dsZoneSize = 20
|
||||
|
||||
zoneOfDs :: Dust -> Int2
|
||||
zoneOfDs = zoneOfPoint dsZoneSize . xyV3 . _dsPos
|
||||
|
||||
zoneDust :: Dust -> IM.IntMap (IM.IntMap [Dust]) -> IM.IntMap (IM.IntMap [Dust])
|
||||
zoneDust cl = zoneMonoid (zoneOfDs cl) [cl]
|
||||
|
||||
Reference in New Issue
Block a user