Mercurial Hosting > traffic-intelligence
diff trafficintelligence/tests/moving.txt @ 1170:b55adb13f262
added functions on line crossing orientation and important reorganization and cleaning of related code
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 27 Sep 2021 14:05:33 -0400 |
parents | 4b2a55d570c1 |
children | aa88acf06876 |
line wrap: on
line diff
--- a/trafficintelligence/tests/moving.txt Mon Jul 19 11:25:16 2021 -0400 +++ b/trafficintelligence/tests/moving.txt Mon Sep 27 14:05:33 2021 -0400 @@ -90,12 +90,42 @@ ((1.0...,1.0...), (10.0...,10.0...)) >>> segmentIntersection(Point(0,0), Point(0,1), Point(1,1), Point(2,3)) +(None, None) >>> segmentIntersection(Point(0,1), Point(0,3), Point(1,0), Point(3,1)) +(None, None) >>> segmentIntersection(Point(0.,0.), Point(2.,2.), Point(0.,2.), Point(2.,0.)) -(1.000000,1.000000) +((1.000000,1.000000), 0.5) >>> segmentIntersection(Point(0,0), Point(4,4), Point(0,4), Point(4,0)) -(2.000000,2.000000) +((2.000000,2.000000), 0.5) +>>> segmentIntersection(Point(0,0), Point(0,3), Point(1,1), Point(-1,1)) # doctest:+ELLIPSIS +((0.000000,1.000000), 0.333...) >>> segmentIntersection(Point(0,1), Point(1,2), Point(2,0), Point(3,2)) +(None, None) + +>>> segmentOrientationCrossing(Point(0.,0.), Point(2.,2.), Point(0.,2.), Point(2.,0.)) +False +>>> segmentOrientationCrossing(Point(0.,0.), Point(2.,2.), Point(2.,0.), Point(0.,2.)) +True +>>> segmentOrientationCrossing(Point(0,0), Point(0,3), Point(1,1), Point(-1,1)) +True + +>>> o1 = MovingObject.generate(1, Point(1.,0.), Point(1.,0.), TimeInterval(0,10)) +>>> instants, intersections, rightToLeftOrientations = o1.getInstantsCrossingLine(Point(0.,3.5), Point(2.,3.5)) +>>> rightToLeftOrientations == [] +True +>>> len(instants) +0 +>>> o1 = MovingObject.generate(1, Point(0.,1.), Point(1.,0.), TimeInterval(0,10)) +>>> instants, intersections, rightToLeftOrientations = o1.getInstantsCrossingLine(Point(3.5,0.), Point(3.5, 2.), False) +>>> rightToLeftOrientations == [] +True +>>> instants[0] +3.5 +>>> instants, intersections, rightToLeftOrientations = o1.getInstantsCrossingLine(Point(3.5,0.), Point(3.5, 2.), True) +>>> len(rightToLeftOrientations) +1 +>>> rightToLeftOrientations[0] +False >>> t1 = Trajectory.fromPointList([(92.2, 102.9), (56.7, 69.6)]) >>> t2 = Trajectory.fromPointList([(92.2, 102.9), (56.7, 69.6)])