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:
authorLukas Tönne <lukas.toenne@gmail.com>2014-07-09 14:17:05 +0400
committerLukas Tönne <lukas.toenne@gmail.com>2014-07-09 14:25:54 +0400
commitc9ac51ec1ffd77efcff758bc42a37fd02859a4bc (patch)
tree6538125006d72e391d9f3f59bd0611f9dcbe348a /source/blender/blenkernel/BKE_anim.h
parent6c70559f581a6e4c9047958e247e0b876a045bf8 (diff)
Fix T40164: Linking a Group of linked Groups don't take Dupli Visibility
correctly. Problem was that object layers are defined by duplis as the top-level duplicator layers. This happens //during// the duplilist construction, which breaks group layer checks for subsequent instances and hides them. Now the duplilist generators leave Object DNA untouched, the modification of layers for drawing, rendering, etc. happens afterward in the duplilist_apply/restore functions, as a kind of second pass.
Diffstat (limited to 'source/blender/blenkernel/BKE_anim.h')
-rw-r--r--source/blender/blenkernel/BKE_anim.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_anim.h b/source/blender/blenkernel/BKE_anim.h
index e49fe98aa14..0d5078bc026 100644
--- a/source/blender/blenkernel/BKE_anim.h
+++ b/source/blender/blenkernel/BKE_anim.h
@@ -73,6 +73,7 @@ int count_duplilist(struct Object *ob);
typedef struct DupliExtraData {
float obmat[4][4];
+ unsigned int lay;
} DupliExtraData;
typedef struct DupliApplyData {
@@ -80,8 +81,8 @@ typedef struct DupliApplyData {
DupliExtraData *extra;
} DupliApplyData;
-DupliApplyData *duplilist_apply_matrix(struct ListBase *duplilist);
-void duplilist_restore_matrix(struct ListBase *duplilist, DupliApplyData *apply_data);
+DupliApplyData *duplilist_apply(struct Object *ob, struct ListBase *duplilist);
+void duplilist_restore(struct ListBase *duplilist, DupliApplyData *apply_data);
void duplilist_free_apply_data(DupliApplyData *apply_data);
#endif