[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55242] trunk/blender/source/blender: fix for minor glitch in recent addition to create faces from partial selections .
Campbell Barton
ideasman42 at gmail.com
Wed Mar 13 15:54:47 CET 2013
Revision: 55242
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55242
Author: campbellbarton
Date: 2013-03-13 14:54:47 +0000 (Wed, 13 Mar 2013)
Log Message:
-----------
fix for minor glitch in recent addition to create faces from partial selections.
BM_edge_exists() would return an edge if both verts passed match, now assert instead.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c
trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
trunk/blender/source/blender/editors/mesh/editmesh_tools.c
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c 2013-03-13 14:50:36 UTC (rev 55241)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c 2013-03-13 14:54:47 UTC (rev 55242)
@@ -157,8 +157,8 @@
/**
* For tools that insist on using triangles, ideally we would cache this data.
*
- * \param r_loops Empty array of loops, (f->len)
- * \param r_index Empty array of loops, ((f->len - 2) * 3)
+ * \param r_loops Store face loop pointers, (f->len)
+ * \param r_index Store triangle triples, indicies into \a r_loops, ((f->len - 2) * 3)
*/
void BM_face_calc_tessellation(BMFace *f, BMLoop **r_loops, int (*_r_index)[3])
{
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.c 2013-03-13 14:50:36 UTC (rev 55241)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.c 2013-03-13 14:54:47 UTC (rev 55242)
@@ -1352,6 +1352,8 @@
BMIter iter;
BMEdge *e;
+ BLI_assert(v1 != v2);
+
BM_ITER_ELEM (e, &iter, v1, BM_EDGES_OF_VERT) {
if (e->v1 == v2 || e->v2 == v2)
return e;
Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2013-03-13 14:50:36 UTC (rev 55241)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2013-03-13 14:54:47 UTC (rev 55242)
@@ -1185,8 +1185,9 @@
(BM_edge_share_face_check(e, ed_pair_v2[0]) == false))
)
{
- BMEdge *e_other = BM_edge_exists(BM_edge_other_vert(ed_pair_v1[0], e->v1),
- BM_edge_other_vert(ed_pair_v2[0], e->v2));
+ BMVert *v1_other = BM_edge_other_vert(ed_pair_v1[0], e->v1);
+ BMVert *v2_other = BM_edge_other_vert(ed_pair_v2[0], e->v2);
+ BMEdge *e_other = (v1_other != v2_other) ? BM_edge_exists(v1_other, v2_other) : NULL;
BM_edge_select_set(bm, ed_pair_v1[0], true);
BM_edge_select_set(bm, ed_pair_v2[0], true);
if (e_other) {
More information about the Bf-blender-cvs
mailing list