@@ -12,25 +12,25 @@ SELECT spoint '(0.15,0.10)' @ :poly; -- point inside polygon
1212 t
1313(1 row)
1414
15- SELECT spoint '(0.20,0.00)' @ :poly; -- point contained polygon
15+ SELECT spoint '(0.20,0.00)' @ :poly; -- point contained polygon
1616 ?column?
1717----------
1818 t
1919(1 row)
2020
21- SELECT spoint '(0.10,0.10)' @ :poly; -- point contained polygon
21+ SELECT spoint '(0.10,0.10)' @ :poly; -- point contained polygon
2222 ?column?
2323----------
2424 t
2525(1 row)
2626
27- SELECT spoint '(0.25,0.50)' @ :poly; -- point outside polygon
27+ SELECT spoint '(0.25,0.50)' @ :poly; -- point outside polygon
2828 ?column?
2929----------
3030 f
3131(1 row)
3232
33- SELECT spoint '(0.25,0.00)' @ :poly; -- point outside polygon
33+ SELECT spoint '(0.25,0.00)' @ :poly; -- point outside polygon
3434 ?column?
3535----------
3636 f
@@ -42,13 +42,13 @@ SELECT scircle '<(0.15,0.10),0.03>' @ :poly; -- circle inside polygon
4242 t
4343(1 row)
4444
45- SELECT scircle '<(0.20,0.00),0.00>' @ :poly; -- circle contained polygon
45+ SELECT scircle '<(0.20,0.00),0.00>' @ :poly; -- circle contained polygon
4646 ?column?
4747----------
4848 t
4949(1 row)
5050
51- SELECT scircle '<(0.20,0.30),0.05>' @ :poly; -- circle outside polygon
51+ SELECT scircle '<(0.20,0.30),0.05>' @ :poly; -- circle outside polygon
5252 ?column?
5353----------
5454 f
@@ -72,13 +72,13 @@ SELECT scircle '<(0.15,0.10),0.03>' && :poly; -- circle inside polygon
7272 t
7373(1 row)
7474
75- SELECT scircle '<(0.20,0.00),0.00>' && :poly; -- circle contained polygon
75+ SELECT scircle '<(0.20,0.00),0.00>' && :poly; -- circle contained polygon
7676 ?column?
7777----------
7878 t
7979(1 row)
8080
81- SELECT scircle '<(0.20,0.30),0.05>' && :poly; -- circle outside polygon
81+ SELECT scircle '<(0.20,0.30),0.05>' && :poly; -- circle outside polygon
8282 ?column?
8383----------
8484 f
@@ -96,13 +96,13 @@ SELECT scircle '<(0.25,0.00),0.10>' && :poly; -- circle overlaps polyg
9696 t
9797(1 row)
9898
99- SELECT sline ( spoint '(0.00, 0.00)', spoint '(0.10,0.20)' ) @ :poly; -- line touches polygon
99+ SELECT sline ( spoint '(0.00, 0.00)', spoint '(0.10,0.20)' ) @ :poly; -- line touches polygon
100100 ?column?
101101----------
102102 f
103103(1 row)
104104
105- SELECT sline ( spoint '(0.00, 0.10)', spoint '(0.10,0.10)' ) @ :poly; -- line touches polygon
105+ SELECT sline ( spoint '(0.00, 0.10)', spoint '(0.10,0.10)' ) @ :poly; -- line touches polygon
106106 ?column?
107107----------
108108 f
@@ -114,7 +114,7 @@ SELECT sline ( spoint '(0.50, 0.00)', spoint '(0.50,0.20)' ) @ :poly; -- line
114114 f
115115(1 row)
116116
117- SELECT sline ( spoint '(0.10, 0.20)', spoint '(0.20,0.00)' ) @ :poly; -- line touches and inside polygon
117+ SELECT sline ( spoint '(0.10, 0.20)', spoint '(0.20,0.00)' ) @ :poly; -- line touches and inside polygon
118118 ?column?
119119----------
120120 t
@@ -138,13 +138,13 @@ SELECT sline ( spoint '(0.24, 0.17)', spoint '(0.25,0.14)' ) @ :poly; -- line
138138 t
139139(1 row)
140140
141- SELECT sline ( spoint '(0.00, 0.00)', spoint '(0.10,0.20)' ) && :poly; -- line touches polygon
141+ SELECT sline ( spoint '(0.00, 0.00)', spoint '(0.10,0.20)' ) && :poly; -- line touches polygon
142142 ?column?
143143----------
144144 t
145145(1 row)
146146
147- SELECT sline ( spoint '(0.00, 0.10)', spoint '(0.10,0.10)' ) && :poly; -- line touches polygon
147+ SELECT sline ( spoint '(0.00, 0.10)', spoint '(0.10,0.10)' ) && :poly; -- line touches polygon
148148 ?column?
149149----------
150150 t
@@ -156,7 +156,7 @@ SELECT sline ( spoint '(0.50, 0.00)', spoint '(0.50,0.20)' ) && :poly; -- line
156156 t
157157(1 row)
158158
159- SELECT sline ( spoint '(0.10, 0.20)', spoint '(0.20,0.00)' ) && :poly; -- line touches and inside polygon
159+ SELECT sline ( spoint '(0.10, 0.20)', spoint '(0.20,0.00)' ) && :poly; -- line touches and inside polygon
160160 ?column?
161161----------
162162 t
@@ -330,7 +330,32 @@ SELECT spoly_deg(ARRAY[10.0, 0.0, 10.0, 1.0, 15.0, 0.0]);
330330 {(10d , 0d),(10d , 1d),(15d , 0d)}
331331(1 row)
332332
333- -- incorrect input -----
333+ --- Constructors
334+ SELECT spoly(NULL::spoint[]);
335+ spoly
336+ -------
337+
338+ (1 row)
339+
340+ SELECT spoly(ARRAY[]::spoint[]);
341+ ERROR: spoly_deg: invalid number of arguments (must be >= 3)
342+ SELECT spoly(ARRAY[spoint_deg(0, 0)]);
343+ ERROR: spoly_deg: invalid number of arguments (must be >= 3)
344+ SELECT spoly(ARRAY[spoint_deg(0, 0), spoint_deg(10, 0)]);
345+ ERROR: spoly_deg: invalid number of arguments (must be >= 3)
346+ SELECT spoly(ARRAY[spoint_deg(0, 0), spoint_deg(10, 0), spoint_deg(10,10)]);
347+ spoly
348+ ------------------------------------
349+ {(0d , 0d),(10d , 0d),(10d , 10d)}
350+ (1 row)
351+
352+ SELECT spoly(ARRAY[spoint_deg(0, 0), spoint_deg(10, 0), spoint_deg(10,10), spoint_deg(0, 10)]);
353+ spoly
354+ -----------------------------------------------
355+ {(0d , 0d),(10d , 0d),(10d , 10d),(0d , 10d)}
356+ (1 row)
357+
358+ --- incorrect input -----
334359SELECT spoly '{(10d,0d),(10d,1d)}';
335360ERROR: spherepoly_in: more than two points needed
336361LINE 1: SELECT spoly '{(10d,0d),(10d,1d)}';
@@ -1185,7 +1210,7 @@ SELECT spoly '{(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)}' @ spoly '{(0d,89d)
11851210(1 row)
11861211
11871212--- spoly ~ spoly
1188- --- should be true
1213+ --- should be true
11891214SELECT spoly '{(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)}' ~ spoly '{(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)}';
11901215 ?column?
11911216----------
@@ -1254,7 +1279,7 @@ SELECT spoly '{(0d,89d),(90d,89d),(180d,89d),(270d,89d)}' ~ spoly '{(0d,-88d),(9
12541279(1 row)
12551280
12561281--- spoly && spoly
1257- --- should be true
1282+ --- should be true
12581283SELECT spoly '{(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)}' && spoly '{(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)}';
12591284 ?column?
12601285----------
@@ -1391,7 +1416,6 @@ SELECT spoly '{(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)}' && spoly '{(179d,-1d),(179d
13911416--
13921417-- ellipse and polygon
13931418--
1394-
13951419-- negators , commutator @,&&
13961420SELECT spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' @ sellipse '<{10d,5d},(280d,-20d),90d>';
13971421 ?column?
@@ -1538,49 +1562,49 @@ SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !&& spoly '{(280d,-11d),(280d,-12
15381562(1 row)
15391563
15401564-- ellipse is point
1541- SELECT spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' @ sellipse '<{0d,0d},(280d,-20d),90d>';
1565+ SELECT spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' @ sellipse '<{0d,0d},(280d,-20d),90d>';
15421566 ?column?
15431567----------
15441568 f
15451569(1 row)
15461570
1547- SELECT spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}' @ sellipse '<{0d,0d},(280d,-20d),90d>';
1571+ SELECT spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}' @ sellipse '<{0d,0d},(280d,-20d),90d>';
15481572 ?column?
15491573----------
15501574 f
15511575(1 row)
15521576
1553- SELECT spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' && sellipse '<{0d,0d},(280d,-20d),90d>';
1577+ SELECT spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' && sellipse '<{0d,0d},(280d,-20d),90d>';
15541578 ?column?
15551579----------
15561580 f
15571581(1 row)
15581582
1559- SELECT spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}' && sellipse '<{0d,0d},(280d,-20d),90d>';
1583+ SELECT spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}' && sellipse '<{0d,0d},(280d,-20d),90d>';
15601584 ?column?
15611585----------
15621586 t
15631587(1 row)
15641588
1565- SELECT sellipse '<{0d,0d},(280d,-20d),90d>' @ spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' ;
1589+ SELECT sellipse '<{0d,0d},(280d,-20d),90d>' @ spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' ;
15661590 ?column?
15671591----------
15681592 f
15691593(1 row)
15701594
1571- SELECT sellipse '<{0d,0d},(280d,-20d),90d>' @ spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}';
1595+ SELECT sellipse '<{0d,0d},(280d,-20d),90d>' @ spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}';
15721596 ?column?
15731597----------
15741598 t
15751599(1 row)
15761600
1577- SELECT sellipse '<{0d,0d},(280d,-20d),90d>' && spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' ;
1601+ SELECT sellipse '<{0d,0d},(280d,-20d),90d>' && spoly '{(280d, -9d),(280d, -8d),(279d, -8d)}' ;
15781602 ?column?
15791603----------
15801604 f
15811605(1 row)
15821606
1583- SELECT sellipse '<{0d,0d},(280d,-20d),90d>' && spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}';
1607+ SELECT sellipse '<{0d,0d},(280d,-20d),90d>' && spoly '{(280d,-11d),(280d,-20d),(279d, -12d)}';
15841608 ?column?
15851609----------
15861610 t
0 commit comments