[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