comparison python/moving.py @ 97:b3a1c26e2f22

corrected getObjectInInterval for MovingObject and timeintervals for TemporalIndicator
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 14 Jun 2011 14:14:24 -0400
parents 9928c2fa72cc
children b85912ab4064
comparison
equal deleted inserted replaced
96:9928c2fa72cc 97:b3a1c26e2f22
357 # compute bounding polygon from trajectory 357 # compute bounding polygon from trajectory
358 358
359 def getObjectInTimeInterval(self, inter): 359 def getObjectInTimeInterval(self, inter):
360 '''Returns a new object extracted from self, 360 '''Returns a new object extracted from self,
361 restricted to time interval inter''' 361 restricted to time interval inter'''
362 if inter.inside(self.timeInterval): 362 intersection = inter.intersection(self.getTimeInterval())
363 inter = TimeInterval(inter.first-self.getFirstInstant(), inter.last-self.getFirstInstant()) 363 if not intersection.empty():
364 obj = MovingObject(self.num, inter, self.positions.getTrajectoryInInterval(inter), self.geometry, self.userType) 364 trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant())
365 obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType)
365 if self.velocities: 366 if self.velocities:
366 obj.velocities = self.velocities.getTrajectoryInInterval(inter) 367 obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval)
367 return obj 368 return obj
368 else: 369 else:
369 print 'The object does not exist at '+str(inter) 370 print 'The object does not exist at '+str(inter)
370 return None 371 return None
371 372
479 return self.values.values()[self.iterInstantNum-1] 480 return self.values.values()[self.iterInstantNum-1]
480 481
481 def getTimeInterval(self): 482 def getTimeInterval(self):
482 if not self.timeInterval and type(self.values)==dict: 483 if not self.timeInterval and type(self.values)==dict:
483 instants = self.values.keys() 484 instants = self.values.keys()
484 self.timeInterval = TimeInterval(instants[0], instants[-1]) 485 if instants:
486 self.timeInterval = TimeInterval(instants[0], instants[-1])
487 else:
488 self.timeInterval = TimeInterval()
485 return self.timeInterval 489 return self.timeInterval
486 490
487 def getValues(self): 491 def getValues(self):
488 if self.timeInterval: 492 if self.timeInterval:
489 return self.values 493 return self.values