# HG changeset patch # User Nicolas Saunier # Date 1308075264 14400 # Node ID b3a1c26e2f2219b8b3c69b8379d53ce7010a818b # Parent 9928c2fa72cca96bfe6d8887220b634a01d2c9dc corrected getObjectInInterval for MovingObject and timeintervals for TemporalIndicator diff -r 9928c2fa72cc -r b3a1c26e2f22 python/moving.py --- a/python/moving.py Mon Jun 13 16:50:40 2011 -0400 +++ b/python/moving.py Tue Jun 14 14:14:24 2011 -0400 @@ -359,11 +359,12 @@ def getObjectInTimeInterval(self, inter): '''Returns a new object extracted from self, restricted to time interval inter''' - if inter.inside(self.timeInterval): - inter = TimeInterval(inter.first-self.getFirstInstant(), inter.last-self.getFirstInstant()) - obj = MovingObject(self.num, inter, self.positions.getTrajectoryInInterval(inter), self.geometry, self.userType) + intersection = inter.intersection(self.getTimeInterval()) + if not intersection.empty(): + trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant()) + obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType) if self.velocities: - obj.velocities = self.velocities.getTrajectoryInInterval(inter) + obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval) return obj else: print 'The object does not exist at '+str(inter) @@ -481,7 +482,10 @@ def getTimeInterval(self): if not self.timeInterval and type(self.values)==dict: instants = self.values.keys() - self.timeInterval = TimeInterval(instants[0], instants[-1]) + if instants: + self.timeInterval = TimeInterval(instants[0], instants[-1]) + else: + self.timeInterval = TimeInterval() return self.timeInterval def getValues(self):