[Bf-committers] Re: [Bf-blender-cvs] CVS commit: blender/source/blender/python/api2_2x Mesh.h Mesh.c

Martin Poirier theeth at yahoo.com
Fri Sep 22 14:27:14 CEST 2006



--- Campbell Barton <cbarton at metavr.com> wrote:

> campbellbarton (Campbell Barton) 2006/09/22 12:08:41
> CEST
> 
>   Modified files:
>     blender/source/blender/python/api2_2x Mesh.h
> Mesh.c 
>   
>   Log:
>   Mesh iterators (me.faces, me.edges, me.verts, face
> and edge iterator) store the iterator progress in
> the python object.
>   This made nested loops with the same python object
> mess up.
>   eg-
>   faces= me.faces
>   for f1 in faces:
>     for f2 in faces:
>       print f1.index,f2.index
>   
>   This didnt work, fixed by initializing the iter
> value at -1, so any greater value will create a new
> BPyObject with its own iter value.
>   once iteration is finished, its set back to -1.

You mean it creates one BPy Mesh wrapper per iterator?

In that case, how do you invalidate iterators if the
mesh structure changes during the lifetime of the
iterator?

>   Also made face and edges iter value a char instead
> of an int to save some memory.

Did you confirm that this did indeed reduce memory
usage? Memory alignement optimisation (or requirement)
would likely mess with it.

Martin

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the Bf-committers mailing list