mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 03:55:56 +08:00
Use gravity kernel for non rectangular beds
Also change sorting of outlines based on convex hull area and
This commit is contained in:
parent
d69d477480
commit
44d91ec353
@ -272,7 +272,7 @@ class DefaultArranger: public Arranger<ArrItem> {
|
||||
int pa = get_priority(itm1);
|
||||
int pb = get_priority(itm2);
|
||||
|
||||
return pa == pb ? envelope_area(itm1) > envelope_area(itm2) :
|
||||
return pa == pb ? area(envelope_convex_hull(itm1)) > area(envelope_convex_hull(itm2)) :
|
||||
pa > pb;
|
||||
};
|
||||
|
||||
@ -295,7 +295,11 @@ class DefaultArranger: public Arranger<ArrItem> {
|
||||
default:
|
||||
[[fallthrough]];
|
||||
case ArrangeSettingsView::asAuto:
|
||||
basekernel = TMArrangeKernel{items.size(), area(bed)};
|
||||
if constexpr (std::is_convertible_v<Bed, RectangleBed>){
|
||||
basekernel = TMArrangeKernel{items.size(), area(bed)};
|
||||
} else {
|
||||
basekernel = GravityKernel{};
|
||||
}
|
||||
break;
|
||||
case ArrangeSettingsView::asPullToCenter:
|
||||
basekernel = GravityKernel{};
|
||||
|
Loading…
x
Reference in New Issue
Block a user