diff python/prediction.py @ 559:806df5f61c03

adapted safety-analysis script to use multi-threading
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 15 Jul 2014 01:25:33 -0400
parents b91f33e098ee
children a9c1d61a89b4
line wrap: on
line diff
--- a/python/prediction.py	Mon Jul 14 17:44:09 2014 -0400
+++ b/python/prediction.py	Tue Jul 15 01:25:33 2014 -0400
@@ -186,7 +186,11 @@
         commonTimeInterval = obj1.commonTimeInterval(obj2)
     if nProcesses == 1:
         for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors
-            i, collisionPoints[i], crossingZones[i] = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug)
+            i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug)
+            if len(cp) != 0:
+                collisionPoints[i] = cp
+            if len(cz) != 0:
+                 crossingZones[i] = cz
     else:
         from multiprocessing import Pool
         pool = Pool(processes = nProcesses)
@@ -196,8 +200,10 @@
         for j in jobs:
             i, cp, cz = j.get()
             #if len(cp) != 0 or len(cz) != 0:
-            collisionPoints[i] = cp
-            crossingZones[i] = cz
+            if len(cp) != 0:
+                collisionPoints[i] = cp
+            if len(cz) != 0:
+                crossingZones[i] = cz
         pool.close()
     return collisionPoints, crossingZones