changeset 1116:a3982d591a61

placeholder implementation for interpolateCurvilinearPositions
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 24 Jun 2019 22:34:36 -0400
parents cef7aa2f9931
children bb58506c1bfd
files trafficintelligence/moving.py trafficintelligence/tests/moving.txt
diffstat 2 files changed, 5 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/trafficintelligence/moving.py	Sat Jun 22 23:33:01 2019 -0400
+++ b/trafficintelligence/moving.py	Mon Jun 24 22:34:36 2019 -0400
@@ -1447,7 +1447,7 @@
         else:
             print('Object {} has no curvilinear positions'.format(self.getNum()))
 
-    def interpolateCurvilinearPositions(self, t):
+    def interpolateCurvilinearPositions(self, t, alignments = None):
         '''Linear interpolation of curvilinear positions, t being a float'''
         if hasattr(self, 'curvilinearPositions'):
             if self.existsAtInstant(t):
@@ -1456,13 +1456,11 @@
                 p2 = self.getCurvilinearPositionAtInstant(i+1)
                 if p1[2] == p2[2]:
                     alpha = t-float(i)
-                    # if alpha < 0.5:
-                    #     lane = p1[2]
-                    # else:
-                    #     lane = p2[2]
                     return [(1-alpha)*p1[0]+alpha*p2[0], (1-alpha)*p1[1]+alpha*p2[1], p1[2]]
+                elif alignments is not None:
+                    pass # TODO
                 else:
-                    print('Object {} changes lane at {}'.format(self.getNum(), t))
+                    print('Object {} changes lane at {} and alignments are not provided'.format(self.getNum(), t))
             else:
                 print('Object {} does not exist at {}'.format(self.getNum(), t))
         else:
--- a/trafficintelligence/tests/moving.txt	Sat Jun 22 23:33:01 2019 -0400
+++ b/trafficintelligence/tests/moving.txt	Mon Jun 24 22:34:36 2019 -0400
@@ -232,7 +232,7 @@
 >>> o.interpolateCurvilinearPositions(9.7) # doctest:+ELLIPSIS
 [11.7..., 0.0..., 'b']
 >>> o.interpolateCurvilinearPositions(10.7)
-Object 0 changes lane at 10.7
+Object 0 changes lane at 10.7 and alignments are not provided
 >>> t2 = CurvilinearTrajectory.generate(0, 1., 10, 'a', 1.)
 
 >>> t1 = CurvilinearTrajectory.generate(3, 1., 10, 'b')