Merge branch 'blender-v2.90-release'
This commit is contained in:
@@ -40,7 +40,7 @@ SessionUUID BLI_session_uuid_generate(void)
|
||||
if (!BLI_session_uuid_is_generated(&result)) {
|
||||
/* Happens when the UUID overflows.
|
||||
*
|
||||
* Just request the UUID once again, hoping that there are no a lot of high-priority threads
|
||||
* Just request the UUID once again, hoping that there are not a lot of high-priority threads
|
||||
* which will overflow the counter once again between the previous call and this one.
|
||||
*
|
||||
* NOTE: It is possible to have collisions after such overflow. */
|
||||
|
||||
@@ -7155,31 +7155,9 @@ static void set_profile_spacing(BevelParams *bp, ProfileSpacing *pro_spacing, bo
|
||||
return;
|
||||
}
|
||||
|
||||
int seg_2 = power_of_2_max_i(bp->seg);
|
||||
|
||||
/* Sample the input number of segments. */
|
||||
pro_spacing->xvals = (double *)BLI_memarena_alloc(bp->mem_arena, sizeof(double) * (seg + 1));
|
||||
pro_spacing->yvals = (double *)BLI_memarena_alloc(bp->mem_arena, sizeof(double) * (seg + 1));
|
||||
if (custom) {
|
||||
/* Make sure the curve profile's sample table is full. */
|
||||
if (bp->custom_profile->segments_len != seg || !bp->custom_profile->segments) {
|
||||
BKE_curveprofile_init((CurveProfile *)bp->custom_profile, (short)seg);
|
||||
}
|
||||
|
||||
/* Copy segment locations into the profile spacing struct. */
|
||||
for (int i = 0; i < seg + 1; i++) {
|
||||
pro_spacing->xvals[i] = (double)bp->custom_profile->segments[i].y;
|
||||
pro_spacing->yvals[i] = (double)bp->custom_profile->segments[i].x;
|
||||
}
|
||||
}
|
||||
else {
|
||||
find_even_superellipse_chords(seg, bp->pro_super_r, pro_spacing->xvals, pro_spacing->yvals);
|
||||
}
|
||||
int seg_2 = max_ii(power_of_2_max_i(bp->seg), 4);
|
||||
|
||||
/* Sample the seg_2 segments used during vertex mesh subdivision. */
|
||||
if (seg_2 == 2) {
|
||||
seg_2 = 4;
|
||||
}
|
||||
bp->pro_spacing.seg_2 = seg_2;
|
||||
if (seg_2 == seg) {
|
||||
pro_spacing->xvals_2 = pro_spacing->xvals;
|
||||
@@ -7205,6 +7183,25 @@ static void set_profile_spacing(BevelParams *bp, ProfileSpacing *pro_spacing, bo
|
||||
seg_2, bp->pro_super_r, pro_spacing->xvals_2, pro_spacing->yvals_2);
|
||||
}
|
||||
}
|
||||
|
||||
/* Sample the input number of segments. */
|
||||
pro_spacing->xvals = (double *)BLI_memarena_alloc(bp->mem_arena, sizeof(double) * (seg + 1));
|
||||
pro_spacing->yvals = (double *)BLI_memarena_alloc(bp->mem_arena, sizeof(double) * (seg + 1));
|
||||
if (custom) {
|
||||
/* Make sure the curve profile's sample table is full. */
|
||||
if (bp->custom_profile->segments_len != seg || !bp->custom_profile->segments) {
|
||||
BKE_curveprofile_init((CurveProfile *)bp->custom_profile, (short)seg);
|
||||
}
|
||||
|
||||
/* Copy segment locations into the profile spacing struct. */
|
||||
for (int i = 0; i < seg + 1; i++) {
|
||||
pro_spacing->xvals[i] = (double)bp->custom_profile->segments[i].y;
|
||||
pro_spacing->yvals[i] = (double)bp->custom_profile->segments[i].x;
|
||||
}
|
||||
}
|
||||
else {
|
||||
find_even_superellipse_chords(seg, bp->pro_super_r, pro_spacing->xvals, pro_spacing->yvals);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user