Skip to content

Introduce bridging heuristic(s)#2286

Merged
HellAholic merged 4 commits into
5.12from
CURA-12975-consistent-bridge-line-direction
Feb 18, 2026
Merged

Introduce bridging heuristic(s)#2286
HellAholic merged 4 commits into
5.12from
CURA-12975-consistent-bridge-line-direction

Conversation

@casperlamboo

@casperlamboo Casper Lamboo (casperlamboo) commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

Description

Apply two different behaviours in the case where the bridge area is completely supported and when it is not.

If the area is completely supported from all sides calculate the minimum oriented bounding box. The orientation of this bounding box is then the angle for the bridging.

For the case where the bridge area is not completely supported the old strategy is used where each angle between $0$ and $180$ is considered, and the best evaluated direction is used.

Screenshot 2026-02-17 at 15 58 08

CURA-12975

Apply two different behaviours in the case where the bridge area is completely supported and when it is not.

If the area is completely supported from all sides calculate the minimum oriented bounding box. The orientation of this bounding box is then the angle for the bridging.

For the case where the bridge area is not completely supported the old strategy is used where each angle between 0 and 180 is considered, and the best evaluated direction is used.

NP-12975

@rburema Remco Burema (rburema) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Please have a look at my comments anyway.

(Haven't done the component test yet, but I don't expect big problems there either.)

Comment thread src/bridge/bridge.cpp
Comment thread src/utils/AABB.cpp
Comment on lines +230 to +233
for (auto iterator = shape[0].beginSegments(); iterator != shape[0].endSegments(); ++iterator)
{
const Point2LL& p1 = (*iterator).start;
const Point2LL& p2 = (*iterator).end;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side-note: I think I'd prefer it if we could use ranges (or just the for-each-type loop) for these kinds of things, but that's outside of the scope of this ticket.

Comment thread src/utils/AABB.cpp Outdated
Comment thread src/utils/AABB.cpp Outdated
Comment thread src/utils/AABB.cpp Outdated
@github-actions

github-actions Bot commented Feb 18, 2026

Copy link
Copy Markdown
Contributor

Test Results

30 tests  ±0   30 ✅ ±0   4s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 3f97001. ± Comparison against base commit 2987497.

♻️ This comment has been updated with latest results.

@HellAholic
HellAholic merged commit 8c66afb into 5.12 Feb 18, 2026
23 checks passed
@HellAholic
HellAholic deleted the CURA-12975-consistent-bridge-line-direction branch February 18, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants