[Bf-extensions-cvs] [a99e5be4] master: Fix T52166 for MeasureIt: stops None subscripting

NBurn noreply at git.blender.org
Wed Jul 26 19:02:28 CEST 2017


Commit: a99e5be48f07106de31de854bc7a6af74ad3ecd0
Author: NBurn
Date:   Wed Jul 26 12:54:06 2017 -0400
Branches: master
https://developer.blender.org/rBAa99e5be48f07106de31de854bc7a6af74ad3ecd0

Fix T52166 for MeasureIt: stops None subscripting

Adds checks to prevent several functions from inadvertently trying to
subscript a NoneType and revises the Mesh Debug panel design.

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

M	measureit/__init__.py
M	measureit/measureit_geometry.py
M	measureit/measureit_main.py
M	measureit/measureit_render.py

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

diff --git a/measureit/__init__.py b/measureit/__init__.py
index ec4ee2bd..56e9716b 100644
--- a/measureit/__init__.py
+++ b/measureit/__init__.py
@@ -320,16 +320,25 @@ def register():
                                          default=False)
     Scene.measureit_debug_select = BoolProperty(name="Selected",
                                                 description="Display information "
-                                                            "for selected vertices/faces",
+                                                            "only for selected items",
                                                 default=False)
     Scene.measureit_debug_vertices = BoolProperty(name="Vertices",
-                                                  description="Display vertex number",
+                                                  description="Display vertex index number",
                                                   default=True)
-    Scene.measureit_debug_location = BoolProperty(name="Location",
+    Scene.measureit_debug_objects = BoolProperty(name="Objects",
+                                                  description="Display object scene index number",
+                                                  default=False)
+    Scene.measureit_debug_vert_loc = BoolProperty(name="Location",
                                                   description="Display vertex location",
                                                   default=False)
+    Scene.measureit_debug_object_loc = BoolProperty(name="Location",
+                                                  description="Display object location",
+                                                  default=False)
+    Scene.measureit_debug_edges = BoolProperty(name="Edges",
+                                               description="Display edge index number",
+                                               default=False)
     Scene.measureit_debug_faces = BoolProperty(name="Faces",
-                                               description="Display face number",
+                                               description="Display face index number",
                                                default=False)
     Scene.measureit_debug_normals = BoolProperty(name="Normals",
                                                  description="Display face normal "
@@ -341,27 +350,41 @@ def register():
     Scene.measureit_debug_font = IntProperty(name="Font",
                                              description="Debug text size",
                                              default=14, min=10, max=150)
-    Scene.measureit_debug_color = FloatVectorProperty(name="Debug color",
+    Scene.measureit_debug_vert_color = FloatVectorProperty(name="Debug color",
                                                       description="Debug Color",
                                                       default=(1, 0, 0, 1.0),
                                                       min=0.1,
                                                       max=1,
                                                       subtype='COLOR',
                                                       size=4)
-    Scene.measureit_debug_color2 = FloatVectorProperty(name="Debug face color",
+    Scene.measureit_debug_face_color = FloatVectorProperty(name="Debug face color",
                                                        description="Debug face Color",
                                                        default=(0, 1, 0, 1.0),
                                                        min=0.1,
                                                        max=1,
                                                        subtype='COLOR',
                                                        size=4)
-    Scene.measureit_debug_color3 = FloatVectorProperty(name="Debug vector color",
+    Scene.measureit_debug_norm_color = FloatVectorProperty(name="Debug vector color",
                                                        description="Debug vector Color",
                                                        default=(1.0, 1.0, 0.1, 1.0),
                                                        min=0.1,
                                                        max=1,
                                                        subtype='COLOR',
                                                        size=4)
+    Scene.measureit_debug_edge_color = FloatVectorProperty(name="Debug vector color",
+                                                       description="Debug vector Color",
+                                                       default=(0.1, 1.0, 1.0, 1.0),
+                                                       min=0.1,
+                                                       max=1,
+                                                       subtype='COLOR',
+                                                       size=4)
+    Scene.measureit_debug_obj_color = FloatVectorProperty(name="Debug vector color",
+                                                       description="Debug vector Color",
+                                                       default=(1.0, 1.0, 1.0, 1.0),
+                                                       min=0.1,
+                                                       max=1,
+                                                       subtype='COLOR',
+                                                       size=4)
     Scene.measureit_debug_normal_size = FloatProperty(name='Len', min=0.001, max=9,
                                                       default=0.5,
                                                       precision=2,
@@ -370,6 +393,12 @@ def register():
                                               description='Vector line thickness')
     Scene.measureit_debug_precision = IntProperty(name='Precision', min=0, max=5, default=1,
                                                   description="Number of decimal precision")
+    Scene.measureit_debug_vert_loc_toggle = EnumProperty(items=(('1', "Local",
+                                                     "Uses local coordinates"),
+                                                    ('2', "Global",
+                                                     "Uses global coordinates")),
+                                             name="Coordinates",
+                                             description="Choose coordinate system")
 
     # OpenGL flag
     wm = WindowManager
@@ -434,17 +463,23 @@ def unregister():
     del Scene.measureit_debug
     del Scene.measureit_debug_select
     del Scene.measureit_debug_vertices
+    del Scene.measureit_debug_objects
+    del Scene.measureit_debug_edges
     del Scene.measureit_debug_faces
     del Scene.measureit_debug_normals
     del Scene.measureit_debug_normal_details
     del Scene.measureit_debug_font
-    del Scene.measureit_debug_color
-    del Scene.measureit_debug_color2
-    del Scene.measureit_debug_color3
+    del Scene.measureit_debug_vert_color
+    del Scene.measureit_debug_face_color
+    del Scene.measureit_debug_norm_color
+    del Scene.measureit_debug_edge_color
+    del Scene.measureit_debug_obj_color
     del Scene.measureit_debug_normal_size
     del Scene.measureit_debug_width
     del Scene.measureit_debug_precision
-    del Scene.measureit_debug_location
+    del Scene.measureit_debug_vert_loc
+    del Scene.measureit_debug_object_loc
+    del Scene.measureit_debug_vert_loc_toggle
 
     # remove OpenGL data
     measureit_main.RunHintDisplayButton.handle_remove(measureit_main.RunHintDisplayButton, bpy.context)
diff --git a/measureit/measureit_geometry.py b/measureit/measureit_geometry.py
index 2ecbe58a..5c63e5d4 100644
--- a/measureit/measureit_geometry.py
+++ b/measureit/measureit_geometry.py
@@ -62,10 +62,10 @@ def draw_segments(context, myobj, op, region, rv3d):
         if scene.measureit_scale is True:
             prs = scene.measureit_scale_precision
             fmts = "%1." + str(prs) + "f"
-            pos_x, pos_y = get_scale_txt_location(context)
+            pos_2d = get_scale_txt_location(context)
             tx_dsp = fmts % scene.measureit_scale_factor
             tx_scale = scene.measureit_gl_scaletxt + " 1:" + tx_dsp
-            draw_text(myobj, pos_x, pos_y,
+            draw_text(myobj, pos_2d,
                       tx_scale, scene.measureit_scale_color, scene.measureit_scale_font)
         # --------------------
         # Loop
@@ -308,6 +308,7 @@ def draw_segments(context, myobj, op, region, rv3d):
                     screen_point_v22 = get_2d_point(region, rv3d, v22)
                     screen_point_v11a = get_2d_point(region, rv3d, v11a)
                     screen_point_v11b = get_2d_point(region, rv3d, v11b)
+ 
                     # ------------------------------------
                     # colour + line setup
                     # ------------------------------------
@@ -327,7 +328,10 @@ def draw_segments(context, myobj, op, region, rv3d):
                         try:
                             midpoint3d = interpolate3d(v1, v2, fabs(dist / 2))
                             gap3d = (midpoint3d[0], midpoint3d[1], midpoint3d[2] + s / 2)
-                            txtpoint2d = get_2d_point(region, rv3d, gap3d)
+                            tmp_point = get_2d_point(region, rv3d, gap3d)
+                            if tmp_point is None:
+                                pass
+                            txtpoint2d = tmp_point[0] + ms.glfontx, tmp_point[1] + ms.glfonty
                             # Scale
                             if scene.measureit_scale is True:
                                 dist = dist * scene.measureit_scale_factor
@@ -353,8 +357,7 @@ def draw_segments(context, myobj, op, region, rv3d):
                             if scene.measureit_gl_show_n is True and ms.glnames is True:
                                 msg += ms.gltxt
                             if scene.measureit_gl_show_d is True or scene.measureit_gl_show_n is True:
-                                draw_text(myobj, txtpoint2d[0] + ms.glfontx, txtpoint2d[1] + ms.glfonty,
-                                          msg, rgb, fsize)
+                                

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list