From: Matthias B. <mb...@us...> - 2005-06-06 12:51:16
|
Update of /cvsroot/pyode/pyode/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21509/src Modified Files: space.pyx Log Message: Added an iterator to iterate over the geoms in a space Index: space.pyx =================================================================== RCS file: /cvsroot/pyode/pyode/src/space.pyx,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** space.pyx 15 Nov 2004 20:16:03 -0000 1.5 --- space.pyx 6 Jun 2005 12:50:59 -0000 1.6 *************** *** 20,23 **** --- 20,44 ---- ###################################################################### + # _SpaceIterator + class _SpaceIterator: + """Iterates over the geoms inside a Space. + """ + + def __init__(self, space): + self.space = space + self.idx = 0 + + def __iter__(self): + return self + + def next(self): + if self.idx>=self.space.getNumGeoms(): + raise StopIteration + else: + res = self.space.getGeom(self.idx) + self.idx = self.idx+1 + return res + + # SpaceBase cdef class SpaceBase(GeomObject): *************** *** 82,85 **** --- 103,109 ---- return id + def __iter__(self): + return _SpaceIterator(self) + def add(self, GeomObject geom): """add(geom) *************** *** 163,167 **** data = <void*>tup dSpaceCollide(self.sid, data, collide_callback) ! # Callback function for the dSpaceCollide() call in the Space.collide() method --- 187,191 ---- data = <void*>tup dSpaceCollide(self.sid, data, collide_callback) ! # Callback function for the dSpaceCollide() call in the Space.collide() method |