diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-11-23 19:41:38 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-11-23 20:13:14 +0300 |
commit | 9be5b2d23fb46a7da22d16decd044324ed8d4e78 (patch) | |
tree | c486399ce5c7c2b46cd9aceca7dfba272d8eb598 /source/blender/blenkernel | |
parent | 0d0c79e879fe0c7bf1f1d47968c11578a05db7cf (diff) |
Pass viewport to BASE_ related tests, for viewport view/select restrictions
Note: functions like select all are still not respecting that.
I will fix this as part of the local view commit though.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_object.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index f0f99c9cac5..e763c58efd3 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -146,7 +146,7 @@ void BKE_object_matrix_local_get(struct Object *ob, float mat[4][4]); bool BKE_object_pose_context_check(const struct Object *ob); struct Object *BKE_object_pose_armature_get(struct Object *ob); -struct Object *BKE_object_pose_armature_get_visible(struct Object *ob, struct ViewLayer *view_layer); +struct Object *BKE_object_pose_armature_get_visible(struct Object *ob, struct ViewLayer *view_layer, struct View3D *v3d); struct Object **BKE_object_pose_array_get_ex(struct ViewLayer *view_layer, unsigned int *r_objects_len, bool unique); struct Object **BKE_object_pose_array_get_unique(struct ViewLayer *view_layer, unsigned int *r_objects_len); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 95e51481d9a..5e1dab46811 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1207,13 +1207,13 @@ Object *BKE_object_pose_armature_get(Object *ob) return NULL; } -Object *BKE_object_pose_armature_get_visible(Object *ob, ViewLayer *view_layer) +Object *BKE_object_pose_armature_get_visible(Object *ob, ViewLayer *view_layer, View3D *v3d) { Object *ob_armature = BKE_object_pose_armature_get(ob); if (ob_armature) { Base *base = BKE_view_layer_base_find(view_layer, ob_armature); if (base) { - if (BASE_VISIBLE(base)) { + if (BASE_VISIBLE(v3d, base)) { return ob_armature; } } @@ -3612,8 +3612,8 @@ LinkNode *BKE_object_relational_superset(struct ViewLayer *view_layer, eObjectSe obrel_list_add(&links, ob); } else { - if ((objectSet == OB_SET_SELECTED && TESTBASELIB_BGMODE(base)) || - (objectSet == OB_SET_VISIBLE && BASE_EDITABLE_BGMODE(base))) + if ((objectSet == OB_SET_SELECTED && TESTBASELIB_BGMODE(((View3D *)NULL), base)) || + (objectSet == OB_SET_VISIBLE && BASE_EDITABLE_BGMODE(((View3D *)NULL), base))) { Object *ob = base->object; @@ -3643,7 +3643,7 @@ LinkNode *BKE_object_relational_superset(struct ViewLayer *view_layer, eObjectSe if (includeFilter & (OB_REL_CHILDREN | OB_REL_CHILDREN_RECURSIVE)) { Base *local_base; for (local_base = view_layer->object_bases.first; local_base; local_base = local_base->next) { - if (BASE_EDITABLE_BGMODE(local_base)) { + if (BASE_EDITABLE_BGMODE(((View3D *)NULL), local_base)) { Object *child = local_base->object; if (obrel_list_test(child)) { |