diff options
author | Ton Roosendaal <ton@blender.org> | 2006-11-14 18:27:43 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-11-14 18:27:43 +0300 |
commit | c0e9d77188680dbd0c464cddd494fbebe14c1e1f (patch) | |
tree | 856464de453eed3aa34b8307b3fe772b646951c5 /source/blender/blenkernel/BKE_object.h | |
parent | 5a609daa7575dd3bda39d07d7704e7dcfd3e7ef4 (diff) |
Next level of Proxy support for animation: Proxy for duplicated groups.
Notes:
- Only referenced groups (from other files)
- Only 1 group (no more duplicates using same group yet)
- Only Proxy working well for Armature or Empty
Is going to be reviewed in Plumiferos team; but target is that this will
solve a major animation pipeline bottleneck :)
Usage; select group, alt+ctrl+p, pick an object you want to proxify.
Diffstat (limited to 'source/blender/blenkernel/BKE_object.h')
-rw-r--r-- | source/blender/blenkernel/BKE_object.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 26f129ae2a5..fde33723cc4 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -38,12 +38,23 @@ extern "C" { #endif +/* defines now, might become functions */ + +/* proxy rule: lib_object->proxy == the one we borrow from, only set temporal and cleared here */ +/* local_object->proxy == pointer to library object, saved in files and read */ + +#define OB_COPY_PROXY(a) a->id.lib && a->proxy +#define OB_IS_PROXY(a) a->id.lib==NULL && a->proxy +#define OB_DO_PROXY(a) a->id.lib==NULL && a->proxy && a->proxy_group==NULL + + struct Base; struct Object; struct Camera; struct BoundBox; struct View3D; struct SoftBody; +struct Group; void clear_workob(void); void copy_baseflags(void); @@ -55,7 +66,7 @@ void free_object(struct Object *ob); void object_free_display(struct Object *ob); void object_free_modifiers(struct Object *ob); -void object_make_proxy(struct Object *ob, struct Object *target); +void object_make_proxy(struct Object *ob, struct Object *target, struct Object *gob); void unlink_object(struct Object *ob); int exist_object(struct Object *obtest); |