diff options
Diffstat (limited to 'source/blender/editors/transform')
5 files changed, 34 insertions, 33 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 5d10a07231b..6f9b34d610c 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -792,7 +792,7 @@ void transformEvent(TransInfo *t, wmEvent *event) break; case OKEY: if (t->flag & T_PROP_EDIT && event->keymodifier == KM_SHIFT) { - G.scene->prop_mode = (G.scene->prop_mode+1)%6; + t->scene->prop_mode = (t->scene->prop_mode+1)%6; calculatePropRatio(t); t->redraw= 1; } @@ -2081,7 +2081,7 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3]) { } else if (t->flag & T_EDIT) { - if(t->around==V3D_LOCAL && (G.scene->selectmode & SCE_SELECT_FACE)) { + if(t->around==V3D_LOCAL && (t->scene->selectmode & SCE_SELECT_FACE)) { VECCOPY(center, td->center); } else { @@ -2381,7 +2381,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short } else { /* !TODO! Make this if not rely on G */ - if(around==V3D_LOCAL && (G.scene->selectmode & SCE_SELECT_FACE)) { + if(around==V3D_LOCAL && (t->scene->selectmode & SCE_SELECT_FACE)) { center = td->center; } } @@ -2831,7 +2831,7 @@ static void headerTranslation(TransInfo *t, float vec[3], char *str) { sprintf(distvec, "%.4f", dist); if(t->flag & T_AUTOIK) { - short chainlen= G.scene->toolsettings->autoik_chainlen; + short chainlen= t->scene->toolsettings->autoik_chainlen; if(chainlen) sprintf(autoik, "AutoIK-Len: %d", chainlen); @@ -3997,7 +3997,7 @@ int Align(TransInfo *t, short mval[2]) VECCOPY(t->center, td->center); } else { - if(G.scene->selectmode & SCE_SELECT_FACE) { + if(t->scene->selectmode & SCE_SELECT_FACE) { VECCOPY(t->center, td->center); } } diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 6b9c635779f..cd06c27e12e 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -73,6 +73,7 @@ #include "BKE_armature.h" #include "BKE_blender.h" #include "BKE_cloth.h" +#include "BKE_context.h" #include "BKE_curve.h" #include "BKE_constraint.h" #include "BKE_depsgraph.h" @@ -763,7 +764,7 @@ static void pchan_autoik_adjust (bPoseChannel *pchan, short chainlen) /* change the chain-length of auto-ik */ void transform_autoik_update (TransInfo *t, short mode) { - short *chainlen= &G.scene->toolsettings->autoik_chainlen; + short *chainlen= &t->scene->toolsettings->autoik_chainlen; bPoseChannel *pchan; /* mode determines what change to apply to chainlen */ @@ -1610,7 +1611,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t) int count = 0, hasselected = 0; int propmode = t->flag & T_PROP_EDIT; - if(psys==NULL || G.scene->selectmode==SCE_SELECT_PATH) return; + if(psys==NULL || t->scene->selectmode==SCE_SELECT_PATH) return; psmd = psys_get_modifier(ob,psys); @@ -1959,11 +1960,11 @@ static float *get_crazy_mapped_editverts(TransInfo *t) /* disable subsurf temporal, get mapped cos, and enable it */ if(modifiers_disable_subsurf_temporary(t->obedit)) { /* need to make new derivemesh */ - makeDerivedMesh(t->obedit, me->edit_mesh, CD_MASK_BAREMESH); + makeDerivedMesh(t->scene, t->obedit, me->edit_mesh, CD_MASK_BAREMESH); } /* now get the cage */ - dm= editmesh_get_derived_cage(t->obedit, me->edit_mesh, CD_MASK_BAREMESH); + dm= editmesh_get_derived_cage(t->scene, t->obedit, me->edit_mesh, CD_MASK_BAREMESH); vertexcos= MEM_mallocN(3*sizeof(float)*G.totvert, "vertexcos map"); dm->foreachMappedVert(dm, make_vertexcos__mapFunc, vertexcos); @@ -3265,7 +3266,7 @@ static void ObjectToTransData(bContext *C, TransInfo *t, TransData *td, Object * ob->constraints.first = ob->constraints.last = NULL; } - where_is_object(ob); + where_is_object(t->scene, ob); if (constinv == 0) { ob->constraints.first = fakecons.first; @@ -3275,7 +3276,7 @@ static void ObjectToTransData(bContext *C, TransInfo *t, TransData *td, Object * ob->track= track; } else - where_is_object(ob); + where_is_object(t->scene, ob); td->ob = ob; @@ -3349,12 +3350,12 @@ static void set_trans_object_base_flags(bContext *C, TransInfo *t) return; /* makes sure base flags and object flags are identical */ - copy_baseflags(); + copy_baseflags(t->scene); /* handle pending update events, otherwise they got copied below */ for (base= sce->base.first; base; base= base->next) { if(base->object->recalc) - object_handle_update(base->object); + object_handle_update(t->scene, base->object); } for (base= sce->base.first; base; base= base->next) { @@ -3388,7 +3389,7 @@ static void set_trans_object_base_flags(bContext *C, TransInfo *t) } /* all recalc flags get flushed to all layers, so a layer flip later on works fine */ - DAG_scene_flush_update(G.scene, -1, 0); + DAG_scene_flush_update(t->scene, -1, 0); /* and we store them temporal in base (only used for transform code) */ /* this because after doing updates, the object->recalc is cleared */ @@ -3852,7 +3853,7 @@ void special_aftertrans_update(TransInfo *t) synchronize_action_strips(); /* cleanup */ - for (base=G.scene->base.first; base; base=base->next) + for (base=t->scene->base.first; base; base=base->next) base->flag &= ~(BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA); /* after transform, remove duplicate keyframes on a frame that resulted from transform */ @@ -3919,15 +3920,15 @@ void special_aftertrans_update(TransInfo *t) /* automatic inserting of keys and unkeyed tagging - only if transform wasn't cancelled (or TFM_DUMMY) */ if (!cancelled && (t->mode != TFM_DUMMY)) { autokeyframe_pose_cb_func(ob, t->mode, targetless_ik); - DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); + DAG_object_flush_update(t->scene, ob, OB_RECALC_DATA); } else if (arm->flag & ARM_DELAYDEFORM) { /* old optimize trick... this enforces to bypass the depgraph */ - DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); + DAG_object_flush_update(t->scene, ob, OB_RECALC_DATA); ob->recalc= 0; // is set on OK position already by recalcData() } else - DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); + DAG_object_flush_update(t->scene, ob, OB_RECALC_DATA); if (t->mode==TFM_BONESIZE || t->mode==TFM_BONE_ENVELOPE) allqueue(REDRAWBUTSEDIT, 0); @@ -4075,7 +4076,7 @@ static void createTransObject(bContext *C, TransInfo *t) for(ik= elems.first; ik; ik= ik->next) { /* weak... this doesn't correct for floating values, giving small errors */ - CFRA= (int)(ik->val/G.scene->r.framelen); + CFRA= (int)(ik->val/t->scene->r.framelen); do_ob_ipo(ob); ObjectToTransData(C, t, td, ob); // does where_is_object() @@ -4098,7 +4099,7 @@ static void createTransObject(bContext *C, TransInfo *t) CFRA= cfraont; ob->ipoflag= ipoflag; - where_is_object(ob); // restore + where_is_object(t->scene, ob); // restore } else { ObjectToTransData(C, t, td, ob); @@ -4305,7 +4306,7 @@ void createTransData(bContext *C, TransInfo *t) // TRANSFORM_FIX_ME // /* temporal...? */ -// G.scene->recalc |= SCE_PRV_CHANGED; /* test for 3d preview */ +// t->scene->recalc |= SCE_PRV_CHANGED; /* test for 3d preview */ } diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index d1993a79bf6..ea79a559f44 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -652,7 +652,7 @@ void recalcData(TransInfo *t) /* update shaded drawmode while transform */ if(t->spacetype==SPACE_VIEW3D && ((View3D*)t->view)->drawtype == OB_SHADED) - reshadeall_displist(); + reshadeall_displist(t->scene); } void drawLine(float *center, float *dir, char axis, short options) @@ -1206,7 +1206,7 @@ void calculatePropRatio(TransInfo *t) if (dist < 0.0f) dist = 0.0f; - switch(G.scene->prop_mode) { + switch(t->scene->prop_mode) { case PROP_SHARP: td->factor= dist*dist; break; @@ -1234,7 +1234,7 @@ void calculatePropRatio(TransInfo *t) } } } - switch(G.scene->prop_mode) { + switch(t->scene->prop_mode) { case PROP_SHARP: strcpy(t->proptext, "(Sharp)"); break; diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c index 3ce3b1a8127..0a839649882 100644 --- a/source/blender/editors/transform/transform_orientations.c +++ b/source/blender/editors/transform/transform_orientations.c @@ -687,7 +687,7 @@ int getTransformOrientation(bContext *C, float normal[3], float plane[3], int ac bArmature *arm = obedit->data; EditBone *ebone; - for (ebone = G.edbo.first; ebone; ebone=ebone->next) { + for (ebone = arm->edbo->first; ebone; ebone=ebone->next) { if (arm->layer & ebone->layer) { if (ebone->flag & BONE_SELECTED) @@ -767,7 +767,7 @@ int getTransformOrientation(bContext *C, float normal[3], float plane[3], int ac ob = OBACT; if(ob && !(ob->flag & SELECT)) ob = NULL; - for(base= G.scene->base.first; base; base= base->next) { + for(base= scene->base.first; base; base= base->next) { if TESTBASELIB(v3d, base) { if(ob == NULL) { ob= base->object; diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 875b45297bf..d1f641e874b 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -212,7 +212,7 @@ int handleSnapping(TransInfo *t, wmEvent *event) if (BIF_snappingSupported(t->obedit) && event->type == TABKEY && event->shift) { /* toggle snap and reinit */ - G.scene->snap_flag ^= SCE_SNAP; + t->scene->snap_flag ^= SCE_SNAP; initSnapping(t); status = 1; } @@ -258,7 +258,7 @@ void resetSnapping(TransInfo *t) int usingSnappingNormal(TransInfo *t) { - if (G.scene->snap_flag & SCE_SNAP_ROTATE) + if (t->scene->snap_flag & SCE_SNAP_ROTATE) { return 1; } @@ -800,7 +800,7 @@ int snapDerivedMesh(TransInfo *t, Object *ob, DerivedMesh *dm, float obmat[][4], if (test == 1) { - switch (G.scene->snap_mode) + switch (t->scene->snap_mode) { case SCE_SNAP_MODE_FACE: { @@ -1194,7 +1194,7 @@ int snapObjects(TransInfo *t, int *dist, float *loc, float *no, int mode) { Object *ob = t->obedit; EditMesh *em = ((Mesh *)t->obedit->data)->edit_mesh; - dm = editmesh_get_derived_cage(t->obedit, em, CD_MASK_BAREMESH); + dm = editmesh_get_derived_cage(t->scene, t->obedit, em, CD_MASK_BAREMESH); retval = snapDerivedMesh(t, ob, dm, ob->obmat, ray_start, ray_normal, t->mval, loc, no, dist, &depth, 1); @@ -1212,14 +1212,14 @@ int snapObjects(TransInfo *t, int *dist, float *loc, float *no, int mode) { if (ob->transflag & OB_DUPLI) { DupliObject *dupli_ob; - ListBase *lb = object_duplilist(G.scene, ob); + ListBase *lb = object_duplilist(t->scene, ob); for(dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next) { Object *ob = dupli_ob->ob; if (ob->type == OB_MESH) { - DerivedMesh *dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH); + DerivedMesh *dm = mesh_get_derived_final(t->scene, ob, CD_MASK_BAREMESH); int val; val = snapDerivedMesh(t, ob, dm, dupli_ob->mat, ray_start, ray_normal, t->mval, loc, no, dist, &depth, 0); @@ -1234,7 +1234,7 @@ int snapObjects(TransInfo *t, int *dist, float *loc, float *no, int mode) { } if (ob->type == OB_MESH) { - DerivedMesh *dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH); + DerivedMesh *dm = mesh_get_derived_final(t->scene, ob, CD_MASK_BAREMESH); int val; val = snapDerivedMesh(t, ob, dm, ob->obmat, ray_start, ray_normal, t->mval, loc, no, dist, &depth, 0); |