20 lines
548 B
Haskell
20 lines
548 B
Haskell
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE StrictData #-}
|
|
module Dodge.Data.Zoning where
|
|
import Geometry.Data
|
|
import Control.Lens
|
|
import qualified IntMapHelp as IM
|
|
import qualified Data.IntSet as IS
|
|
import StreamingHelp
|
|
|
|
data Zoning t a = Zoning
|
|
{ _znObjects :: IM.IntMap (IM.IntMap (t a))
|
|
, _znSize :: Float
|
|
, _znFunc :: Float -> a -> StreamOf Int2
|
|
-- , _znInsert :: a -> t a -> t a
|
|
}
|
|
newtype CrZoning = CrZoning {_getCrZoning :: IM.IntMap (IM.IntMap IS.IntSet)}
|
|
|
|
makeLenses ''Zoning
|
|
makeLenses ''CrZoning
|