-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRegion.hs
More file actions
33 lines (25 loc) · 749 Bytes
/
Region.hs
File metadata and controls
33 lines (25 loc) · 749 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-- file Haskell/Graphic/Region.hs
module Region ( Region( Shape
, Translate
, Scale
, Complement
, Union
, Intersect
, Empty )
, Coordinate
, containsS
, containsR
, module Shape
) where
import Shape
data Region = Shape Shape
| Translate Vector Region
| Scale Vector Region
| Complement Region
| Region `Union` Region
| Region `Intersect` Region
| Empty
deriving (Show)
type Vector = (Float,Float)
infixr 5 `Union`
infixr 6 `Intersect`