Index: source/blender/python/api2_2x/NMesh.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/python/api2_2x/NMesh.c,v retrieving revision 1.42 diff -r1.42 NMesh.c 90a91,93 > static char NMesh_fillVertLoops_doc[] = > "save a whole lot of time"; > 1276a1280 > MethodDef(fillVertLoops), 2822a2827,2921 > } > > static PyObject *NMesh_fillVertLoops(PyObject *self, PyObject *args) > { > PyObject *looplist = NULL; > PyObject *vertlist = NULL; > PyObject *resultlist = NULL; > PyObject *vert; > float co[3]; > /*PyObject vco[3];*/ > int loopCount; > int vertCount; > int i,j,k; > EditVert *ev0,*evn,*evm; > EditVlak *evl; > short ok=0; > > > if (!PyArg_ParseTuple(args, "O!", &PyList_Type, &looplist)) > return EXPP_ReturnPyObjError (PyExc_TypeError, > "expected a list of edges and verts as argument"); > > /* Add loops */ > loopCount=PyList_Size(looplist); > printf("FILL: %d loops\n",loopCount); > for (i=0;i vertlist=PyList_GetItem(looplist,i); > if (PyList_Check(vertlist) && (vertCount=PyList_Size(vertlist))>1) { > printf("\tVerts in Loop[%d]: %d\n",i,vertCount); > for (j=0;j vert=PyList_GetItem(vertlist,j); > if (PyList_Check(vert) && PyList_Size(vert)>2) { > for (k=0;k<3;k++) { > co[k]=(float)PyFloat_AsDouble(PyList_GetItem(vert,k)); > } > printf("\t\t(%f,\t%f,\t%f)\n",co[0],co[1],co[2]); > evm=BLI_addfillvert(co); > if (j==0) ev0=evm; > if (j>0) BLI_addfilledge(evn,evm); > evn=evm; > } else { > return EXPP_ReturnPyObjError (PyExc_TypeError, > "broken input, go back and fix it"); > } > } > BLI_addfilledge(evn,ev0); > } else { > return EXPP_ReturnPyObjError (PyExc_TypeError, > "broken input, go back and fix it"); > } > > } > printf("Starting Scan Fill\n"); > > /* to make edgefill work */ > BLI_setScanFillObjectRef(NULL); > BLI_setErrorCallBack(NULL); > BLI_setInterruptCallBack(NULL); > BLI_setScanFillColourRef(NULL); > > ok= BLI_edgefill(0); > resultlist=PyList_New(0); > printf("Fill done (%d).\n",ok); > > if(ok) { > evl= fillvlakbase.first; > while(evl) { > printf("adding face....\n"); > vertlist=PyList_New(0); > > vert=PyList_New(0); > for (i=0;i<3;i++) > PyList_Append(vert,PyFloat_FromDouble(evl->v1->co[i])); > PyList_Append(vertlist,vert); > > vert=PyList_New(0); > for (i=0;i<3;i++) > PyList_Append(vert,PyFloat_FromDouble(evl->v2->co[i])); > PyList_Append(vertlist,vert); > > vert=PyList_New(0); > for (i=0;i<3;i++) > PyList_Append(vert,PyFloat_FromDouble(evl->v3->co[i])); > PyList_Append(vertlist,vert); > > PyList_Append(resultlist,vertlist); > > evl= evl->next; > } > } > > BLI_end_edgefill(); > > > return resultlist; Index: source/blender/python/api2_2x/NMesh.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/python/api2_2x/NMesh.h,v retrieving revision 1.25 diff -r1.25 NMesh.h 64a65 > #include "BLI_editVert.h" 172a174 > static PyObject *NMesh_fillVertLoops (PyObject *self, PyObject *args);