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:
-rw-r--r--source/blender/blenkernel/BKE_object.h2
-rw-r--r--source/blender/blenkernel/intern/object.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index 618ca1a0dad..527d88917c9 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -301,6 +301,8 @@ bool BKE_object_is_animated(struct Scene *scene, struct Object *ob);
int BKE_object_is_modified(struct Scene *scene, struct Object *ob);
int BKE_object_is_deform_modified(struct Scene *scene, struct Object *ob);
+int BKE_object_scenes_users_get(struct Main *bmain, struct Object *ob);
+
struct MovieClip *BKE_object_movieclip_get(struct Scene *scene, struct Object *ob, bool use_default);
void BKE_object_runtime_reset(struct Object *object);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 64345a72740..c1af6037e05 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -3514,6 +3514,18 @@ bool BKE_object_is_animated(Scene *scene, Object *ob)
return false;
}
+/** Return the number of scenes using (instantiating) that object in their collections. */
+int BKE_object_scenes_users_get(Main *bmain, Object *ob)
+{
+ int num_scenes = 0;
+ for (Scene *scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+ if (BKE_collection_has_object_recursive(BKE_collection_master(scene), ob)) {
+ num_scenes++;
+ }
+ }
+ return num_scenes;
+}
+
MovieClip *BKE_object_movieclip_get(Scene *scene, Object *ob, bool use_default)
{
MovieClip *clip = use_default ? scene->clip : NULL;