--------------------------------------------------------------------------------
-- Copyright (C) 1997, 1998, 2008 Joern Dinkla, www.dinkla.net
--------------------------------------------------------------------------------
module Tests.Polys where

import Point2 (Point2 (..))
import Polygon (Polygon (..), Polygon2, vertices)

p42 = PolygonCCW (map Point2 [(0.0,0.0), (10.0,7.0), (12.0,3.0), (20.0,8.0), (13.0,17.0),
      (10.0,12.0), (12.0,14.0), (13.0,11.0), (7.0,11.0), (6.0,14.0), (10.0,15.0), (6.0,18.0),
      (-1.0,15.0), (1.0,13.0), (4.0,14.0), (5.0,10.0), (-2.0,9.0), (5.0,5.0)])

p44 = PolygonCCW (map Point2 [(0.0,10.0), (10.0,0.0), (20.0,10.0), (30.0,0.0), (40.0,10.0),
      (50.0,0.0), (50.0,10.0), (40.0,20.0), (30.0,10.0), (20.0,20.0), (10.0,10.0), (0.0,20.0)])

p53 = PolygonCCW (map Point2 [(9.0,0.0), (5.0,0.75), (4.5,1.25), (5.75,2.0), (6.0,3.0),
      (5.7,3.25), (4.5,3.5), (4.7,4.0), (8.5,4.3), (5.5,4.5), (10.0,5.5), (8.0,5.75), (6.0,6.5),
      (4.5,7.0), (4.5,8.0), (5.0,9.0), (1.5,6.25), (4.0,6.0), (4.5,5.5), (4.0,4.5), (3.0,4.0),
      (3.5,2.5), (5.5,2.3), (2.5,0.5), (1.0,0.3)])

p59 = PolygonCCW (map Point2 [(10.0,0.0), (13.0,7.0), (14.0,11.0), (17.0,12.0), (13.0,14.0),
      (9.0,13.0), (9.0,18.0), (6.0,15.0), (3.0,18.0), (1.0,14.0), (4.0,15.0), (8.0,10.0), (4.0,12.0),
      (4.0,7.0), (7.0,9.0)])

p50 = PolygonCCW (map Point2 [(10.0,6.0), (8.0,6.5), (7.5,11.0), (6.0,10.0), (4.0,11.0),
      (2.0,10.0), (3.0,8.0), (2.5,5.0), (1.0,7.0), (0.0,3.0), (2.0,0.0), (4.0,2.0), (6.5,0.0),
      (6.0,4.0), (9.5,3.0)])

p00 :: (Num a, Eq a) => Polygon2 a
p00 = PolygonCCW (map Point2 [(1,6), (2,2), (8,1), (7,2), (2,3), (3,5), (3,6), (6,5),
        (4,5), (6,3), (8,2), (6,7), (4,7), (7,8), (8,5), (10,2), (8,9), (5,10)])

p01 :: (Num a, Eq a) => Polygon2 a
p01 = PolygonCCW (map Point2 [
       (6,5), (6,3), (5,6), (5,5), (5,4),
       (3,5), (3,4), (3,3), (1,4), (1,1),
       (2,1), (2,2), (3,2), (3,1), (4,1),
       (4,2), (4,3), (5,3), (5,2), (5,1),
       (6,1), (6,2), (7,2), (7,3), (8,3),
       (9,1), (10,4), (11,3), (10,2), (11,1),
       (12,2), (12,10), (9,10), (7,10), (6,9),
       (7,8), (9,9), (11,7), (11,5), (9,6),
       (9,8), (7,6), (7,7), (6,7), (4,9),
       (4,8), (4,7), (3,8), (3,7), (2,8),
       (2,7), (1,8), (1,7), (1,6), (2,5),
       (3,6), (5,7), (7,5), (9,4), (7,4) ])

p02 :: (Num a, Eq a) => Polygon2 a
p02 = PolygonCCW (map Point2 [
       (1,1), (2,1), (3,1), (3,2), (3,3), (2,3), (1,3), (1,2)])

