[Bf-extensions-cvs] [41e13ed7] master: Fix T54585 for MeasureIt: fixes View Local mode

NBurn noreply at git.blender.org
Sat Apr 14 22:33:42 CEST 2018


Commit: 41e13ed7add7c9da0bee0815c22c284c0731a96b
Author: NBurn
Date:   Sat Apr 14 16:32:06 2018 -0400
Branches: master
https://developer.blender.org/rBA41e13ed7add7c9da0bee0815c22c284c0731a96b

Fix T54585 for MeasureIt: fixes View Local mode

===================================================================

M	measureit/__init__.py
M	measureit/measureit_main.py

===================================================================

diff --git a/measureit/__init__.py b/measureit/__init__.py
index 489e0a9e..785eefbf 100644
--- a/measureit/__init__.py
+++ b/measureit/__init__.py
@@ -29,7 +29,7 @@ bl_info = {
     "name": "MeasureIt",
     "author": "Antonio Vazquez (antonioya)",
     "location": "View3D > Tools Panel /Properties panel",
-    "version": (1, 7, 0),
+    "version": (1, 7, 1),
     "blender": (2, 7, 4),
     "description": "Tools for measuring objects.",
     "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/"
diff --git a/measureit/measureit_main.py b/measureit/measureit_main.py
index 444ade73..457b6e18 100644
--- a/measureit/measureit_main.py
+++ b/measureit/measureit_main.py
@@ -2011,19 +2011,22 @@ def draw_main(context):
         rv3d = context.space_data.region_quadviews[i]
 
     scene = bpy.context.scene
-    # Get visible layers
+    local_view = context.area.spaces.active.local_view is not None
     layers = []
-    if bpy.context.space_data.lock_camera_and_layers is True:
-        for x in range(0, 20):
-            if bpy.context.scene.layers[x] is True:
-                layers.extend([x])
-    else:
-        for x in range(20):
-            if bpy.context.space_data.layers[x] is True:
-                layers.extend([x])
+    if local_view is False:
+        # Get visible layers
+        if bpy.context.space_data.lock_camera_and_layers is True:
+            for x in range(0, 20):
+                if bpy.context.scene.layers[x] is True:
+                    layers.extend([x])
+        else:
+            # Lock disabled, use view dependent visible layers
+            for x in range(20):
+                if bpy.context.space_data.layers[x] is True:
+                    layers.extend([x])
 
     # Display selected or all
-    if scene.measureit_gl_ghost is False:
+    if scene.measureit_gl_ghost is False or local_view is True:
         objlist = context.selected_objects
     else:
         objlist = context.scene.objects
@@ -2036,12 +2039,18 @@ def draw_main(context):
     for myobj in objlist:
         if myobj.hide is False:
             if 'MeasureGenerator' in myobj:
-                # verify visible layer
-                for x in range(0, 20):
-                    if myobj.layers[x] is True and x in layers:
-                        op = myobj.MeasureGenerator[0]
-                        draw_segments(context, myobj, op, region, rv3d)
-                        break
+                if local_view is False:
+                    # verify visible layer
+                    for x in range(0, 20):
+                        if myobj.layers[x] is True and x in layers:
+                            op = myobj.MeasureGenerator[0]
+                            draw_segments(context, myobj, op, region, rv3d)
+                            break
+                else:
+                    # Layer check not needed here, selected objects are not
+                    # added to context.selected_objects if in disabled layers
+                    op = myobj.MeasureGenerator[0]
+                    draw_segments(context, myobj, op, region, rv3d)
     # ---------------------------------------
     # Generate all OpenGL calls for debug
     # ---------------------------------------



More information about the Bf-extensions-cvs mailing list