Exemplo n.º 1
0
static PyObject* pyGBufferGroup_addVerts(pyGBufferGroup* self, PyObject* args) {
    PyObject* list;
    if (!PyArg_ParseTuple(args, "O", &list)) {
        PyErr_SetString(PyExc_TypeError, "addVertices expects a list of plGBufferVertex objects");
        return NULL;
    }
    if (!PyList_Check(list)) {
        PyErr_SetString(PyExc_TypeError, "addVertices expects a list of plGBufferVertex objects");
        return NULL;
    }

    std::vector<plGBufferVertex> verts(PyList_Size(list));
    for (size_t i=0; i<verts.size(); i++) {
        if (!pyGBufferVertex_Check(PyList_GetItem(list, i))) {
            PyErr_SetString(PyExc_TypeError, "addVertices expects a list of plGBufferVertex objects");
            return NULL;
        }
        verts[i] = *((pyGBufferVertex*)PyList_GetItem(list, i))->fThis;
    }
    self->fThis->addVertices(verts);
    Py_INCREF(Py_None);
    return Py_None;
}
Exemplo n.º 2
0
static PyObject* pyDrawableSpans_addVerts(pyDrawableSpans* self, PyObject* args) {
    int buf;
    PyObject* vlist;
    if (!PyArg_ParseTuple(args,  "iO", &buf, &vlist)) {
        PyErr_SetString(PyExc_TypeError, "addVerts expects int, list");
        return NULL;
    }
    if (!PyList_Check(vlist)) {
        PyErr_SetString(PyExc_TypeError, "addVerts expects int, list");
        return NULL;
    }
    std::vector<plGBufferVertex> verts(PyList_Size(vlist));
    for (size_t i=0; i<verts.size(); i++) {
        PyObject* vert = PyList_GetItem(vlist, i);
        if (!pyGBufferVertex_Check(vert)) {
            PyErr_SetString(PyExc_TypeError, "addVerts expects a list of plGBufferVertexes");
            return NULL;
        }
        verts[i] = *((pyGBufferVertex*)vert)->fThis;
    }
    self->fThis->addVerts(buf, verts);
    Py_INCREF(Py_None);
    return Py_None;
}