[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55662] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: minor improvement to edge-angle-drawing, when transforming verts draw the angle of the opposite edge since this is the angle thats being changed .
Campbell Barton
ideasman42 at gmail.com
Fri Mar 29 05:38:11 CET 2013
Revision: 55662
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55662
Author: campbellbarton
Date: 2013-03-29 04:38:10 +0000 (Fri, 29 Mar 2013)
Log Message:
-----------
minor improvement to edge-angle-drawing, when transforming verts draw the angle of the opposite edge since this is the angle thats being changed.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/drawobject.c
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2013-03-29 04:22:51 UTC (rev 55661)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2013-03-29 04:38:10 UTC (rev 55662)
@@ -2662,13 +2662,20 @@
eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
for (; eed; eed = BM_iter_step(&iter)) {
- /* draw selected edges, or edges next to selected verts while draging */
- if (BM_elem_flag_test(eed, BM_ELEM_SELECT) ||
- (do_moving && (BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) ||
- BM_elem_flag_test(eed->v2, BM_ELEM_SELECT))))
- {
- BMFace *f_a, *f_b;
- if (BM_edge_face_pair(eed, &f_a, &f_b)) {
+ BMLoop *l_a, *l_b;
+ if (BM_edge_loop_pair(eed, &l_a, &l_b)) {
+ /* draw selected edges, or edges next to selected verts while draging */
+ if (BM_elem_flag_test(eed, BM_ELEM_SELECT) ||
+ (do_moving && (BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) ||
+ BM_elem_flag_test(eed->v2, BM_ELEM_SELECT) ||
+ /* special case, this is useful to show when vertes connected to this edge via a
+ * face are being transformed */
+ BM_elem_flag_test(l_a->next->next->v, BM_ELEM_SELECT) ||
+ BM_elem_flag_test(l_b->prev->v, BM_ELEM_SELECT) ||
+ BM_elem_flag_test(l_a->next->next->v, BM_ELEM_SELECT) ||
+ BM_elem_flag_test(l_b->prev->v, BM_ELEM_SELECT)
+ )))
+ {
float angle;
copy_v3_v3(v1, eed->v1->co);
copy_v3_v3(v2, eed->v2->co);
@@ -2678,14 +2685,14 @@
if (do_global) {
float no_a[3];
float no_b[3];
- copy_v3_v3(no_a, f_a->no);
- copy_v3_v3(no_b, f_b->no);
+ copy_v3_v3(no_a, l_a->f->no);
+ copy_v3_v3(no_b, l_b->f->no);
mul_mat3_m4_v3(ob->imat, no_a);
mul_mat3_m4_v3(ob->imat, no_b);
angle = angle_v3v3(no_a, no_b);
}
else {
- angle = angle_normalized_v3v3(f_a->no, f_b->no);
+ angle = angle_normalized_v3v3(l_a->f->no, l_b->f->no);
}
BLI_snprintf(numstr, sizeof(numstr), "%.3f", is_rad ? angle : RAD2DEGF(angle));
More information about the Bf-blender-cvs
mailing list