diff options
author | Jiri Hnidek <jiri.hnidek@tul.cz> | 2004-04-23 01:16:54 +0400 |
---|---|---|
committer | Jiri Hnidek <jiri.hnidek@tul.cz> | 2004-04-23 01:16:54 +0400 |
commit | b043b0e37f0d183c005e70de5ed68dcc29f4d8e5 (patch) | |
tree | ec1d99e250bd2260caa720b95a6eedc64992f828 /source/blender/blenkernel/intern/mball.c | |
parent | feaa60081d4748778b73f7ce45b6f2476917e747 (diff) |
-bug fix #1186
http://projects.blender.org/tracker/?func=detail&atid=125&aid=1186&group_id=9
-I forgot somethig, when i commited to this file last (i'm really sorry)
Diffstat (limited to 'source/blender/blenkernel/intern/mball.c')
-rw-r--r-- | source/blender/blenkernel/intern/mball.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index 66002e9d828..f7590f6f0a1 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -1545,12 +1545,13 @@ void metaball_polygonize(Object *ob) { PROCESS mbproc; MetaBall *mb; - MetaElem *ml; + MetaElem *ml=NULL; DispList *dl; Object *bob; Base *base; - int a, nr_cubes; + int a, nr_cubes, obnr,nr; float *ve, *no, totsize, width; + char obname[32], name[32]; mb= ob->data; @@ -1562,15 +1563,22 @@ void metaball_polygonize(Object *ob) if(G.moving && mb->flag==MB_UPDATE_FAST) return; /* recount all MetaElems */ + splitIDname(ob->id.name+2, obname, &obnr); totelem= 0; next_object(0, 0, 0); while(next_object(1, &base, &bob)) { if(bob->type==OB_MBALL) { - if(bob==G.obedit) - ml= editelems.first; - else { - mb= bob->data; - ml= mb->elems.first; + if(bob==ob){ + if(bob==G.obedit) ml= editelems.first; + else ml= ((MetaBall*)bob->data)->elems.first; + } + else{ + /* is bob in the same group as Object ob? */ + splitIDname(bob->id.name+2, name, &nr); + if( strcmp(obname, name)==0 ) { + if(bob==G.obedit) ml= editelems.first; + else ml= ((MetaBall*)bob->data)->elems.first; + } } while(ml){ totelem++; |