diff options
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/editface.c | 12 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh.c | 1 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_add.c | 22 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_loop.c | 4 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_mods.c | 62 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_tools.c | 109 | ||||
-rw-r--r-- | source/blender/editors/mesh/meshtools.c | 7 |
7 files changed, 110 insertions, 107 deletions
diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c index 61bfc8b8a0f..a572013e849 100644 --- a/source/blender/editors/mesh/editface.c +++ b/source/blender/editors/mesh/editface.c @@ -623,11 +623,13 @@ MTFace *get_active_mtface(EditMesh *em, EditFace **act_efa, MCol **mcol, int slo return NULL; } -void make_tfaces(Mesh *me) +static void make_tfaces(Object *ob) { + Mesh *me= ob->data; + if(!me->mtface) { if(me->mr) { - multires_add_layer(me, &me->mr->fdata, CD_MTFACE, + multires_add_layer(ob, &me->mr->fdata, CD_MTFACE, CustomData_number_of_layers(&me->fdata, CD_MTFACE)); } else { @@ -1312,7 +1314,7 @@ void set_texturepaint(Scene *scene) /* toggle */ G.f |= G_TEXTUREPAINT; if(me->mtface==NULL) - make_tfaces(me); + make_tfaces(ob); brush_check_exists(&scene->toolsettings->imapaint.brush); GPU_paint_set_mipmap(0); @@ -1373,9 +1375,9 @@ static void texpaint_tri_weights(Object *ob, float *v1, float *v2, float *v3, fl } /* compute uv coordinates of mouse in face */ -void texpaint_pick_uv(Object *ob, Mesh *mesh, unsigned int faceindex, short *xy, float *uv) +void texpaint_pick_uv(Scene *scene, Object *ob, Mesh *mesh, unsigned int faceindex, short *xy, float *uv) { - DerivedMesh *dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH); + DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH); int *index = dm->getFaceDataArray(dm, CD_ORIGINDEX); MTFace *tface = dm->getFaceDataArray(dm, CD_MTFACE), *tf; int numfaces = dm->getNumFaces(dm), a; diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c index 85fdc5d8ad5..9104e133cc6 100644 --- a/source/blender/editors/mesh/editmesh.c +++ b/source/blender/editors/mesh/editmesh.c @@ -1973,7 +1973,6 @@ static void *editMesh_to_undoMesh(void *emv) // um->retopo_mode= scene->toolsettings->retopo_mode; { - Mesh *me= NULL; // XXX Multires *mr= NULL; // XXX old-style multires UndoMesh *prev= NULL; // XXX undo_editmode_get_prev(obedit); diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c index 1833682b19e..91e1997a8f5 100644 --- a/source/blender/editors/mesh/editmesh_add.c +++ b/source/blender/editors/mesh/editmesh_add.c @@ -334,7 +334,7 @@ static void make_fgon(EditMesh *em, int make) else { EM_fgon_flags(em); // redo flags and indices for fgons -// XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Make FGon"); } } @@ -600,7 +600,7 @@ void addfaces_from_edgenet(EditMesh *em) EM_select_flush(em); BIF_undo_push("Add faces"); -// XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } void addedgeface_mesh(EditMesh *em) @@ -632,7 +632,7 @@ void addedgeface_mesh(EditMesh *em) EM_select_edge(eed, 1); BIF_undo_push("Add edge"); - // XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); return; } else if(amount > 4) { @@ -734,11 +734,11 @@ void addedgeface_mesh(EditMesh *em) BIF_undo_push("Add face"); } -// XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } -void adduplicate_mesh(Object *obedit, EditMesh *em) +void adduplicate_mesh(Scene *scene, Object *obedit, EditMesh *em) { if(multires_test()) return; @@ -755,8 +755,8 @@ void adduplicate_mesh(Object *obedit, EditMesh *em) * This shouldn't be necessary, derived queries should be * automatically building this data if invalid. Or something. */ -// XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); - object_handle_update(obedit); + DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); + object_handle_update(scene, obedit); // XXX BIF_TransformSetUndo("Add Duplicate"); // initTransform(TFM_TRANSLATION, CTX_NO_PET); @@ -773,13 +773,13 @@ static int confirm_objectExists(Scene *scene, Object *obedit, Mesh **me, float m if(obedit==NULL) { /* add_object actually returns an object ! :-) But it also stores the added object struct in - G.scene->basact->object (BASACT->object) */ + scene->basact->object (BASACT->object) */ // XXX add_object_draw(OB_MESH); obedit= BASACT->object; - where_is_object(obedit); + where_is_object(scene, obedit); make_editMesh(scene, obedit); newob= 1; @@ -1245,7 +1245,7 @@ void add_primitiveMesh(Scene *scene, View3D *v3d, Object *obedit, EditMesh *em, char *undostr="Add Primitive"; char *name=NULL; -// if(G.scene->id.lib) return; +// if(scene->id.lib) return; /* this function also comes from an info window */ // XXX if ELEM(curarea->spacetype, SPACE_VIEW3D, SPACE_INFO); else return; @@ -1396,7 +1396,7 @@ void add_primitiveMesh(Scene *scene, View3D *v3d, Object *obedit, EditMesh *em, if(type!=0 && type!=13) righthandfaces(em, 1); /* otherwise monkey has eyes in wrong direction... */ -// XXX DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); /* if a new object was created, it stores it in Mesh, for reload original data and undo */ if ( !(newob) || U.flag & USER_ADD_EDITMODE) { diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c index 13cc90f3e2d..bb41accc10d 100644 --- a/source/blender/editors/mesh/editmesh_loop.c +++ b/source/blender/editors/mesh/editmesh_loop.c @@ -383,7 +383,7 @@ void CutEdgeloop(Object *obedit, EditMesh *em, int numcuts) EM_selectmode_set(em); } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); return; } @@ -547,7 +547,7 @@ static float seg_intersect(EditEdge *e, CutCurve *c, int len, char mode, struct int i; //threshold = 0.000001; /*tolerance for vertex intersection*/ -// XXX threshold = G.scene->toolsettings->select_thresh / 100; +// XXX threshold = scene->toolsettings->select_thresh / 100; /* Get screen coords of verts */ scr = BLI_ghash_lookup(gh, e->v1); diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c index 018df499dcc..375ebde5f52 100644 --- a/source/blender/editors/mesh/editmesh_mods.c +++ b/source/blender/editors/mesh/editmesh_mods.c @@ -119,15 +119,15 @@ void EM_automerge(int update) { // XXX int len; -// if ((G.scene->automerge) && +// if ((scene->automerge) && // (obedit && obedit->type==OB_MESH) && // (((Mesh*)obedit->data)->mr==NULL) // ) { -// len = removedoublesflag(1, 1, G.scene->toolsettings->doublimit); +// len = removedoublesflag(1, 1, scene->toolsettings->doublimit); // if (len) { // G.totvert -= len; /* saves doing a countall */ // if (update) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // } // } // } @@ -670,7 +670,7 @@ int facegroup_select(EditMesh *em, short mode) unsigned int deselcount=0; short ok=0; - float thresh=0; // XXX G.scene->toolsettings->select_thresh; + float thresh=0; // XXX scene->toolsettings->select_thresh; for(efa= em->faces.first; efa; efa= efa->next) { if (!efa->h) { @@ -814,7 +814,7 @@ static int edgegroup_select__internal(EditMesh *em, short mode) unsigned int deselcount=0; short ok=0; - float thresh=0; // XXX G.scene->toolsettings->select_thresh; + float thresh=0; // XXX scene->toolsettings->select_thresh; for(eed= em->edges.first; eed; eed= eed->next) { if (!eed->h) { @@ -1043,7 +1043,7 @@ int vertgroup_select(EditMesh *em, short mode) unsigned int deselcount=0; short ok=0; - float thresh=0; // XXX G.scene->toolsettings->select_thresh; + float thresh=0; // XXX scene->toolsettings->select_thresh; for(eve= em->verts.first; eve; eve= eve->next) { if (!eve->h) { @@ -1343,7 +1343,7 @@ void EM_mesh_copy_edge(EditMesh *em, short type) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Copy Edge Attribute"); } @@ -1472,7 +1472,7 @@ void EM_mesh_copy_face(EditMesh *em, short type) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); if (type==3) { // XXX allqueue(REDRAWIMAGE, 0); } @@ -1606,7 +1606,7 @@ void EM_mesh_copy_face_layer(EditMesh *em, short type) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Copy Face Layer"); } @@ -2006,7 +2006,7 @@ static void mouse_mesh_loop(ViewContext *vc) } } - switch (0) { // XXX G.scene->toolsettings->edge_mode) { + switch (0) { // XXX scene->toolsettings->edge_mode) { case EDGE_MODE_TAG_SEAM: G.f |= G_DRAWSEAMS; break; @@ -2021,7 +2021,7 @@ static void mouse_mesh_loop(ViewContext *vc) break; } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } } @@ -2425,7 +2425,7 @@ void hide_mesh(EditMesh *em, int swap) G.totedgesel= G.totfacesel= G.totvertsel= 0; // if(EM_texFaceCheck()) - // DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Hide"); } @@ -2463,7 +2463,7 @@ void reveal_mesh(EditMesh *em) EM_selectmode_flush(em); // if (EM_texFaceCheck()) -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Reveal"); } @@ -3431,7 +3431,7 @@ void Vertex_Menu(EditMesh *em) switch(ret) { case 1: -// XXX notice("Removed %d Vertices", removedoublesflag(1, 0, G.scene->toolsettings->doublimit)); +// XXX notice("Removed %d Vertices", removedoublesflag(1, 0, scene->toolsettings->doublimit)); BIF_undo_push("Remove Doubles"); break; case 2: @@ -3452,7 +3452,7 @@ void Vertex_Menu(EditMesh *em) break; } /* some items crashed because this is in the original W menu but not here. should really manage this better */ -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } @@ -3499,16 +3499,16 @@ void Edge_Menu(EditMesh *em) case 11: // editmesh_mark_sharp(em, 1); BIF_undo_push("Mark Sharp"); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); break; case 12: // editmesh_mark_sharp(em, 0); BIF_undo_push("Clear Sharp"); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); break; } /* some items crashed because this is in the original W menu but not here. should really manage this better */ -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } void Face_Menu(EditMesh *em) @@ -3525,7 +3525,7 @@ void Face_Menu(EditMesh *em) { case 1: // flip_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Flip Normals"); break; case 2: @@ -3540,7 +3540,7 @@ void Face_Menu(EditMesh *em) case 5: /* Quads to Tris */ // convert_to_triface(em, 0); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); break; case 6: /* Tris to Quads */ // join_triangles(em); @@ -3570,7 +3570,7 @@ void Face_Menu(EditMesh *em) break; } /* some items crashed because this is in the original W menu but not here. should really manage this better */ -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } @@ -3781,7 +3781,7 @@ void righthandfaces(EditMesh *em, int select) /* makes faces righthand turning * recalc_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); waitcursor(0); } @@ -3856,7 +3856,7 @@ void faceselect_align_view_to_selected(View3D *v3d, Mesh *me, int axis) if (totselected == 0) error("No faces selected."); else - view3d_align_axis_to_vector(v3d, axis, norm); + view3d_align_axis_to_vector(NULL, v3d, axis, norm); } /* helper for below, to survive non-uniform scaled objects */ @@ -3901,7 +3901,7 @@ void editmesh_align_view_to_selected(Object *obedit, EditMesh *em, View3D *v3d, } } - view3d_align_axis_to_vector(v3d, axis, norm); + view3d_align_axis_to_vector(NULL, v3d, axis, norm); } else if (nselverts>2) { float cent[3]; @@ -3926,7 +3926,7 @@ void editmesh_align_view_to_selected(Object *obedit, EditMesh *em, View3D *v3d, } Mat4Mul3Vecfl(obedit->obmat, norm); - view3d_align_axis_to_vector(v3d, axis, norm); + view3d_align_axis_to_vector(NULL, v3d, axis, norm); } else if (nselverts==2) { /* Align view to edge (or 2 verts) */ EditVert *eve, *leve= NULL; @@ -3943,7 +3943,7 @@ void editmesh_align_view_to_selected(Object *obedit, EditMesh *em, View3D *v3d, } } Mat4Mul3Vecfl(obedit->obmat, norm); - view3d_align_axis_to_vector(v3d, axis, norm); + view3d_align_axis_to_vector(NULL, v3d, axis, norm); } else if (nselverts==1) { /* Align view to vert normal */ EditVert *eve; @@ -3957,7 +3957,7 @@ void editmesh_align_view_to_selected(Object *obedit, EditMesh *em, View3D *v3d, } } Mat4Mul3Vecfl(obedit->obmat, norm); - view3d_align_axis_to_vector(v3d, axis, norm); + view3d_align_axis_to_vector(NULL, v3d, axis, norm); } } @@ -4049,7 +4049,7 @@ void vertexsmooth(Object *obedit, EditMesh *em) if(eve->f & SELECT) { if(eve->f1) { -// XXX if (G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR) { +// XXX if (scene->toolsettings->editbutflag & B_MESH_X_MIRROR) { // eve_mir= editmesh_get_x_mirror_vert(obedit, em, eve->co); // } @@ -4089,7 +4089,7 @@ void vertexsmooth(Object *obedit, EditMesh *em) recalc_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Vertex Smooth"); } @@ -4135,7 +4135,7 @@ void vertexnoise(Object *obedit, EditMesh *em) } recalc_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Vertex Noise"); } @@ -4194,7 +4194,7 @@ void vertices_to_sphere(Scene *scene, View3D *v3d, Object *obedit, EditMesh *em) } recalc_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("To Sphere"); } diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 1d5e2b24d17..024ef433f1b 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -596,6 +596,7 @@ void hashvert_flag(EditMesh *em, int flag) /* generic extern called extruder */ void extrude_mesh(Object *obedit, EditMesh *em) { + Scene *scene= NULL; // XXX CTX! float nor[3]= {0.0, 0.0, 0.0}; short nr, transmode= 0; @@ -647,8 +648,8 @@ void extrude_mesh(Object *obedit, EditMesh *em) * This shouldn't be necessary, derived queries should be * automatically building this data if invalid. Or something. */ -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); - object_handle_update(obedit); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); + object_handle_update(scene, obedit); /* individual faces? */ // BIF_TransformSetUndo("Extrude"); @@ -686,7 +687,7 @@ void split_mesh(EditMesh *em) waitcursor(0); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Split"); @@ -722,7 +723,7 @@ void extrude_repeat_mesh(View3D *v3d, Object *obedit, EditMesh *em, int steps, f EM_fgon_flags(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Extrude Repeat"); } @@ -751,7 +752,7 @@ void spin_mesh(View3D *v3d, Object *obedit, EditMesh *em, int steps, float degr, phi= degr*M_PI/360.0; phi/= steps; -// if(G.scene->toolsettings->editbutflag & B_CLOCKWISE) phi= -phi; +// if(scene->toolsettings->editbutflag & B_CLOCKWISE) phi= -phi; if(dvec) { n[0]= v3d->viewinv[1][0]; @@ -774,7 +775,7 @@ void spin_mesh(View3D *v3d, Object *obedit, EditMesh *em, int steps, float degr, Mat3MulMat3(tmat,cmat,bmat); Mat3MulMat3(bmat,imat,tmat); -// if(mode==0) if(G.scene->toolsettings->editbutflag & B_KEEPORIG) adduplicateflag(1); +// if(mode==0) if(scene->toolsettings->editbutflag & B_KEEPORIG) adduplicateflag(1); ok= 1; for(a=0;a<steps;a++) { @@ -807,7 +808,7 @@ void spin_mesh(View3D *v3d, Object *obedit, EditMesh *em, int steps, float degr, EM_fgon_flags(em); - // DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); if(dvec==NULL) BIF_undo_push("Spin"); @@ -1062,7 +1063,7 @@ void delete_mesh(Object *obedit, EditMesh *em) EM_fgon_flags(em); // redo flags and indices for fgons -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push(str); } @@ -1145,7 +1146,7 @@ void fill_mesh(EditMesh *em) waitcursor(0); EM_select_flush(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Fill"); } @@ -1574,7 +1575,7 @@ static void fill_quad_double_adj_path(EditMesh *em, EditFace *efa, struct GHash if (ctrl) hold->e1->f2 |= EDGEINNER; facecopy(em, efa,hold); - //if(G.scene->toolsettings->editbutflag & B_AUTOFGON) { + //if(scene->toolsettings->editbutflag & B_AUTOFGON) { // hold->e1->h |= EM_FGON; //} // Make side faces @@ -1734,7 +1735,7 @@ static void fill_quad_double_adj_inner(EditMesh *em, EditFace *efa, struct GHash hold->e2->f2 |= EDGEINNER; facecopy(em, efa,hold); - //if(G.scene->toolsettings->editbutflag & B_AUTOFGON) { + //if(scene->toolsettings->editbutflag & B_AUTOFGON) { // hold->e1->h |= EM_FGON; //} // Add Fill Quads (if # cuts > 1) @@ -1750,7 +1751,7 @@ static void fill_quad_double_adj_inner(EditMesh *em, EditFace *efa, struct GHash hold->e4->f2 |= EDGEINNER; facecopy(em, efa,hold); - //if(G.scene->toolsettings->editbutflag & B_AUTOFGON) { + //if(scene->toolsettings->editbutflag & B_AUTOFGON) { // hold->e1->h |= EM_FGON; //} } @@ -1957,7 +1958,7 @@ static void fill_quad_triple(EditMesh *em, EditFace *efa, struct GHash *gh, int // Also Make inner quad hold = addfacelist(em, verts[1][numcuts/2],verts[1][(numcuts/2)+1],verts[2][numcuts/2],verts[0][(numcuts/2)+1],NULL,NULL); hold->e3->f2 |= EDGEINNER; - //if(G.scene->toolsettings->editbutflag & B_AUTOFGON) { + //if(scene->toolsettings->editbutflag & B_AUTOFGON) { // hold->e3->h |= EM_FGON; //} facecopy(em, efa,hold); @@ -1966,7 +1967,7 @@ static void fill_quad_triple(EditMesh *em, EditFace *efa, struct GHash *gh, int // Make inner tri hold = addfacelist(em, verts[1][(numcuts/2)+1],verts[2][(numcuts/2)+1],verts[0][(numcuts/2)+1],NULL,NULL,NULL); hold->e2->f2 |= EDGEINNER; - //if(G.scene->toolsettings->editbutflag & B_AUTOFGON) { + //if(scene->toolsettings->editbutflag & B_AUTOFGON) { // hold->e2->h |= EM_FGON; //} facecopy(em, efa,hold); @@ -2526,7 +2527,7 @@ void esubdivideflag(Object *obedit, EditMesh *em, int flag, float rad, int beaut } } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // Now for each face in the mesh we need to figure out How many edges were cut // and which filling method to use for that face for(ef = em->faces.first;ef;ef = ef->next) { @@ -2602,7 +2603,7 @@ void esubdivideflag(Object *obedit, EditMesh *em, int flag, float rad, int beaut (ef->e2->f & flag && ef->e4->f & flag)) { fill_quad_double_op(em, ef, gh, numcuts); }else{ - switch(0) { // XXX G.scene->toolsettings->cornertype) { + switch(0) { // XXX scene->toolsettings->cornertype) { case 0: fill_quad_double_adj_path(em, ef, gh, numcuts); break; case 1: fill_quad_double_adj_inner(em, ef, gh, numcuts); break; case 2: fill_quad_double_adj_fan(em, ef, gh, numcuts); break; @@ -2729,7 +2730,7 @@ void esubdivideflag(Object *obedit, EditMesh *em, int flag, float rad, int beaut } recalc_editnormals(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } static int count_selected_edges(EditEdge *ed) @@ -3079,7 +3080,7 @@ void beauty_fill(EditMesh *em) EM_select_flush(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Beauty Fill"); } @@ -3153,7 +3154,7 @@ static int compareFaceAttribs(EditMesh *em, EditFace *f1, EditFace *f2, EditEdge /*Test to see if the per-face attributes for the joining edge match within limit*/ MTFace *tf1, *tf2; unsigned int *col1, *col2; - short i,attrok=0, flag = 0, /* XXX G.scene->toolsettings->editbutflag,*/ fe1[2], fe2[2]; + short i,attrok=0, flag = 0, /* XXX scene->toolsettings->editbutflag,*/ fe1[2], fe2[2]; tf1 = CustomData_em_get(&em->fdata, f1->data, CD_MTFACE); tf2 = CustomData_em_get(&em->fdata, f2->data, CD_MTFACE); @@ -3234,7 +3235,7 @@ void join_triangles(EditMesh *em) EVPtr *efaa = NULL; float *creases = NULL; float measure; /*Used to set tolerance*/ - float limit = 0.0f; // XXX G.scene->toolsettings->jointrilimit; + float limit = 0.0f; // XXX scene->toolsettings->jointrilimit; int i, ok, totedge=0, totseledge=0, complexedges, vindex[4]; /*test for multi-resolution data*/ @@ -3311,9 +3312,9 @@ void join_triangles(EditMesh *em) the python scripts bundled with Blender releases. */ -// XXX if(G.scene->toolsettings->editbutflag & B_JOINTRIA_SHARP && eed->sharp); /*do nothing*/ -// else if(G.scene->toolsettings->editbutflag & B_JOINTRIA_MAT && efaa[0]->mat_nr != efaa[1]->mat_nr); /*do nothing*/ -// else if(((G.scene->toolsettings->editbutflag & B_JOINTRIA_UV) || (G.scene->toolsettings->editbutflag & B_JOINTRIA_VCOL)) && +// XXX if(scene->toolsettings->editbutflag & B_JOINTRIA_SHARP && eed->sharp); /*do nothing*/ +// else if(scene->toolsettings->editbutflag & B_JOINTRIA_MAT && efaa[0]->mat_nr != efaa[1]->mat_nr); /*do nothing*/ +// else if(((scene->toolsettings->editbutflag & B_JOINTRIA_UV) || (scene->toolsettings->editbutflag & B_JOINTRIA_VCOL)) && compareFaceAttribs(em, efaa[0], efaa[1], eed); // XXX == 0); /*do nothing*/ // else{ measure = measure_facepair(v1, v2, v3, v4, limit); @@ -3384,7 +3385,7 @@ void join_triangles(EditMesh *em) if(edsortblock) MEM_freeN(edsortblock); EM_selectmode_flush(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Convert Triangles to Quads"); } @@ -3482,7 +3483,7 @@ void edge_flip(EditMesh *em) MEM_freeN(efaar); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Flip Triangle Edges"); @@ -3719,7 +3720,7 @@ void edge_rotate_selected(EditMesh *em, int dir) /* flush selected vertices (again) to edges/faces */ EM_select_flush(em); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Rotate Edge"); } @@ -4144,7 +4145,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) } - if (uvlay_tot) { // XXX && (G.scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) { + if (uvlay_tot) { // XXX && (scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) { int maxnum = 0; uvarray = MEM_callocN( uvlay_tot * sizeof(GHash *), "SlideUVs Array"); suv_last = slideuvs = MEM_callocN( uvlay_tot * (numadded+1) * sizeof(SlideUv), "SlideUVs"); /* uvLayers * verts */ @@ -4341,7 +4342,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) tempev = editedge_getOtherVert((perc>=0)?tempsv->up:tempsv->down, ev); VecLerpf(ev->co, tempsv->origvert.co, tempev->co, fabs(perc)); - if (0) { // XXX G.scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { + if (0) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) { suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev ); if (suv && suv->fuv_list && suv->uv_up && suv->uv_down) { @@ -4370,7 +4371,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) if(newlen < 0.0) {newlen = 0.0;} if(flip == 0) { VecLerpf(ev->co, editedge_getOtherVert(tempsv->down,ev)->co, editedge_getOtherVert(tempsv->up,ev)->co, fabs(newlen)); - if (0) { // XXX G.scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { + if (0) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { /* dont do anything if no UVs */ for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) { suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev ); @@ -4387,7 +4388,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) } else{ VecLerpf(ev->co, editedge_getOtherVert(tempsv->up,ev)->co, editedge_getOtherVert(tempsv->down,ev)->co, fabs(newlen)); - if (0) { // XXX G.scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { + if (0) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) { /* dont do anything if no UVs */ for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) { suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev ); @@ -4543,7 +4544,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) } else { draw = 0; } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); } @@ -4563,7 +4564,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) if(!immediate) EM_automerge(0); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // scrarea_queue_winredraw(curarea); //BLI_ghash_free(edgesgh, freeGHash, NULL); @@ -4571,7 +4572,7 @@ int EdgeSlide(EditMesh *em, short immediate, float imperc) BLI_linklist_free(vertlist,NULL); BLI_linklist_free(edgelist,NULL); - if (uvlay_tot) { // XXX && (G.scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) { + if (uvlay_tot) { // XXX && (scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) { for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) { BLI_ghash_free(uvarray[uvlay_idx], NULL, NULL); } @@ -4599,20 +4600,20 @@ int EdgeLoopDelete(EditMesh *em) /* temporal flag setting so we keep UVs when deleting edge loops, * this is a bit of a hack but it works how you would want in almost all cases */ - // short uvcalc_flag_orig = 0; // XXX G.scene->toolsettings->uvcalc_flag; - // G.scene->toolsettings->uvcalc_flag |= UVCALC_TRANSFORM_CORRECT; + // short uvcalc_flag_orig = 0; // XXX scene->toolsettings->uvcalc_flag; + // scene->toolsettings->uvcalc_flag |= UVCALC_TRANSFORM_CORRECT; if(!EdgeSlide(em, 1, 1)) { return 0; } /* restore uvcalc flag */ - // G.scene->toolsettings->uvcalc_flag = uvcalc_flag_orig; + // scene->toolsettings->uvcalc_flag = uvcalc_flag_orig; EM_select_more(em); removedoublesflag(em, 1,0, 0.001); EM_select_flush(em); - // DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); return 1; } @@ -4705,7 +4706,7 @@ void mesh_set_smooth_faces(EditMesh *em, short event) efa= efa->next; } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); if(event==1) BIF_undo_push("Set Smooth"); else if(event==0) BIF_undo_push("Set Solid"); @@ -4754,10 +4755,10 @@ void mesh_rip(EditMesh *em) float projectMat[4][4], vec[3], dist, mindist; // viewMat[4][4], XXX short doit= 1, mval[2]; // XXX ,propmode,prop; -// XXX propmode = G.scene->prop_mode; -// G.scene->prop_mode = 0; -// prop = G.scene->proportional; -// G.scene->proportional = 0; +// XXX propmode = scene->prop_mode; +// scene->prop_mode = 0; +// prop = scene->proportional; +// scene->proportional = 0; /* select flush... vertices are important */ EM_selectmode_set(em); @@ -4945,8 +4946,8 @@ void mesh_rip(EditMesh *em) // initTransform(TFM_TRANSLATION, 0); // Transform(); -// G.scene->prop_mode = propmode; -// XXX G.scene->proportional = prop; +// scene->prop_mode = propmode; +// XXX scene->proportional = prop; } void shape_propagate(Scene *scene, Object *obedit, EditMesh *em) @@ -5033,7 +5034,7 @@ void shape_copy_from_lerp(EditMesh *em, KeyBlock* thisBlock, KeyBlock* fromBlock } } sprintf(str,"Blending at %d%c MMB to Copy at 100%c",(int)(perc*100),'%','%'); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // headerprint(str); // force_draw(0); @@ -5633,7 +5634,7 @@ int collapseEdges(EditMesh *em) freecollections(&allcollections); removedoublesflag(em, 1, 0, MERGELIMIT); /*get rid of this!*/ -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // if (EM_texFaceCheck()) @@ -5693,7 +5694,7 @@ int merge_target(EditMesh *em, int target, int uvmerge) collapseuvs(em, NULL); } -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); return removedoublesflag(em, 1, 0, MERGELIMIT); @@ -5858,7 +5859,7 @@ void pathselect(EditMesh *em) MEM_freeN(previous); BLI_heap_free(heap, NULL); EM_select_flush(em); - // DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // if (EM_texFaceCheck()) } @@ -5895,7 +5896,7 @@ void region_to_loop(EditMesh *em) em->selectmode = SCE_SELECT_EDGE; EM_selectmode_set(em); - // DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); + // DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // if (EM_texFaceCheck()) @@ -6054,7 +6055,7 @@ void loop_to_region(EditMesh *em) } freecollections(&allcollections); -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); // if (EM_texFaceCheck()) @@ -6126,7 +6127,7 @@ void mesh_rotate_uvs(EditMesh *em) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Rotate UV face"); } @@ -6209,7 +6210,7 @@ void mesh_mirror_uvs(EditMesh *em) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Mirror UV face"); } @@ -6259,7 +6260,7 @@ void mesh_rotate_colors(EditMesh *em) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Rotate Color face"); } @@ -6308,7 +6309,7 @@ void mesh_mirror_colors(EditMesh *em) } if (change) { -// DAG_object_flush_update(G.scene, obedit, OB_RECALC_DATA); +// DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); BIF_undo_push("Mirror Color face"); } } diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c index 94730be507c..29c11e69a67 100644 --- a/source/blender/editors/mesh/meshtools.c +++ b/source/blender/editors/mesh/meshtools.c @@ -950,12 +950,12 @@ static int thread_break(void) return G.afbreek; } -static ScrArea *biggest_image_area(void) +static ScrArea *biggest_image_area(bScreen *screen) { ScrArea *sa, *big= NULL; int size, maxsize= 0; - for(sa= G.curscreen->areabase.first; sa; sa= sa->next) { + for(sa= screen->areabase.first; sa; sa= sa->next) { if(sa->spacetype==SPACE_IMAGE) { size= sa->winx*sa->winy; if(sa->winx > 10 && sa->winy > 10 && size > maxsize) { @@ -1004,8 +1004,9 @@ void objects_bake_render(Scene *scene, short event, char **error_msg) } if(event>0) { + bScreen *screen= NULL; // XXX CTX Render *re= RE_NewRender("_Bake View_"); - ScrArea *area= biggest_image_area(); + ScrArea *area= biggest_image_area(screen); ListBase threads; BakeRender bkr; int timer=0, tot; // XXX, sculptmode= G.f & G_SCULPTMODE; |