Fix T97001: Grease pencil array modifier relative offset broken

This has been broken for two years, since rB29f3af952725,
which retrieved the bounding box from an object and immediately
overwrote it with -1, 1. That commit had another problem though--
the modifier stack shouldn't use object level data, it should use
data from the previous modifier.

Differential Revision: https://developer.blender.org/D14524
This commit is contained in:
Hans Goudey 2022-04-03 12:57:37 -05:00
parent 933d56d9e9
commit 637fe6f5ff
Notes: blender-bot 2023-02-14 02:58:19 +01:00
Referenced by issue #97001, GP: relative offset of Array modifier don't work properly only make 2m offset for 1.0 as factor in any axis
1 changed files with 7 additions and 7 deletions

View File

@ -132,13 +132,13 @@ static void generate_geometry(GpencilModifierData *md,
/* Get bounbox for relative offset. */
float size[3] = {0.0f, 0.0f, 0.0f};
if (mmd->flag & GP_ARRAY_USE_RELATIVE) {
BoundBox bb;
const float min[3] = {-1.0f, -1.0f, -1.0f}, max[3] = {1.0f, 1.0f, 1.0f};
BKE_boundbox_init_from_minmax(&bb, min, max);
BKE_boundbox_calc_size_aabb(&bb, size);
mul_v3_fl(size, 2.0f);
/* Need a minimum size (for flat drawings). */
CLAMP3_MIN(size, 0.01f);
float min[3];
float max[3];
if (BKE_gpencil_data_minmax(gpd, min, max)) {
sub_v3_v3v3(size, max, min);
/* Need a minimum size (for flat drawings). */
CLAMP3_MIN(size, 0.01f);
}
}
int seed = mmd->seed;