diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-05-29 03:07:16 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-05-29 03:07:16 +0400 |
commit | de3686ac25f5a8c19837ac3f79a5ff347dde68af (patch) | |
tree | c0df684f526b332206c586e06c88766f8502d699 /release/scripts/modules | |
parent | abfee7425b2cbe96a8d7cab5cc475b05912ddb5f (diff) |
fix [#34851] "UnitSettings.scale_length" not beeing calculated the same way for all objects
Diffstat (limited to 'release/scripts/modules')
-rw-r--r-- | release/scripts/modules/bpy_extras/object_utils.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py index 838d22c1262..9381f49d408 100644 --- a/release/scripts/modules/bpy_extras/object_utils.py +++ b/release/scripts/modules/bpy_extras/object_utils.py @@ -22,6 +22,9 @@ __all__ = ( "add_object_align_init", "object_data_add", "AddObjectHelper", + "object_add_grid_scale", + "object_add_grid_scale_apply_operator", + "object_image_guess", ) @@ -210,6 +213,21 @@ def object_add_grid_scale(context): return 1.0 +def object_add_grid_scale_apply_operator(operator, context): + """ + Scale an operators distance values by the grid size. + """ + grid_scale = object_add_grid_scale(context) + + properties = operator.properties + properties_def = properties.bl_rna.properties + for prop_id in properties_def.keys(): + if not properties.is_property_set(prop_id): + prop_def = properties_def[prop_id] + if prop_def.unit == 'LENGTH' and prop_def.subtype == 'DISTANCE': + setattr(operator, prop_id, getattr(operator, prop_id) * grid_scale) + + def object_image_guess(obj, bm=None): """ Return a single image used by the object, |