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:
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r--source/blender/editors/transform/transform_generics.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 5b41f6b51bf..1f23be0cad6 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1285,18 +1285,24 @@ void calculatePropRatio(TransInfo *t)
if (td->flag & TD_SELECTED) {
td->factor = 1.0f;
}
- else if ((connected && (td->flag & TD_NOTCONNECTED || td->dist > t->prop_size)) ||
- (connected == 0 && td->rdist > t->prop_size)) {
+ else if (((t->flag & T_PROP_FIXED_DISTANCE) == 0) &&
+ ((connected && (td->flag & TD_NOTCONNECTED || td->dist > t->prop_size)) ||
+ (connected == 0 && td->rdist > t->prop_size))) {
td->factor = 0.0f;
restoreElement(td);
}
else {
/* Use rdist for falloff calculations, it is the real distance */
- if (connected) {
- dist = (t->prop_size - td->dist) / t->prop_size;
+ if ((t->flag & T_PROP_FIXED_DISTANCE) == 0) {
+ if (connected) {
+ dist = (t->prop_size - td->dist) / t->prop_size;
+ }
+ else {
+ dist = (t->prop_size - td->rdist) / t->prop_size;
+ }
}
else {
- dist = (t->prop_size - td->rdist) / t->prop_size;
+ dist = 1.0f - td->dist;
}
/*