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>2016-01-18 05:15:38 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-01-18 06:01:20 +0300
commit5cd34282201f54b0c9480e57d40bce013a6af9e2 (patch)
treeef020af46da9b70ff5a2231dfccaac6a1ae3e017 /source/blender/editors/transform/transform_snap.c
parent8573c1a84728546e949ced6e6f198afd16ac4dc4 (diff)
Transform: no need to store distance to snap point
Compare squared distance to snap target since the value is only ever used for comparison.
Diffstat (limited to 'source/blender/editors/transform/transform_snap.c')
-rw-r--r--source/blender/editors/transform/transform_snap.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index ea07193b85b..ed48478246f 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -823,7 +823,7 @@ static void ApplySnapResize(TransInfo *t, float vec[3])
static float TranslationBetween(TransInfo *UNUSED(t), const float p1[3], const float p2[3])
{
- return len_v3v3(p1, p2);
+ return len_squared_v3v3(p1, p2);
}
static float RotationBetween(TransInfo *t, const float p1[3], const float p2[3])
@@ -1157,6 +1157,7 @@ static void TargetSnapClosest(TransInfo *t)
{
// Only valid if a snap point has been selected
if (t->tsnap.status & POINT_INIT) {
+ float dist_closest = 0.0f;
TransData *closest = NULL, *td = NULL;
/* Object mode */
@@ -1179,11 +1180,11 @@ static void TargetSnapClosest(TransInfo *t)
dist = t->tsnap.distance(t, loc, t->tsnap.snapPoint);
if ((dist != TRANSFORM_DIST_INVALID) &&
- (closest == NULL || fabsf(dist) < fabsf(t->tsnap.dist)))
+ (closest == NULL || fabsf(dist) < fabsf(dist_closest)))
{
copy_v3_v3(t->tsnap.snapTarget, loc);
closest = td;
- t->tsnap.dist = dist;
+ dist_closest = dist;
}
}
}
@@ -1197,11 +1198,10 @@ static void TargetSnapClosest(TransInfo *t)
dist = t->tsnap.distance(t, loc, t->tsnap.snapPoint);
if ((dist != TRANSFORM_DIST_INVALID) &&
- (closest == NULL || fabsf(dist) < fabsf(t->tsnap.dist)))
+ (closest == NULL || fabsf(dist) < fabsf(dist_closest)))
{
copy_v3_v3(t->tsnap.snapTarget, loc);
closest = td;
- t->tsnap.dist = dist;
}
}
}
@@ -1222,11 +1222,11 @@ static void TargetSnapClosest(TransInfo *t)
dist = t->tsnap.distance(t, loc, t->tsnap.snapPoint);
if ((dist != TRANSFORM_DIST_INVALID) &&
- (closest == NULL || fabsf(dist) < fabsf(t->tsnap.dist)))
+ (closest == NULL || fabsf(dist) < fabsf(dist_closest)))
{
copy_v3_v3(t->tsnap.snapTarget, loc);
closest = td;
- t->tsnap.dist = dist;
+ dist_closest = dist;
}
}
}