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>2013-06-17 18:37:12 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-06-17 18:37:12 +0400
commitd761b91b65487715a23f2b8ddf0efc4dec5b0278 (patch)
tree7379065220eb66710bdf9e43c582fc7fbec56107 /source/blender/editors/transform/transform_conversions.c
parent544572a59b42598dcb7fe82814ef32a51b2fb42a (diff)
reduce sqrt's calls in set_prop_dist().
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r--source/blender/editors/transform/transform_conversions.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index d8f763c6a54..c3848c06b06 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -196,7 +196,7 @@ static void sort_trans_data(TransInfo *t)
/* distance calculated from not-selected vertex to nearest selected vertex
* warning; this is loops inside loop, has minor N^2 issues, but by sorting list it is OK */
-static void set_prop_dist(TransInfo *t, short with_dist)
+static void set_prop_dist(TransInfo *t, const bool with_dist)
{
TransData *tob;
int a;
@@ -216,12 +216,9 @@ static void set_prop_dist(TransInfo *t, short with_dist)
if (td->flag & TD_SELECTED) {
sub_v3_v3v3(vec, tob->center, td->center);
mul_m3_v3(tob->mtx, vec);
- dist = normalize_v3(vec);
- if (tob->rdist == -1.0f) {
- tob->rdist = dist;
- }
- else if (dist < tob->rdist) {
- tob->rdist = dist;
+ dist = len_squared_v3(vec);
+ if ((tob->rdist == -1.0f) || (dist < (tob->rdist * tob->rdist))) {
+ tob->rdist = sqrtf(dist);
}
}
else {