[Bf-committers] Convert Menu Patch

Johnny Matthews johnny.matthews at gmail.com
Thu Mar 3 14:15:25 CET 2005


Ok, whenever you get to it is fine, it's not like it is the most
required new feature ever :)


On Thu, 3 Mar 2005 13:49:15 +0100, Ton Roosendaal <ton at blender.org> wrote:
> Hi,
> 
> Added to my todo... have quite some patches to check still. Soon!
> 
> -Ton-
> 
> On 1 Mar, 2005, at 18:26, Johnny Matthews wrote:
> 
> > Here is a patch that adds an option to converting Subsurfs and Metas.
> > Instead of just Convert to "Mesh (Keep Original)" it adds "Mesh
> > (Delete Original)" to the pupmenu. Can someone who knows better check
> > my code to see if I am deleteing the objects in the proper manner. It
> > did not crash my system and seemed to work correctly, but I have been
> > known to break stuff before :)
> >
> > Please give me some feedback and thoughts on this feature in general.
> > It is handy when you have a large amount of meshs that you are going
> > to join and some are subsurf and some not, then you can select them
> > all, convert the subsurf ones to mesh (deleting orig) and then join.
> >
> > Also, Ton, who would this fall under, You I would guess.
> >
> > Johnny Matthews
> > guitarGeek
> >
> >
> >
> > Index: source/blender/src/editobject.c
> > ===================================================================
> > RCS file: /cvsroot/bf-blender/blender/source/blender/src/editobject.c,v
> > retrieving revision 1.163
> > diff -u -r1.163 editobject.c
> > --- source/blender/src/editobject.c   25 Feb 2005 17:40:03 -0000      1.163
> > +++ source/blender/src/editobject.c   1 Mar 2005 17:09:23 -0000
> > @@ -2081,7 +2081,7 @@
> >
> >  void convertmenu(void)
> >  {
> > -     Base *base, *basen, *basact;
> > +     Base *base, *basen, *basact, *basedel=NULL;
> >       Object *ob, *ob1;
> >       Curve *cu;
> >       MetaBall *mb;
> > @@ -2102,7 +2102,7 @@
> >               if(nr>0) ok= 1;
> >       }
> >       else if(ob->type==OB_MBALL) {
> > -             nr= pupmenu("Convert Metaball to%t|Mesh (keep original)");
> > +             nr= pupmenu("Convert Metaball to%t|Mesh (keep original)%x1|Mesh
> > (Delete Original)%x2");
> >               if(nr>0) ok= 1;
> >       }
> >       else if(ob->type==OB_CURVE) {
> > @@ -2114,7 +2114,7 @@
> >               if(nr>0) ok= 1;
> >       }
> >       else if(ob->type==OB_MESH && mesh_uses_displist((Mesh*) ob->data)) {
> > -             nr= pupmenu("Convert SubSurf to%t|Mesh (Keep Original)");
> > +             nr= pupmenu("Convert SubSurf to%t|Mesh (Keep Original)%x1|Mesh
> > (Delete Original)%x2");
> >               if(nr>0) ok= 1;
> >       }
> >       if(ok==0) return;
> > @@ -2143,6 +2143,8 @@
> >                               if (mesh_uses_displist(oldme)) {
> >                                       DispListMesh *dlm;
> >
> > +                                     basedel = base;
> > +
> >                                       ob->flag |= OB_DONE;
> >
> >                                       ob1= copy_object(ob);
> > @@ -2176,6 +2178,7 @@
> >                                       enter_editmode();
> >                                       exit_editmode(1); // freedata, but no undo
> >                                       BASACT= basact;
> > +
> >                               }
> >                       }
> >                       else if(ob->type==OB_FONT) {
> > @@ -2220,10 +2223,11 @@
> >                       }
> >                       else if(ob->type==OB_MBALL) {
> >
> > -                             if(nr==1) {
> > +                             if(nr==1 || nr == 2) {
> >                                       ob= find_basis_mball(ob);
> >
> >                                       if(ob->disp.first && !(ob->flag&OB_DONE)) {
> > +                                             basedel = base;
> >
> >                                               ob->flag |= OB_DONE;
> >
> > @@ -2256,8 +2260,11 @@
> >                       }
> >               }
> >               base= base->next;
> > +             if(basedel != NULL && nr == 2)
> > +                     free_and_unlink_base(basedel);
> > +             basedel = NULL;
> >       }
> > -
> > +     countall();
> >       allqueue(REDRAWVIEW3D, 0);
> >       allqueue(REDRAWOOPS, 0);
> >       allqueue(REDRAWBUTSEDIT, 0);
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at projects.blender.org
> > http://projects.blender.org/mailman/listinfo/bf-committers
> >
> ------------------------------------------------------------------------
> --
> Ton Roosendaal  Blender Foundation ton at blender.org
> http://www.blender.org
> 
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
> 


-- 
Johnny Matthews
johnny.matthews at gmail.com


More information about the Bf-committers mailing list