Beispiel #1
0
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;
}
Beispiel #2
0
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;
}