[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