diff trafficintelligence/moving.py @ 1079:845d694af7b8

reversed minor bug
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 20 Jul 2018 16:36:42 -0400
parents 3939ae415be0
children 346b41cbc81a
line wrap: on
line diff
--- a/trafficintelligence/moving.py	Fri Jul 20 16:26:57 2018 -0400
+++ b/trafficintelligence/moving.py	Fri Jul 20 16:36:42 2018 -0400
@@ -1161,7 +1161,7 @@
         # compute bounding polygon from trajectory
         
     @staticmethod
-    def cropedTimeInterval(obj, value, after = True):
+    def croppedTimeInterval(obj, value, after = True):
         newTimeInterval = TimeInterval(obj.getFirstInstant(), min(value, obj.getLastInstant())) if after else TimeInterval(max(obj.getFirstInstant(), value), obj.getLastInstant())
         if obj.positions is not None :
             newPositions = obj.positions[slice(newTimeInterval.first, newTimeInterval.last+1)]
@@ -1171,15 +1171,15 @@
             newVelocities = obj.velocities[slice(newTimeInterval.first, newTimeInterval.last+1)]
         else:
             newVelocities = None
-        if obj.features is not None :
-            newFeatures = [f.cropedTimeInterval(value, after) for f in obj.features]
+        if obj.hasFeatures():
+            newFeatures = [f.croppedTimeInterval(value, after) for f in obj.features]
         else:
             newFeatures = None
         res = MovingObject(obj.getNum(), newTimeInterval, newPositions, newVelocities, obj.geometry, obj.userType, obj.nObjects)
         res.features = newFeatures
         res.featureNumbers = obj.featureNumbers
-        if hasattr(obj, 'projectedPositions'):
-            res.projectedPositions = obj.projectedPositions[slice(newTimeInterval.first, newTimeInterval.last+1)]
+        #if hasattr(obj, 'projectedPositions'):
+        #    res.projectedPositions = obj.projectedPositions[slice(newTimeInterval.first, newTimeInterval.last+1)]
         return res
 
 
@@ -1224,7 +1224,7 @@
         commonTimeInterval = obj1.commonTimeInterval(obj2)
         if commonTimeInterval.empty():
             #print('The two objects\' time intervals do not overlap: obj1 {} and obj2 {}'.format(obj1.getTimeInterval(), obj2.getTimeInterval()))
-            emptyInterval = TimeInterval(min(obj1.getLastInstant(),obj2.getLastInstant()), max(obj1.getFirstInstant(),obj2.getFirstInstant())+1)
+            emptyInterval = TimeInterval(min(obj1.getLastInstant(),obj2.getLastInstant()), max(obj1.getFirstInstant(),obj2.getFirstInstant()))
             if obj1.existsAtInstant(emptyInterval.last):
                 firstObject = obj2
                 secondObject = obj1
@@ -1237,7 +1237,7 @@
             featurePositions = Trajectory()
             featureVelocities = Trajectory()
             p = firstObject.getPositionAtInstant(emptyInterval.first)+v
-            for t in range(emptyInterval.first+1, emptyInterval.last+1):
+            for t in range(emptyInterval.first+1, emptyInterval.last):
             	positions.addPosition(p)
             	velocities.addPosition(v)
             	featurePositions.addPosition(p)