Revision: 39086
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39086
Author:   dan_w
Date:     2011-08-05 22:10:45 +0000 (Fri, 05 Aug 2011)
Log Message:
-----------
incremental commit to slines to bmesh tool. Added vertex welding and began 
unwanted vertex and edge removal

Modified Paths:
--------------
    
branches/soc-2011-avocado/blender/source/blender/bmesh/operators/primitiveops.c

Modified: 
branches/soc-2011-avocado/blender/source/blender/bmesh/operators/primitiveops.c
===================================================================
--- 
branches/soc-2011-avocado/blender/source/blender/bmesh/operators/primitiveops.c 
    2011-08-05 21:25:17 UTC (rev 39085)
+++ 
branches/soc-2011-avocado/blender/source/blender/bmesh/operators/primitiveops.c 
    2011-08-05 22:10:45 UTC (rev 39086)
@@ -686,6 +686,8 @@
        BMO_Flag_To_Slot(bm, op, "vertout", VERT_MARK, BM_VERT);
 }
 
+#define ELE_DEL                3
+
 void bmesh_create_mesh_from_splines(BMesh *bm, BMOperator *op)
 {
        bGPDstroke *gps, *gpsn;
@@ -696,6 +698,9 @@
        BMVert *bm_vertex;
        BMVert *bm_previous;
        BMVert *bm_intersect;
+       BMVert *v;
+       BMEdge *e;
+       BMIter iter;
 
        int i, j;
 
@@ -757,6 +762,7 @@
                                                        {
                                                                // there is an 
intersection hence we must add an extra vertex and 2 edges rather than just one 
edge
                                                                bm_intersect = 
BM_Make_Vert(bm, i_vec_intersect, NULL);
+                                                               BMO_SetFlag(bm, 
bm_intersect, VERT_MARK);
 
                                                                // create edge
                                                                
BM_Make_Edge(bm, bm_intersect, bm_previous, NULL, 0);
@@ -777,9 +783,20 @@
        }
 
        // perform weld on vertices that do not share an edge
+       BMO_CallOpf(bm, "removedoubles verts=%fv dist=%f", VERT_MARK, 0.001f);
 
+       // remove vertices that have 2 or less edges
 
-       // intersect each spline segment with each other spline segment
+       BM_ITER(v, &iter, bm, BM_VERTS_OF_MESH, NULL) {
+               //v->
+       }
+
+       BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) {
+               if (BMO_TestFlag(bm, e->v1, ELE_DEL) || BMO_TestFlag(bm, e->v2, 
ELE_DEL)) {
+                       BMO_SetFlag(bm, e, ELE_DEL);
+               }
+       }
+
        // generate bmesh edge list, using start of spline, end of spline, 
intersections as vertices
        // weld / merge vertices
        // fill in faces

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to