Commit: 69240a66e0a9914b8bfafb7a401c43cc757ad9ae
Author: Antonioya
Date:   Sun Jan 20 17:57:13 2019 +0100
Branches: master
https://developer.blender.org/rB69240a66e0a9914b8bfafb7a401c43cc757ad9ae

GP: Fix mirror modifier with parent object

Still problems when local rotation.

Some cleanup done.

===================================================================

M       source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c

===================================================================

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c 
b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
index 52de1529b72..00ffabe3c36 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
@@ -84,24 +84,26 @@ static void update_position(Object *ob, 
MirrorGpencilModifierData *mmd, bGPDstro
        clear[axis] = 1.0f;
 
        float ob_origin[3];
-       float mirror_origin[3];
        float pt_origin[3];
 
-       copy_v3_v3(ob_origin, ob->loc);
+       if (mmd->object) {
+               float inv_mat[4][4];
+
+               invert_m4_m4(inv_mat, mmd->object->obmat);
+               mul_v3_m4v3(ob_origin, inv_mat, ob->obmat[3]);
+       }
+       else {
+               copy_v3_v3(ob_origin, ob->obmat[3]);
+       }
+
        /* only works with current axis */
        mul_v3_v3(ob_origin, clear);
-       zero_v3(mirror_origin);
 
-       if (mmd->object) {
-               mul_v3_v3v3(mirror_origin, mmd->object->loc, clear);
-       }
+       mul_v3_v3fl(pt_origin, ob_origin, -2.0f);
 
-       /* clear other axis */
        for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
                mul_v3_v3(&pt->x, factor);
                if (mmd->object) {
-                       sub_v3_v3v3(pt_origin, ob_origin, mirror_origin);
-                       mul_v3_fl(pt_origin, -2.0f);
                        add_v3_v3(&pt->x, pt_origin);
                }
        }

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

Reply via email to