@@ -340,6 +340,13 @@ def test_are_parallel(self):
340
340
341
341
_line = line2 .Line2 (vector2 .Vector2 (5 , 4 ), vector2 .Vector2 (3 , 1 ))
342
342
self .assertTrue (line2 .Line2 .are_parallel (self .line_1_1_3_4 , _line ))
343
+
344
+ def test_contains_point (self ):
345
+ self .assertFalse (line2 .Line2 .contains_point (self .line_origin_1_1 , self .vec_1_1 , self .vec_1_2 ))
346
+ self .assertTrue (line2 .Line2 .contains_point (self .line_origin_1_1 , self .vec_1_1 ))
347
+ self .assertTrue (line2 .Line2 .contains_point (self .line_1_1_3_4 , vector2 .Vector2 (2 , 2.5 )))
348
+ self .assertFalse (line2 .Line2 .contains_point (self .line_1_1_3_4 , vector2 .Vector2 (2 , 2.5 ), vector2 .Vector2 (1 , 0 )))
349
+ self .assertTrue (line2 .Line2 .contains_point (line2 .Line2 (vector2 .Vector2 (- 3 , - 3 ), vector2 .Vector2 (6 , 3 )), vector2 .Vector2 (3 , 1 )))
343
350
344
351
def _find_intr_fuzzer (self , v1 , v2 , v3 , v4 , exp_touching , exp_overlap , exp_intr , number_fuzzes = 3 ):
345
352
for i in range (number_fuzzes ):
@@ -1806,7 +1813,7 @@ def _calc_one_moving_one_stat_distlimit_fuzzer(self, poly1tup, vel1tuporvec, pol
1806
1813
return intr , msg
1807
1814
1808
1815
def test_one_moving_one_stationary_distlimit_no_intr (self ):
1809
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1816
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1810
1817
1811
1818
# am01
1812
1819
intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (1 , 0 ), ((2 , 0 ), (3 , 1 ), (4 , 0 )), 4 )
@@ -1821,18 +1828,18 @@ def test_one_moving_one_stationary_distlimit_no_intr(self):
1821
1828
self .assertFalse (intr , msg = msg )
1822
1829
1823
1830
# am04
1824
- intr , msg = fn (((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), (- 2 , 1 ), ((4.175 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), self .pt (- 2 , 1 ).magnitude ())
1831
+ intr , msg = fn (((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), (- 2 , 1 ), ((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), self .pt (- 2 , 1 ).magnitude ())
1825
1832
self .assertFalse (intr , msg = msg )
1826
1833
1827
1834
def test_one_moving_one_stationary_distlimit_touching (self ):
1828
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1835
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1829
1836
1830
1837
# an01
1831
- intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (5 , - 1.25 ), ((3 , 1 ), (4 , 1 ), (3 , 0 ), (4 , 0 )), self .pt (5 , - 1.25 ).magnitude ())
1838
+ intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (5 , - 1.25 ), ((3 , 1 ), (4 , 1 ), (4 , 0 ), (3 , 0 )), self .pt (5 , - 1.25 ).magnitude ())
1832
1839
self .assertFalse (intr , msg = msg )
1833
1840
1834
1841
# an02
1835
- intr , msg = fn (((1 , 3 ), (2 , 3 ), (1 , 2 ), (2 , 2 )), (4 , 0 ), ((1 , 0 ), (2 , 1 ), (4 , 2 ), (5 , 0 )), 4 )
1842
+ intr , msg = fn (((1 , 3 ), (2 , 3 ), (2 , 2 ), (1 , 2 )), (4 , 0 ), ((1 , 0 ), (2 , 1 ), (4 , 2 ), (5 , 0 )), 4 )
1836
1843
self .assertFalse (intr , msg = msg )
1837
1844
1838
1845
# an03
@@ -1844,7 +1851,7 @@ def test_one_moving_one_stationary_distlimit_touching(self):
1844
1851
self .assertFalse (intr , msg = msg )
1845
1852
1846
1853
def test_one_moving_one_stationary_distlimit_intr_at_start (self ):
1847
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1854
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1848
1855
1849
1856
# ao01
1850
1857
intr , msg = fn (((3 , 3 ), (4 , 3 ), (4 , 1 ), (3 , 1 )), (2 , 0 ), ((3 , 1 ), (4 , 1 ), (4 , 0 ), (3 , 0 )), 2 )
@@ -1863,7 +1870,7 @@ def test_one_moving_one_stationary_distlimit_intr_at_start(self):
1863
1870
self .assertTrue (intr , msg = msg )
1864
1871
1865
1872
def test_one_moving_one_stationary_distlimit_intr_later (self ):
1866
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1873
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1867
1874
1868
1875
# ap01
1869
1876
intr , msg = fn (((2 , 3 ), (3 , 3 ), (3 , 2 ), (2 , 2 )), (5 , 4 ), ((3 , 5 ), (4 , 5 ), (4 , 4 ), (3 , 4 )), self .pt (5 , 4 ).magnitude ())
@@ -1882,7 +1889,7 @@ def test_one_moving_one_stationary_distlimit_intr_later(self):
1882
1889
self .assertTrue (intr , msg = msg )
1883
1890
1884
1891
def test_one_moving_one_stationary_distlimit_touch_at_limit (self ):
1885
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1892
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1886
1893
1887
1894
# aq01
1888
1895
intr , msg = fn (((0 , 1 ), (1 , 1 ), (1 , 0 ), (0 , 0 )), (4 , 3 ), ((3 , 5 ), (4 , 5 ), (4 , 4 ), (3 , 4 )), self .pt (4 , 3 ).magnitude ())
@@ -1901,7 +1908,7 @@ def test_one_moving_one_stationary_distlimit_touch_at_limit(self):
1901
1908
self .assertFalse (intr , msg = msg )
1902
1909
1903
1910
def test_one_moving_one_stationary_distlimit_intr_after_limit (self ):
1904
- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1911
+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
1905
1912
1906
1913
# ar01
1907
1914
intr , msg = fn (((0 , 1 ), (1 , 1 ), (1 , 0 ), (0 , 0 )), (4 , 3 ), ((5.5 , 5.5 ), (6.5 , 5.5 ), (6.5 , 4.5 ), (5.5 , 4.5 )), self .pt (4 , 3 ).magnitude ())
@@ -1923,7 +1930,9 @@ def test_one_moving_one_stationary_distlimit_intr_after_limit(self):
1923
1930
def _calc_one_moving_one_stat_along_path_fuzzer (self , poly1tup , pos1tuporvec , pos2tuporvec , poly2tup , reverse = False ):
1924
1931
# i generated a few polygons in the wrong order when making these tests
1925
1932
if reverse :
1933
+ poly1tup = list (p for p in poly1tup )
1926
1934
poly1tup .reverse ()
1935
+ poly2tup = list (p for p in poly2tup )
1927
1936
poly2tup .reverse ()
1928
1937
1929
1938
fn = self .extr_intr .calculate_one_moving_one_stationary_along_path
@@ -1956,34 +1965,34 @@ def test_one_moving_one_stationary_along_path_no_intr(self):
1956
1965
self .assertFalse (intr , msg = msg )
1957
1966
1958
1967
# as02
1959
- intr , msg = fn (((11 , 5 ), (8 , 8 ), (7 , 7 ), (6 , 3 ), (9 , 3 ), ( 11 , 5 )) , (0 , 0 ), (- 1 , - 3 ), ((3.5 , 8.5 ), ( 1 .5 , 8.5 ), (1.5 , 8.5 ), (- 0.5 , 7.5 ), (0.5 , 3.5 ), (1.5 , 2.5 ), (4.5 , 2.5 ), (5.5 , 6.5 )), reverse = True )
1968
+ intr , msg = fn (((11 , 5 ), (8 , 8 ), (7 , 7 ), (6 , 3 ), (9 , 3 )) , (0 , 0 ), (- 1 , - 3 ), ((3.5 , 8.5 ), (1.5 , 8.5 ), (- 0.5 , 7.5 ), (0.5 , 3.5 ), (1.5 , 2.5 ), (4.5 , 2.5 ), (5.5 , 6.5 )), reverse = True )
1960
1969
self .assertFalse (intr , msg = msg )
1961
1970
1962
1971
# as03
1963
- intr , msg = fn (((0.5 , 9.0 ), (- 1.5 , 8.0 ), (- 1.5 , 6.0 ), (1.5 , 5.0 ), (2.5 , 5.0 ), (2.5 , 9.0 )), (0 , 0 ), (0 , 5 ), ((7.0 , 6.0 ), (4.0 , 5.0 ), (4.0 , 3.0 ), (6.0 , 2.0 ), (8.0 , 3.0 ), ( 7.0 , 6.0 ) ), reverse = True )
1972
+ intr , msg = fn (((0.5 , 9.0 ), (- 1.5 , 8.0 ), (- 1.5 , 6.0 ), (1.5 , 5.0 ), (2.5 , 5.0 ), (2.5 , 9.0 )), (0 , 0 ), (0 , 5 ), ((7.0 , 6.0 ), (4.0 , 5.0 ), (4.0 , 3.0 ), (6.0 , 2.0 ), (8.0 , 3.0 )), reverse = True )
1964
1973
self .assertFalse (intr , msg = msg )
1965
1974
1966
1975
# as04
1967
- intr , msg = fn (((5.5 , 4.5 ), (3.5 , - 1.5 ), (9.5 , - 1.5 ), (10.5 , 0.5 )), (0 , 0 ), (- 4 , 0 ), ((7.5 , 8.5 ), (7.5 , 8.5 ), ( 6.5 , 5.5 ), (7.5 , 4.5 ), (9.5 , 4.5 ), (10.5 , 7.5 )), reverse = True )
1976
+ intr , msg = fn (((5.5 , 4.5 ), (3.5 , - 1.5 ), (9.5 , - 1.5 ), (10.5 , 0.5 )), (0 , 0 ), (- 4 , 0 ), ((7.5 , 8.5 ), (6.5 , 5.5 ), (7.5 , 4.5 ), (9.5 , 4.5 ), (10.5 , 7.5 )), reverse = True )
1968
1977
self .assertFalse (intr , msg = msg )
1969
1978
1970
1979
def test_one_moving_one_stationary_along_path_touching (self ):
1971
1980
fn = self ._calc_one_moving_one_stat_along_path_fuzzer
1972
1981
1973
1982
# at01
1974
- intr , msg = fn (((3 , 10 ), (2 , 10 ), (1 , 8 ), (2 , 6 ), (2 , 6 ), ( 5 , 6 ), (7 , 8 )), (0 , 0 ), (8 , 0 ), ((10 , 5 ), (8 , 6 ), (6 , 5 ), (6 , 4 ), (7 , 2 ), (10 , 4 )), reverse = True )
1983
+ intr , msg = fn (((3 , 10 ), (2 , 10 ), (1 , 8 ), (2 , 6 ), (5 , 6 ), (7 , 8 )), (0 , 0 ), (8 , 0 ), ((10 , 5 ), (8 , 6 ), (6 , 5 ), (6 , 4 ), (7 , 2 ), (10 , 4 )), reverse = True )
1975
1984
self .assertFalse (intr , msg = msg )
1976
1985
1977
1986
# at02
1978
- intr , msg = fn (((5 , 5 ), (4 , 5 ), (2 , 0 ), (4 , - 1 ), (6 , 0 ), ( 5 , 5 ) ), (0 , 0 ), (- 5 , 0 ), ((2 , 11 ), (- 2 , 8 ), (2 , 5 ), (3 , 6 ), (3 , 11 )), reverse = True )
1987
+ intr , msg = fn (((5 , 5 ), (4 , 5 ), (2 , 0 ), (4 , - 1 ), (6 , 0 )), (0 , 0 ), (- 5 , 0 ), ((2 , 11 ), (- 2 , 8 ), (2 , 5 ), (3 , 6 ), (3 , 11 )), reverse = True )
1979
1988
self .assertFalse (intr , msg = msg )
1980
1989
1981
1990
# at03
1982
- intr , msg = fn ((9.5 , 8.5 ), (8.5 , 7.5 ), (9.5 , 5 ), (10.5 , 7 )), (0 , 0 ), (- 9 , - 9 ), ((2 , 5 ), (- 1 , 5 ), (- 2 , 3 ), (2 , 1 ), (3 , 2 )), reverse = True )
1991
+ intr , msg = fn ((( 9.5 , 8.5 ), (8.5 , 7.5 ), (9.5 , 5 ), (10.5 , 7 )), (0 , 0 ), (- 9 , - 9 ), ((2 , 5 ), (- 1 , 5 ), (- 2 , 3 ), (2 , 1 ), (3 , 2 )), reverse = True )
1983
1992
self .assertFalse (intr , msg = msg )
1984
1993
1985
1994
# at04
1986
- intr , msg = fn (((4.5 , 4 ), (0.5 , 2 ), (0.5 , 1 ), (0.5 , 0 ), (2.5 , - 2 ), (3.5 , - 2 ), (5.5 , - 1 ), ( 4.5 , 4 )) , (0 , 0 ), (6.7492919018596025 , 4.29500393754702 ), ((8 , 8.5 ), (5 , 9.5 ), (4 , 8.5 ), ( 6 , 5 .5 ), (6 , 5.5 )), reverse = True )
1995
+ intr , msg = fn (((4.5 , 4 ), (0.5 , 2 ), (0.5 , 1 ), (0.5 , 0 ), (2.5 , - 2 ), (3.5 , - 2 ), (5.5 , - 1 )) , (0 , 0 ), (6.7492919018596025 , 4.29500393754702 ), ((8 , 8.5 ), (5 , 9.5 ), (4 , 8.5 ), (6 , 5.5 )), reverse = True )
1987
1996
self .assertFalse (intr , msg = msg )
1988
1997
1989
1998
def test_one_moving_one_stationary_along_path_intr_at_start (self ):
0 commit comments