diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-12-07 16:54:24 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-12-07 16:55:00 +0300 |
commit | e7c3f7ba6f1385a2138862de8568e571fa97b5b4 (patch) | |
tree | ba136dae4a8b780c674f5822fc0ec90e058c356f /source/blender/python/mathutils/mathutils_bvhtree.c | |
parent | c1f6ecdfabfbfbe3fe4207722589e02953df736e (diff) |
Update BVHTree.FromObject API, remove render argument
This information should come from the depsgraph.
Diffstat (limited to 'source/blender/python/mathutils/mathutils_bvhtree.c')
-rw-r--r-- | source/blender/python/mathutils/mathutils_bvhtree.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/source/blender/python/mathutils/mathutils_bvhtree.c b/source/blender/python/mathutils/mathutils_bvhtree.c index e671fe6a43b..b247123ecff 100644 --- a/source/blender/python/mathutils/mathutils_bvhtree.c +++ b/source/blender/python/mathutils/mathutils_bvhtree.c @@ -1053,17 +1053,18 @@ static PyObject *C_BVHTree_FromBMesh(PyObject *UNUSED(cls), PyObject *args, PyOb /* return various derived meshes based on requested settings */ static Mesh *bvh_get_mesh( const char *funcname, struct Depsgraph *depsgraph, struct Scene *scene, Object *ob, - bool use_deform, bool use_render, bool use_cage) + bool use_deform, bool use_cage) { /* we only need minimum mesh data for topology and vertex locations */ CustomDataMask mask = CD_MASK_BAREMESH; + const bool use_render = DEG_get_mode(depsgraph) == DAG_EVAL_RENDER; /* Write the display mesh into the dummy mesh */ if (use_deform) { if (use_render) { if (use_cage) { PyErr_Format(PyExc_ValueError, - "%s(...): cage arg is unsupported when (render=True)", funcname); + "%s(...): cage arg is unsupported when dependency graph evaluation mode is RENDER", funcname); return NULL; } else { @@ -1084,7 +1085,7 @@ static Mesh *bvh_get_mesh( if (use_render) { if (use_cage) { PyErr_Format(PyExc_ValueError, - "%s(...): cage arg is unsupported when (render=True)", funcname); + "%s(...): cage arg is unsupported when dependency graph evaluation mode is RENDER", funcname); return NULL; } else { @@ -1094,7 +1095,7 @@ static Mesh *bvh_get_mesh( else { if (use_cage) { PyErr_Format(PyExc_ValueError, - "%s(...): cage arg is unsupported when (deform=False, render=False)", funcname); + "%s(...): cage arg is unsupported when deform=False and dependency graph evaluation mode is not RENDER", funcname); return NULL; } else { @@ -1115,16 +1116,14 @@ PyDoc_STRVAR(C_BVHTree_FromObject_doc, " :type depsgraph: :class:`Depsgraph`\n" " :arg deform: Use mesh with deformations.\n" " :type deform: bool\n" -" :arg render: Use render settings.\n" -" :type render: bool\n" -" :arg cage: Use render settings.\n" +" :arg cage: Use modifiers cage.\n" " :type cage: bool\n" PYBVH_FROM_GENERIC_EPSILON_DOC ); static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyObject *kwargs) { /* note, options here match 'bpy_bmesh_from_object' */ - const char *keywords[] = {"object", "depsgraph", "deform", "render", "cage", "epsilon", NULL}; + const char *keywords[] = {"object", "depsgraph", "deform", "cage", "epsilon", NULL}; PyObject *py_ob, *py_depsgraph; Object *ob; @@ -1132,7 +1131,6 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO struct Scene *scene; Mesh *mesh; bool use_deform = true; - bool use_render = false; bool use_cage = false; const MLoopTri *lt; @@ -1144,10 +1142,9 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO float epsilon = 0.0f; if (!PyArg_ParseTupleAndKeywords( - args, kwargs, (char *)"OO|$O&O&O&f:BVHTree.FromObject", (char **)keywords, + args, kwargs, (char *)"OO|$O&O&f:BVHTree.FromObject", (char **)keywords, &py_ob, &py_depsgraph, PyC_ParseBool, &use_deform, - PyC_ParseBool, &use_render, PyC_ParseBool, &use_cage, &epsilon) || ((ob = PyC_RNA_AsPointer(py_ob, "Object")) == NULL) || @@ -1157,7 +1154,7 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO } scene = DEG_get_evaluated_scene(depsgraph); - mesh = bvh_get_mesh("BVHTree", depsgraph, scene, ob, use_deform, use_render, use_cage); + mesh = bvh_get_mesh("BVHTree", depsgraph, scene, ob, use_deform, use_cage); if (mesh == NULL) { return NULL; |