FIX: crash when xy_dist=0 in organic tree

jira: STUDIO-11158
Change-Id: Id98a196daf5fdc128e0c10de7d0a8f19c9014c3b
This commit is contained in:
jiaxi.chen 2025-03-27 10:50:43 +08:00 committed by Lane.Wei
parent b37770ee67
commit 7ac6cedff8

View File

@ -662,6 +662,7 @@ void TreeModelVolumes::calculateAvoidance(const std::vector<RadiusLayerPair> &ke
// Limiting the offset step so that unioning the shrunk latest_avoidance with the current layer collisions // Limiting the offset step so that unioning the shrunk latest_avoidance with the current layer collisions
// will not create gaps in the resulting avoidance region letting a tree support branch tunneling through an object wall. // will not create gaps in the resulting avoidance region letting a tree support branch tunneling through an object wall.
float move_step = 1.9 * std::max(task.radius, m_current_min_xy_dist); float move_step = 1.9 * std::max(task.radius, m_current_min_xy_dist);
if (move_step < EPSILON) return;
int move_steps = round_up_divide<int>(max_move, move_step); int move_steps = round_up_divide<int>(max_move, move_step);
assert(move_steps > 0); assert(move_steps > 0);
float last_move_step = max_move - (move_steps - 1) * move_step; float last_move_step = max_move - (move_steps - 1) * move_step;