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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-04-02 05:36:40 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-04-02 05:36:40 +0400
commitfb994b3c857bdf3a7313da046580c0fb76e8b620 (patch)
tree95fdc8fbc6f871fe5ae0e3d60eb62342e9daa86f /source
parent3f6158eedc5657917972ba70f1a3038104a4f066 (diff)
fix [#26727] Make Proxy ignores group offset
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/object.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index ca31cd1b0b1..56a209eca60 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1563,6 +1563,9 @@ void object_make_proxy(Object *ob, Object *target, Object *gob)
if(gob) {
ob->rotmode= target->rotmode;
mul_m4_m4m4(ob->obmat, target->obmat, gob->obmat);
+ if(gob->dup_group) { /* should always be true */
+ sub_v3_v3(ob->obmat[3], gob->dup_group->dupli_ofs);
+ }
object_apply_mat4(ob, ob->obmat, FALSE, TRUE);
}
else {
@@ -2556,6 +2559,9 @@ void object_handle_update(Scene *scene, Object *ob)
Object *obg= ob->proxy_from->proxy_group;
invert_m4_m4(obg->imat, obg->obmat);
mul_m4_m4m4(ob->obmat, ob->proxy_from->obmat, obg->imat);
+ if(obg->dup_group) { /* should always be true */
+ add_v3_v3(ob->obmat[3], obg->dup_group->dupli_ofs);
+ }
}
else
copy_m4_m4(ob->obmat, ob->proxy_from->obmat);