[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27750] branches/render25/source/blender/ blenkernel/intern: Render Branch: Disable group transform stuff temporarily since it still has
Brecht Van Lommel
brecht at blender.org
Thu Mar 25 19:40:07 CET 2010
Revision: 27750
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27750
Author: blendix
Date: 2010-03-25 19:40:06 +0100 (Thu, 25 Mar 2010)
Log Message:
-----------
Render Branch: Disable group transform stuff temporarily since it still has
some problems, so we can properly render things.
Modified Paths:
--------------
branches/render25/source/blender/blenkernel/intern/group.c
branches/render25/source/blender/blenkernel/intern/object.c
Modified: branches/render25/source/blender/blenkernel/intern/group.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/group.c 2010-03-25 16:28:44 UTC (rev 27749)
+++ branches/render25/source/blender/blenkernel/intern/group.c 2010-03-25 18:40:06 UTC (rev 27750)
@@ -349,7 +349,7 @@
parentinv= MEM_callocN(sizeof(float)*4*4*tot, "group parentinv");
obmat= MEM_callocN(sizeof(float)*4*4*tot, "group obmat");
- if(group->id.lib) {
+ if(0) { //group->id.lib) {
/* in case of linked groups, we ensure all object matrices are
transformed into the group space. this is to make e.g. physics
systems apply gravity in the right direction, but it clearly
@@ -405,7 +405,7 @@
object_handle_update(scene, go->ob);
}
- if(group->id.lib) {
+ if(0) { //group->id.lib) {
for(a=0, go= group->gobject.first; go; go= go->next, a++) {
if(go->ob) {
/* we restore object matrices by copy to avoid numerical
Modified: branches/render25/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/object.c 2010-03-25 16:28:44 UTC (rev 27749)
+++ branches/render25/source/blender/blenkernel/intern/object.c 2010-03-25 18:40:06 UTC (rev 27750)
@@ -2538,7 +2538,13 @@
/* handle proxy copy for target */
if(ob->id.lib && ob->proxy_from) {
// printf("ob proxy copy, lib ob %s proxy %s\n", ob->id.name, ob->proxy_from->id.name);
- copy_m4_m4(ob->obmat, ob->proxy_from->obmat);
+ if(ob->proxy_from->proxy_group) {/* transform proxy into group space */
+ 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);
+ }
+ else
+ copy_m4_m4(ob->obmat, ob->proxy_from->obmat);
}
else
where_is_object(scene, ob);
More information about the Bf-blender-cvs
mailing list