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);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to