[Bf-blender-cvs] [e836c806e49] blender-v2.91-release: Fix T81842: Cloth brush not creating simulation areas for each tiling symmetry pass

Pablo Dobarro noreply at git.blender.org
Wed Nov 4 00:02:07 CET 2020


Commit: e836c806e494347ead406b7b52a5e4c57f095bb3
Author: Pablo Dobarro
Date:   Mon Nov 2 22:54:19 2020 +0100
Branches: blender-v2.91-release
https://developer.blender.org/rBe836c806e494347ead406b7b52a5e4c57f095bb3

Fix T81842: Cloth brush not creating simulation areas for each tiling symmetry pass

The cloth brush fixed simulation areas are created using the initial_location variable in the
 StrokeCache. This variable was not being updated by tiling symmetry, so all symmetry passes
were using the same simulation area location.

Reviewed By: sergey

Maniphest Tasks: T81842

Differential Revision: https://developer.blender.org/D9421

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

M	source/blender/editors/sculpt_paint/sculpt.c

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

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index ae0d43bcf5c..56b5a494df0 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -6242,7 +6242,9 @@ static void do_tiled(
 
   /* Position of the "prototype" stroke for tiling. */
   float orgLoc[3];
+  float original_initial_location[3];
   copy_v3_v3(orgLoc, cache->location);
+  copy_v3_v3(original_initial_location, cache->initial_location);
 
   for (int dim = 0; dim < 3; dim++) {
     if ((sd->paint.symmetry_flags & (PAINT_TILE_X << dim)) && step[dim] > 0) {
@@ -6273,6 +6275,7 @@ static void do_tiled(
         for (int dim = 0; dim < 3; dim++) {
           cache->location[dim] = cur[dim] * step[dim] + orgLoc[dim];
           cache->plane_offset[dim] = cur[dim] * step[dim];
+          cache->initial_location[dim] = cur[dim] * step[dim] + original_initial_location[dim];
         }
         action(sd, ob, brush, ups);
       }



More information about the Bf-blender-cvs mailing list