Commit: ea33b90a1bf21061ab8a862d862db4dea048b28c
Author: Antonioya
Date:   Sun Dec 16 19:53:40 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBea33b90a1bf21061ab8a862d862db4dea048b28c

Fix T59446: Grease pencil mirror modifier wrong

The mirror was working different to mesh mirror and the result was not the 
expected.

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

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 7599e7e9bce..52de1529b72 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
@@ -83,26 +83,28 @@ static void update_position(Object *ob, 
MirrorGpencilModifierData *mmd, bGPDstro
        float clear[3] = { 0.0f, 0.0f, 0.0f };
        clear[axis] = 1.0f;
 
-       float origin[3];
+       float ob_origin[3];
        float mirror_origin[3];
+       float pt_origin[3];
 
-       copy_v3_v3(origin, ob->loc);
+       copy_v3_v3(ob_origin, ob->loc);
        /* only works with current axis */
-       mul_v3_v3(origin, clear);
+       mul_v3_v3(ob_origin, clear);
        zero_v3(mirror_origin);
 
        if (mmd->object) {
-               copy_v3_v3(mirror_origin, mmd->object->loc);
-               mul_v3_v3(mirror_origin, clear);
-               sub_v3_v3(origin, mirror_origin);
+               mul_v3_v3v3(mirror_origin, mmd->object->loc, clear);
        }
+
        /* clear other axis */
        for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
-               add_v3_v3(&pt->x, origin);
                mul_v3_v3(&pt->x, factor);
-               add_v3_v3(&pt->x, mirror_origin);
+               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);
+               }
        }
-
 }
 
 /* Generic "generateStrokes" callback */

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

Reply via email to