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:
Diffstat (limited to 'source/blender/blenkernel/BKE_object.h')
-rw-r--r--source/blender/blenkernel/BKE_object.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index 890fc40c284..b8ba3095905 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -158,6 +158,26 @@ void BKE_object_relink(struct Object *ob);
struct MovieClip *BKE_object_movieclip_get(struct Scene *scene, struct Object *ob, int use_default);
+/* this function returns a superset of the scenes selection based on relationships */
+
+typedef enum eObRelationTypes {
+ OB_REL_NONE = 0, /* just the selection as is */
+ OB_REL_PARENT = (1 << 0), /* immediate parent */
+ OB_REL_PARENT_RECURSIVE = (1 << 1), /* parents up to root of selection tree*/
+ OB_REL_CHILDREN = (1 << 2), /* immediate children */
+ OB_REL_CHILDREN_RECURSIVE = (1 << 3), /* All children */
+ OB_REL_MOD_ARMATURE = (1 << 4), /* Armatures related to the selected objects */
+ OB_REL_SCENE_CAMERA = (1 << 5), /* you might want the scene camera too even if unselected? */
+} eObRelationTypes;
+
+typedef enum eObjectSet {
+ OB_SET_SELECTED, /* Selected Objects */
+ OB_SET_VISIBLE, /* Visible Objects */
+ OB_SET_ALL /* All Objects */
+} eObjectSet;
+
+struct LinkNode *BKE_object_relational_superset(struct Scene *scene, eObjectSet objectSet, eObRelationTypes includeFilter);
+
#ifdef __cplusplus
}
#endif