static PyObject* pyGBufferGroup_addCells(pyGBufferGroup* self, PyObject* args) { PyObject* list; if (!PyArg_ParseTuple(args, "O", &list)) { PyErr_SetString(PyExc_TypeError, "addCells expects a list of plGBufferCell objects"); return NULL; } if (!PyList_Check(list)) { PyErr_SetString(PyExc_TypeError, "addCells expects a list of plGBufferCell objects"); return NULL; } std::vector<plGBufferCell> cells(PyList_Size(list)); for (size_t i=0; i<cells.size(); i++) { if (!pyGBufferCell_Check(PyList_GetItem(list, i))) { PyErr_SetString(PyExc_TypeError, "addCells expects a list of plGBufferCell objects"); return NULL; } cells[i] = *((pyGBufferCell*)PyList_GetItem(list, i))->fThis; } self->fThis->addCells(cells); Py_INCREF(Py_None); return Py_None; }
static PyObject* pyDrawableSpans_addCells(pyDrawableSpans* self, PyObject* args) { int buf; PyObject* clist; if (!PyArg_ParseTuple(args, "iO", &buf, &clist)) { PyErr_SetString(PyExc_TypeError, "addCells expects int, list"); return NULL; } if (!PyList_Check(clist)) { PyErr_SetString(PyExc_TypeError, "addCells expects int, list"); return NULL; } std::vector<plGBufferCell> cells(PyList_Size(clist)); for (size_t i=0; i<cells.size(); i++) { PyObject* cell = PyList_GetItem(clist, i); if (!pyGBufferCell_Check(cell)) { PyErr_SetString(PyExc_TypeError, "addCells expects a list of plGBufferCells"); return NULL; } cells[i] = *((pyGBufferCell*)cell)->fThis; } self->fThis->addCells(buf, cells); Py_INCREF(Py_None); return Py_None; }