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:
authorJacques Lucke <mail@jlucke.com>2018-11-20 14:44:42 +0300
committerJacques Lucke <mail@jlucke.com>2018-11-20 14:44:49 +0300
commit86e0d13218d6e9f918ca857890ee1c0aa681091b (patch)
tree81e8cda03075a6ffbb8e9136aab9c6aaff7f8401 /release/scripts/startup/bl_operators
parent76d602f38d0a948f9d6b03edc4d26153f970fb1c (diff)
Images: "Image" submenu in "Add" menu
The submenu has two entries currently: "Reference" and "Background". Both operators produce an image empty with different settings.
Diffstat (limited to 'release/scripts/startup/bl_operators')
-rw-r--r--release/scripts/startup/bl_operators/object.py39
1 files changed, 34 insertions, 5 deletions
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py
index fddf15155fc..46aa343868a 100644
--- a/release/scripts/startup/bl_operators/object.py
+++ b/release/scripts/startup/bl_operators/object.py
@@ -870,10 +870,7 @@ class DupliOffsetFromCursor(Operator):
return {'FINISHED'}
-class LoadImageAsEmpty(Operator):
- """Select an image file and create a new image empty with it"""
- bl_idname = "object.load_image_as_empty"
- bl_label = "Load Image as Empty"
+class LoadImageAsEmpty:
bl_options = {'REGISTER', 'UNDO'}
filepath: StringProperty(
@@ -896,6 +893,7 @@ class LoadImageAsEmpty(Operator):
scene = context.scene
space = context.space_data
cursor = (space if space and space.type == 'VIEW_3D' else scene).cursor_location
+
try:
image = bpy.data.images.load(self.filepath, check_existing=True)
except RuntimeError as ex:
@@ -908,18 +906,49 @@ class LoadImageAsEmpty(Operator):
location=cursor,
view_align=self.view_align,
)
+
obj = context.active_object
obj.data = image
obj.empty_display_size = 5.0
+ self.set_settings(context, obj)
return {'FINISHED'}
+ def set_settings(self, context, obj):
+ pass
+
+
+class LoadBackgroundImage(LoadImageAsEmpty, Operator):
+ """Add a reference image into the background behind objects"""
+ bl_idname = "object.load_background_image"
+ bl_label = "Load Background Image"
+
+ def set_settings(self, context, obj):
+ obj.empty_image_depth = "BACK"
+ obj.show_empty_image_backside = False
+
+ if context.space_data.type == "VIEW_3D":
+ if context.space_data.region_3d.is_perspective:
+ obj.show_empty_image_orthographic = False
+ else:
+ obj.show_empty_image_perspective = False
+
+
+class LoadReferenceImage(LoadImageAsEmpty, Operator):
+ """Add a reference image into the scene between objects"""
+ bl_idname = "object.load_reference_image"
+ bl_label = "Load Reference Image"
+
+ def set_settings(self, context, obj):
+ pass
+
classes = (
ClearAllRestrictRender,
DupliOffsetFromCursor,
IsolateTypeRender,
JoinUVs,
- LoadImageAsEmpty,
+ LoadBackgroundImage,
+ LoadReferenceImage,
MakeDupliFace,
SelectCamera,
SelectHierarchy,