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>2011-12-10 09:38:00 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-12-10 09:38:00 +0400
commit65f3b93f144699fa4aafa46c7e226aa1390b7239 (patch)
tree1a9599589c98d9e17631844fd011463031fe59cd /release
parent99d893bb89a96dd0d6cb9410b12928e7ade4b565 (diff)
parenta88b29c062f32514e4414bfd4006f7b348077a42 (diff)
svn merge ^/trunk/blender -r42521:42550
Diffstat (limited to 'release')
-rw-r--r--release/scripts/modules/bpy_extras/image_utils.py36
-rw-r--r--release/scripts/startup/bl_operators/object_randomize_transform.py9
-rw-r--r--release/scripts/startup/bl_operators/wm.py4
3 files changed, 40 insertions, 9 deletions
diff --git a/release/scripts/modules/bpy_extras/image_utils.py b/release/scripts/modules/bpy_extras/image_utils.py
index 52050b08bc7..7d409510c85 100644
--- a/release/scripts/modules/bpy_extras/image_utils.py
+++ b/release/scripts/modules/bpy_extras/image_utils.py
@@ -65,19 +65,45 @@ def load_image(imagepath,
# TODO: recursive
+ # -------------------------------------------------------------------------
+ # Utility Functions
+
+ def _image_load_placeholder(path):
+ name = bpy.path.basename(path)
+ if type(name) == bytes:
+ name = name.decode('utf-8', "replace")
+ image = bpy.data.images.new(name, 128, 128)
+ # allow the path to be resolved later
+ image.filepath = path
+ image.source = 'FILE'
+ return image
+
def _image_load(path):
import bpy
if convert_callback:
path = convert_callback(path)
- image = bpy.data.images.load(path)
+ try:
+ image = bpy.data.images.load(path)
+ except RuntimeError:
+ image = None
if verbose:
- print(" image loaded '%s'" % path)
+ if image:
+ print(" image loaded '%s'" % path)
+ else:
+ print(" image load failed '%s'" % path)
+
+ # image path has been checked so the path could not be read for some
+ # reason, so be sure to return a placeholder
+ if place_holder:
+ image = _image_load_placeholder(path)
return image
+ # -------------------------------------------------------------------------
+
if verbose:
print("load_image('%s', '%s', ...)" % (imagepath, dirname))
@@ -103,11 +129,9 @@ def load_image(imagepath,
if os.path.exists(nfilepath):
return _image_load(nfilepath)
+ # None of the paths exist so return placeholder
if place_holder:
- image = bpy.data.images.new(bpy.path.basename(imagepath), 128, 128)
- # allow the path to be resolved later
- image.filepath = imagepath
- return image
+ return _image_load_placeholder(imagepath)
# TODO comprehensiveImageLoad also searched in bpy.config.textureDir
return None
diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py
index ed881fab5fd..fa36e48d47b 100644
--- a/release/scripts/startup/bl_operators/object_randomize_transform.py
+++ b/release/scripts/startup/bl_operators/object_randomize_transform.py
@@ -22,6 +22,7 @@ import bpy
from bpy.types import Operator
from mathutils import Vector
+
def randomize_selected(seed, delta, loc, rot, scale, scale_even, scale_min):
import random
@@ -42,8 +43,13 @@ def randomize_selected(seed, delta, loc, rot, scale, scale_even, scale_min):
else: # otherwise the values change under us
uniform(0.0, 0.0), uniform(0.0, 0.0), uniform(0.0, 0.0)
- if rot: # TODO, non euler's
+ if rot:
vec = rand_vec(rot)
+
+ rotation_mode = obj.rotation_mode
+ if rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
+ obj.rotation_mode = 'XYZ'
+
if delta:
obj.delta_rotation_euler[0] += vec[0]
obj.delta_rotation_euler[1] += vec[1]
@@ -52,6 +58,7 @@ def randomize_selected(seed, delta, loc, rot, scale, scale_even, scale_min):
obj.rotation_euler[0] += vec[0]
obj.rotation_euler[1] += vec[1]
obj.rotation_euler[2] += vec[2]
+ obj.rotation_mode = rotation_mode
else:
uniform(0.0, 0.0), uniform(0.0, 0.0), uniform(0.0, 0.0)
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 14c9a090529..89029e3af01 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -457,8 +457,8 @@ class WM_OT_context_cycle_enum(Operator):
class WM_OT_context_cycle_array(Operator):
- '''Set a context array value.
- Useful for cycling the active mesh edit mode'''
+ '''Set a context array value. '''
+ '''Useful for cycling the active mesh edit mode'''
bl_idname = "wm.context_cycle_array"
bl_label = "Context Array Cycle"
bl_options = {'UNDO', 'INTERNAL'}