static void camera_to_frame_view_cb(const float co[3], void *user_data) { CameraViewFrameData *data= (CameraViewFrameData *)user_data; unsigned int i; for (i= 0; i < 4; i++) { float nd= dist_to_plane_v3(co, data->frame_tx[i], data->normal_tx[i]); if (nd < data->dist_vals[i]) { data->dist_vals[i]= nd; } } data->tot++; }
static PyObject *M_Geometry_distance_point_to_plane(PyObject *UNUSED(self), PyObject *args) { VectorObject *pt, *plene_co, *plane_no; if (!PyArg_ParseTuple(args, "O!O!O!:distance_point_to_plane", &vector_Type, &pt, &vector_Type, &plene_co, &vector_Type, &plane_no)) { return NULL; } if (BaseMath_ReadCallback(pt) == -1 || BaseMath_ReadCallback(plene_co) == -1 || BaseMath_ReadCallback(plane_no) == -1) { return NULL; } return PyFloat_FromDouble(dist_to_plane_v3(pt->vec, plene_co->vec, plane_no->vec)); }