29 #ifndef MATH_STANDALONE
38 #ifndef MATH_STANDALONE
41 ".. function:: poly_3d_calc(veclist, pt)\n"
43 " Calculate barycentric weights for a point on a polygon.\n"
45 " :arg veclist: list of vectors\n"
47 " :rtype: list of per-vector weights\n");
54 PyObject *point, *veclist, *
ret;
57 if (!PyArg_ParseTuple(args,
"OO!:poly_3d_calc", &veclist, &
vector_Type, &point)) {
86 for (i = 0; i <
len; i++) {
87 PyList_SET_ITEM(
ret, i, PyFloat_FromDouble(weights[i]));
104 #ifndef MATH_STANDALONE
108 M_Interpolate_poly_3d_calc_doc},
114 PyModuleDef_HEAD_INIT,
115 "mathutils.interpolate",
typedef float(TangentPoint)[2]
void interp_weights_poly_v3(float w[], float v[][3], const int n, const float co[3])
Read Guarded memory(de)allocation.
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
int mathutils_array_parse_alloc_v(float **array, int array_dim, PyObject *value, const char *error_prefix)
#define BaseMath_ReadCallback(_self)
PyDoc_STRVAR(M_Interpolate_doc, "The Blender interpolate module")
static PyMethodDef M_Interpolate_methods[]
static struct PyModuleDef M_Interpolate_module_def
PyMODINIT_FUNC PyInit_mathutils_interpolate(void)
static PyObject * M_Interpolate_poly_3d_calc(PyObject *UNUSED(self), PyObject *args)