[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42819] trunk/blender: patch [#29673] Visualize Indices (developer aid)

Campbell Barton ideasman42 at gmail.com
Thu Dec 22 06:39:31 CET 2011


Revision: 42819
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42819
Author:   campbellbarton
Date:     2011-12-22 05:39:23 +0000 (Thu, 22 Dec 2011)
Log Message:
-----------
patch [#29673] Visualize Indices (developer aid)
by Howard Trickey (howardt)

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/makesdna/DNA_mesh_types.h
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-12-22 03:56:21 UTC (rev 42818)
+++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-12-22 05:39:23 UTC (rev 42819)
@@ -2247,6 +2247,8 @@
         col.prop(mesh, "show_extra_edge_length")
         col.prop(mesh, "show_extra_face_angle")
         col.prop(mesh, "show_extra_face_area")
+        if bpy.app.debug:
+          col.prop(mesh, "show_extra_indices")
 
 
 class VIEW3D_PT_view3d_curvedisplay(Panel):

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2011-12-22 03:56:21 UTC (rev 42818)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2011-12-22 05:39:23 UTC (rev 42819)
@@ -2793,6 +2793,44 @@
 	}
 }
 
+static void draw_em_indices(EditMesh *em)
+{
+	EditEdge *e;
+	EditFace *f;
+	EditVert *v;
+	int i;
+	char val[32];
+	float pos[3];
+	unsigned char col[4];
+
+	/* For now, reuse appropriate theme colors from stats text colors */
+
+	UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEANG, col);
+	for (v = em->verts.first, i = 0; v; v = v->next, i++) {
+		if (v->f & SELECT) {
+			sprintf(val, "%d", i);
+			view3d_cached_text_draw_add(v->co, val, 0, V3D_CACHE_TEXT_ASCII, col);
+		}
+	}
+
+	UI_GetThemeColor3ubv(TH_DRAWEXTRA_EDGELEN, col);
+	for (e = em->edges.first, i = 0; e; e = e->next, i++) {
+		if (e->f & SELECT) {
+			sprintf(val, "%d", i);
+			mid_v3_v3v3(pos, e->v1->co, e->v2->co);
+			view3d_cached_text_draw_add(pos, val, 0, V3D_CACHE_TEXT_ASCII, col);
+		}
+	}
+
+	UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEAREA, col);
+	for (f = em->faces.first, i = 0; f; f = f->next, i++) {
+		if (f->f & SELECT) {
+			sprintf(val, "%d", i);
+			view3d_cached_text_draw_add(f->cent, val, 0, V3D_CACHE_TEXT_ASCII, col);
+		}
+	}
+}
+
 static int draw_em_fancy__setFaceOpts(void *UNUSED(userData), int index, int *UNUSED(drawSmooth_r))
 {
 	EditFace *efa = EM_get_face_for_index(index);
@@ -2968,6 +3006,11 @@
 		{
 			draw_em_measure_stats(v3d, rv3d, ob, em, &scene->unit);
 		}
+
+		if ((G.f & G_DEBUG) && (me->drawflag & ME_DRAWEXTRA_INDICES) &&
+		    !(v3d->flag2 & V3D_RENDER_OVERRIDE)) {
+			draw_em_indices(em);
+		}
 	}
 
 	if(dt>OB_WIRE) {

Modified: trunk/blender/source/blender/makesdna/DNA_mesh_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_mesh_types.h	2011-12-22 03:56:21 UTC (rev 42818)
+++ trunk/blender/source/blender/makesdna/DNA_mesh_types.h	2011-12-22 05:39:23 UTC (rev 42819)
@@ -162,6 +162,9 @@
 #define ME_DRAWEXTRA_FACEAREA (1 << 11)
 #define ME_DRAWEXTRA_FACEANG  (1 << 12)
 
+/* debug only option */
+#define ME_DRAWEXTRA_INDICES (1 << 13)
+
 /* old global flags:
 #define G_DRAWEDGES		(1 << 18)
 #define G_DRAWFACES		(1 <<  7)

Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2011-12-22 03:56:21 UTC (rev 42818)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2011-12-22 05:39:23 UTC (rev 42819)
@@ -2132,6 +2132,11 @@
 	                         "Display the area of selected faces, using global values when set in the transform panel");
 	RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
 
+	prop= RNA_def_property(srna, "show_extra_indices", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_INDICES);
+	RNA_def_property_ui_text(prop, "Indices", "Displays the index numbers of selected vertices, edges, and faces");
+	RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
+
 	/* editflag */
 	prop= RNA_def_property(srna, "use_mirror_x", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "editflag", ME_EDIT_MIRROR_X);




More information about the Bf-blender-cvs mailing list