diff options
author | Jacques Lucke <mail@jlucke.com> | 2018-11-20 14:44:42 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2018-11-20 14:44:49 +0300 |
commit | 86e0d13218d6e9f918ca857890ee1c0aa681091b (patch) | |
tree | 81e8cda03075a6ffbb8e9136aab9c6aaff7f8401 /release/scripts/startup/bl_operators/object.py | |
parent | 76d602f38d0a948f9d6b03edc4d26153f970fb1c (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/object.py')
-rw-r--r-- | release/scripts/startup/bl_operators/object.py | 39 |
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, |