[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22103] branches/bmesh/blender/source/ blender: compile fix

Joseph Eagar joeedh at gmail.com
Sat Aug 1 02:53:04 CEST 2009


Revision: 22103
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22103
Author:   joeedh
Date:     2009-08-01 02:53:04 +0200 (Sat, 01 Aug 2009)

Log Message:
-----------
compile fix

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
    branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/bmesh/blender/source/blender/editors/uvedit/uvedit_parametrizer.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c	2009-08-01 00:09:57 UTC (rev 22102)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c	2009-08-01 00:53:04 UTC (rev 22103)
@@ -318,13 +318,13 @@
 	int restrictpass = 1;
 	shellWalker *shellWalk = walker->currentstate;
 	
-	if (!BLI_ghash_lookup(walker->visithash, shellWalk->base))
+	if (!BLI_ghash_haskey(walker->visithash, shellWalk->base))
 		BLI_ghash_insert(walker->visithash, shellWalk->base, NULL);
 
 	/*find the next edge whose other vertex has not been visited*/
 	curedge = shellWalk->curedge;
 	do{
-		if (!BLI_ghash_lookup(walker->visithash, curedge)) { 
+		if (!BLI_ghash_haskey(walker->visithash, curedge)) { 
 			BLI_ghash_insert(walker->visithash, curedge, NULL);
 			if(walker->restrictflag && 
 			  (!BMO_TestFlag(walker->bm, curedge, walker->restrictflag))) 

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2009-08-01 00:09:57 UTC (rev 22102)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2009-08-01 00:53:04 UTC (rev 22103)
@@ -1485,3 +1485,80 @@
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 }
+
+
+static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+	Object *obedit= CTX_data_edit_object(C);
+	ViewContext vc;
+	BMWalker walker;
+	BMEditMesh *em;
+	BMVert *eve;
+	BMEdge *e, *eed;
+	BMFace *efa;
+	short done=1, toggle=0;
+	int sel= !RNA_boolean_get(op->ptr, "deselect");
+	int limit= RNA_boolean_get(op->ptr, "limit");
+	
+	/* unified_finednearest needs ogl */
+	view3d_operator_needs_opengl(C);
+	
+	/* setup view context for argument to callbacks */
+	em_setup_viewcontext(C, &vc);
+	em = vc.em;
+
+	if(vc.em->bm->totedge==0)
+		return OPERATOR_CANCELLED;
+	
+	vc.mval[0]= event->mval[0];
+	vc.mval[1]= event->mval[1];
+	
+	/* return warning! */
+
+	/*if(limit) {
+		int retval= select_linked_limited_invoke(&vc, 0, sel);
+		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+		return retval;
+	}*/
+	
+	if( unified_findnearest(&vc, &eve, &eed, &efa)==0 ) {
+		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+	
+		return OPERATOR_CANCELLED;
+	}
+	
+	if (efa) {
+		eed = efa->loopbase->e;
+	} else if (!eed) {
+		if (!eve || !eve->edge)
+			return OPERATOR_CANCELLED;
+		
+		eed = eve->edge;
+	}
+
+	BMW_Init(&walker, em->bm, BMW_SHELL, 0);
+	e = BMW_Begin(&walker, eed);
+	for (; e; e=BMW_Step(&walker)) {
+		BM_Select(em->bm, e, sel);
+	}
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+	return OPERATOR_FINISHED;	
+}
+
+void MESH_OT_select_linked_pick(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Select Linked";
+	ot->idname= "MESH_OT_select_linked_pick";
+	
+	/* api callbacks */
+	ot->invoke= select_linked_pick_invoke;
+	ot->poll= ED_operator_editmesh;
+	
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+	
+	RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "");
+	RNA_def_boolean(ot->srna, "limit", 0, "Limit by Seams", "");
+}

Modified: branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c	2009-08-01 00:09:57 UTC (rev 22102)
+++ branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c	2009-08-01 00:53:04 UTC (rev 22103)
@@ -1855,114 +1855,6 @@
 #undef is_face_tag
 #undef face_tag
 
-static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
-#if 0 //BMESH_TODO
-	Object *obedit= CTX_data_edit_object(C);
-	ViewContext vc;
-	EditVert *eve, *v1, *v2;
-	EditEdge *eed;
-	EditFace *efa;
-	short done=1, toggle=0;
-	int sel= !RNA_boolean_get(op->ptr, "deselect");
-	int limit= RNA_boolean_get(op->ptr, "limit");
-	
-	/* unified_finednearest needs ogl */
-	view3d_operator_needs_opengl(C);
-	
-	/* setup view context for argument to callbacks */
-	em_setup_viewcontext(C, &vc);
-	
-	if(vc.em->edges.first==0) return OPERATOR_CANCELLED;
-	
-	vc.mval[0]= event->mval[0];
-	vc.mval[1]= event->mval[1];
-	
-	/* return warning! */
-	if(limit) {
-		int retval= select_linked_limited_invoke(&vc, 0, sel);
-		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-		return retval;
-	}
-	
-	if( unified_findnearest(&vc, &eve, &eed, &efa)==0 ) {
-		WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-	
-		return OPERATOR_CANCELLED;
-	}
-
-	/* clear test flags */
-	for(v1= vc.em->verts.first; v1; v1= v1->next) v1->f1= 0;
-	
-	/* start vertex/face/edge */
-	if(eve) eve->f1= 1;
-	else if(eed) eed->v1->f1= eed->v2->f1= 1;
-	else efa->v1->f1= efa->v2->f1= efa->v3->f1= 1;
-	
-	/* set flag f1 if affected */
-	while(done==1) {
-		done= 0;
-		toggle++;
-		
-		if(toggle & 1) eed= vc.em->edges.first;
-		else eed= vc.em->edges.last;
-		
-		while(eed) {
-			v1= eed->v1;
-			v2= eed->v2;
-			
-			if(eed->h==0) {
-				if(v1->f1 && v2->f1==0) {
-					v2->f1= 1;
-					done= 1;
-				}
-				else if(v1->f1==0 && v2->f1) {
-					v1->f1= 1;
-					done= 1;
-				}
-			}
-			
-			if(toggle & 1) eed= eed->next;
-			else eed= eed->prev;
-		}
-	}
-	
-	/* now use vertex f1 flag to select/deselect */
-	for(eed= vc.em->edges.first; eed; eed= eed->next) {
-		if(eed->v1->f1 && eed->v2->f1) 
-			EM_select_edge(eed, sel);
-	}
-	for(efa= vc.em->faces.first; efa; efa= efa->next) {
-		if(efa->v1->f1 && efa->v2->f1 && efa->v3->f1 && (efa->v4==NULL || efa->v4->f1)) 
-			EM_select_face(efa, sel);
-	}
-	/* no flush needed, connected geometry is done */
-	
-//	if (EM_texFaceCheck())
-	
-	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-	return OPERATOR_FINISHED;	
-#endif
-}
-
-void MESH_OT_select_linked_pick(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Select Linked";
-	ot->idname= "MESH_OT_select_linked_pick";
-	
-	/* api callbacks */
-	ot->invoke= select_linked_pick_invoke;
-	ot->poll= ED_operator_editmesh;
-	
-	/* flags */
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-	
-	RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "");
-	RNA_def_boolean(ot->srna, "limit", 0, "Limit by Seams", "");
-}
-
-
 /* ************************* */
 
 void selectconnected_mesh_all(EditMesh *em)

Modified: branches/bmesh/blender/source/blender/editors/uvedit/uvedit_parametrizer.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/uvedit/uvedit_parametrizer.c	2009-08-01 00:09:57 UTC (rev 22102)
+++ branches/bmesh/blender/source/blender/editors/uvedit/uvedit_parametrizer.c	2009-08-01 00:53:04 UTC (rev 22103)
@@ -727,8 +727,10 @@
 	return NULL;
 }
 
-int p_face_exists(PHandle *handle, PHashKey *vkeys, int i1, int i2, int i3)
+int p_face_exists(ParamHandle *phandle, ParamKey *pvkeys, int i1, int i2, int i3)
 {
+	PHandle *handle = (PHandle*)phandle;
+	PHashKey *vkeys = (PHashKey*)pvkeys;
 	PHashKey key = PHASH_edge(vkeys[i1], vkeys[i2]);
 	PEdge *e = (PEdge*)phash_lookup(handle->hash_edges, key);
 





More information about the Bf-blender-cvs mailing list