Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_generics.c
| Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
| #include "BKE_nla.h" | #include "BKE_nla.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_paint.h" | #include "BKE_paint.h" | ||||
| #include "BKE_sequencer.h" | #include "BKE_sequencer.h" | ||||
| #include "BKE_editmesh.h" | #include "BKE_editmesh.h" | ||||
| #include "BKE_tracking.h" | #include "BKE_tracking.h" | ||||
| #include "BKE_mask.h" | #include "BKE_mask.h" | ||||
| #include "BKE_workspace.h" | #include "BKE_workspace.h" | ||||
| #include "BKE_layer.h" | |||||
| #include "DEG_depsgraph.h" | #include "DEG_depsgraph.h" | ||||
| #include "ED_anim_api.h" | #include "ED_anim_api.h" | ||||
| #include "ED_armature.h" | #include "ED_armature.h" | ||||
| #include "ED_image.h" | #include "ED_image.h" | ||||
| #include "ED_keyframing.h" | #include "ED_keyframing.h" | ||||
| #include "ED_markers.h" | #include "ED_markers.h" | ||||
| ▲ Show 20 Lines • Show All 658 Lines • ▼ Show 20 Lines | else if (t->obedit->type == OB_LATTICE) { | ||||
| applyProject(t); | applyProject(t); | ||||
| } | } | ||||
| DEG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */ | DEG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */ | ||||
| if (la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt); | if (la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt); | ||||
| } | } | ||||
| else if (t->obedit->type == OB_MESH) { | else if (t->obedit->type == OB_MESH) { | ||||
| BMEditMesh *em = BKE_editmesh_from_object(t->obedit); | |||||
| /* mirror modifier clipping? */ | /* mirror modifier clipping? */ | ||||
| if (t->state != TRANS_CANCEL) { | if (t->state != TRANS_CANCEL) { | ||||
| /* apply clipping after so we never project past the clip plane [#25423] */ | /* apply clipping after so we never project past the clip plane [#25423] */ | ||||
| applyProject(t); | applyProject(t); | ||||
| clipMirrorModifier(t, t->obedit); | clipMirrorModifier(t, t->obedit); | ||||
| } | } | ||||
| if ((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR)) | if ((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR)) | ||||
| editbmesh_apply_to_mirror(t); | editbmesh_apply_to_mirror(t); | ||||
| if (t->mode == TFM_EDGE_SLIDE) { | if (t->mode == TFM_EDGE_SLIDE) { | ||||
| projectEdgeSlideData(t, false); | projectEdgeSlideData(t, false); | ||||
| } | } | ||||
| else if (t->mode == TFM_VERT_SLIDE) { | else if (t->mode == TFM_VERT_SLIDE) { | ||||
| projectVertSlideData(t, false); | projectVertSlideData(t, false); | ||||
| } | } | ||||
| DEG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */ | FOREACH_OBJECT_IN_EDIT_MODE_BEGIN (t->eval_ctx.view_layer, ob_iter) { | ||||
| DEG_id_tag_update(ob_iter->data, 0); /* sets recalc flags */ | |||||
| BMEditMesh *em = BKE_editmesh_from_object(ob_iter); | |||||
| EDBM_mesh_normals_update(em); | EDBM_mesh_normals_update(em); | ||||
| BKE_editmesh_tessface_calc(em); | BKE_editmesh_tessface_calc(em); | ||||
| } FOREACH_OBJECT_IN_EDIT_MODE_END; | |||||
| } | } | ||||
| else if (t->obedit->type == OB_ARMATURE) { /* no recalc flag, does pose */ | else if (t->obedit->type == OB_ARMATURE) { /* no recalc flag, does pose */ | ||||
| bArmature *arm = t->obedit->data; | bArmature *arm = t->obedit->data; | ||||
| ListBase *edbo = arm->edbo; | ListBase *edbo = arm->edbo; | ||||
| EditBone *ebo, *ebo_parent; | EditBone *ebo, *ebo_parent; | ||||
| TransData *td = t->data; | TransData *td = t->data; | ||||
| int i; | int i; | ||||
| ▲ Show 20 Lines • Show All 1,398 Lines • Show Last 20 Lines | |||||