Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-05-09 10:52:09 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-05-09 12:29:02 +0400
commit663c800ef3198e6a2f7857e0dd2794690e977eda (patch)
treefb611b93b45244be54189cc3652ca638604ad61d /source/blender/editors/transform/transform_snap.c
parentd61f8a5a22b7658582470cd15ba5f3713e9c3570 (diff)
Fix T36973: Active snapping fails for edges/faces
also add snap-active support for armatures, pose & metas
Diffstat (limited to 'source/blender/editors/transform/transform_snap.c')
-rw-r--r--source/blender/editors/transform/transform_snap.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index 055dd5fbf87..9afc12a5270 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -1091,27 +1091,14 @@ static void TargetSnapActive(TransInfo *t)
{
/* Only need to calculate once */
if ((t->tsnap.status & TARGET_INIT) == 0) {
- TransData *td = NULL;
- TransData *active_td = NULL;
- int i;
-
- for (td = t->data, i = 0; i < t->total && td->flag & TD_SELECTED; i++, td++) {
- if (td->flag & TD_ACTIVE) {
- active_td = td;
- break;
- }
- }
-
- if (active_td) {
- copy_v3_v3(t->tsnap.snapTarget, active_td->center);
-
+ if (calculateCenterActive(t, true, t->tsnap.snapTarget)) {
if (t->flag & (T_EDIT | T_POSE)) {
Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, t->tsnap.snapTarget);
}
-
- TargetSnapOffset(t, active_td);
-
+
+ TargetSnapOffset(t, NULL);
+
t->tsnap.status |= TARGET_INIT;
}
/* No active, default to median */