Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2018-12-07 16:54:24 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-12-07 16:55:00 +0300
commite7c3f7ba6f1385a2138862de8568e571fa97b5b4 (patch)
treeba136dae4a8b780c674f5822fc0ec90e058c356f /source/blender/python
parentc1f6ecdfabfbfbe3fe4207722589e02953df736e (diff)
Update BVHTree.FromObject API, remove render argument
This information should come from the depsgraph.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/mathutils/mathutils_bvhtree.c21
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;