diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_collection.h')
-rw-r--r-- | source/blender/blenkernel/BKE_collection.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h index 90904cdfddd..17acba78ffa 100644 --- a/source/blender/blenkernel/BKE_collection.h +++ b/source/blender/blenkernel/BKE_collection.h @@ -44,12 +44,21 @@ struct Scene; struct SceneCollection *BKE_collection_add(struct Scene *scene, struct SceneCollection *sc_parent, const char *name); bool BKE_collection_remove(struct Scene *scene, struct SceneCollection *sc); -struct SceneCollection *BKE_collection_master(struct Scene *scene); +struct SceneCollection *BKE_collection_master(const struct Scene *scene); +void BKE_collection_rename(const struct Scene *scene, struct SceneCollection *sc, const char *name); void BKE_collection_master_free(struct Scene *scene); -void BKE_collection_object_add(struct Scene *scene, struct SceneCollection *sc, struct Object *object); +void BKE_collection_object_add(const struct Scene *scene, struct SceneCollection *sc, struct Object *object); void BKE_collection_object_add_from(struct Scene *scene, struct Object *ob_src, struct Object *ob_dst); -void BKE_collection_object_remove(struct Main *bmain, struct Scene *scene, struct SceneCollection *sc, struct Object *object, const bool free_us); +void BKE_collection_object_remove(struct Main *bmain, const struct Scene *scene, struct SceneCollection *sc, struct Object *object, const bool free_us); void BKE_collections_object_remove(struct Main *bmain, struct Scene *scene, struct Object *object, const bool free_us); +void BKE_collection_object_move(const struct Scene *scene, struct SceneCollection *sc_dst, struct SceneCollection *sc_src, struct Object *ob); + +void BKE_collection_reinsert_after(const struct Scene *scene, struct SceneCollection *sc_reinsert, struct SceneCollection *sc_after); +void BKE_collection_reinsert_into(struct SceneCollection *sc_reinsert, struct SceneCollection *sc_into); + +bool BKE_collection_move_above(const struct Scene *scene, struct SceneCollection *sc_dst, struct SceneCollection *sc_src); +bool BKE_collection_move_below(const struct Scene *scene, struct SceneCollection *sc_dst, struct SceneCollection *sc_src); +bool BKE_collection_move_into(const struct Scene *scene, struct SceneCollection *sc_dst, struct SceneCollection *sc_src); typedef void (*BKE_scene_objects_Cb)(struct Object *ob, void *data); typedef void (*BKE_scene_collections_Cb)(struct SceneCollection *ob, void *data); @@ -66,20 +75,20 @@ void BKE_scene_objects_Iterator_begin(struct Iterator *iter, void *data_in); void BKE_scene_objects_Iterator_next(struct Iterator *iter); void BKE_scene_objects_Iterator_end(struct Iterator *iter); -#define FOREACH_SCENE_COLLECTION(scene, _sc) \ +#define FOREACH_SCENE_COLLECTION(scene, _instance) \ ITER_BEGIN(BKE_scene_collections_Iterator_begin, \ BKE_scene_collections_Iterator_next, \ BKE_scene_collections_Iterator_end, \ - scene, SceneCollection, _sc) + scene, SceneCollection *, _instance) #define FOREACH_SCENE_COLLECTION_END \ ITER_END -#define FOREACH_SCENE_OBJECT(scene, _ob) \ +#define FOREACH_SCENE_OBJECT(scene, _instance) \ ITER_BEGIN(BKE_scene_objects_Iterator_begin, \ BKE_scene_objects_Iterator_next, \ BKE_scene_objects_Iterator_end, \ - scene, Object, _ob) + scene, Object *, _instance) #define FOREACH_SCENE_OBJECT_END \ ITER_END |