static PyObject *SVertex_curvatures_get(BPy_SVertex *self, void *UNUSED(closure)) { const CurvatureInfo *info = self->sv->getCurvatureInfo(); if (!info) Py_RETURN_NONE; Vec3r e1(info->e1.x(), info->e1.y(), info->e1.z()); Vec3r e2(info->e2.x(), info->e2.y(), info->e2.z()); Vec3r er(info->er.x(), info->er.y(), info->er.z()); PyObject *retval = PyTuple_New(7); PyTuple_SET_ITEM(retval, 0, PyFloat_FromDouble(info->K1)); PyTuple_SET_ITEM(retval, 2, Vector_from_Vec3r(e1)); PyTuple_SET_ITEM(retval, 1, PyFloat_FromDouble(info->K2)); PyTuple_SET_ITEM(retval, 3, Vector_from_Vec3r(e2)); PyTuple_SET_ITEM(retval, 4, PyFloat_FromDouble(info->Kr)); PyTuple_SET_ITEM(retval, 5, Vector_from_Vec3r(er)); PyTuple_SET_ITEM(retval, 6, PyFloat_FromDouble(info->dKr)); return retval; }
static PyObject *SVertex_normals_get(BPy_SVertex *self, void *UNUSED(closure)) { PyObject *py_normals; set< Vec3r > normals; py_normals = PyList_New(0); normals = self->sv->normals(); for (set< Vec3r >::iterator set_iterator = normals.begin(); set_iterator != normals.end(); set_iterator++) { Vec3r v(*set_iterator); PyList_Append(py_normals, Vector_from_Vec3r(v)); } return py_normals; }
static PyObject *SVertex_normals_get(BPy_SVertex *self, void *UNUSED(closure)) { PyObject *py_normals; set< Vec3r > normals = self->sv->normals(); set< Vec3r >::iterator it; py_normals = PyList_New(normals.size()); unsigned int i = 0; for (it = normals.begin(); it != normals.end(); it++) { Vec3r v(*it); PyList_SET_ITEM(py_normals, i++, Vector_from_Vec3r(v)); } return py_normals; }