mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 23:55:59 +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 pa = get_priority(itm1);
|
||||||
int pb = get_priority(itm2);
|
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;
|
pa > pb;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -295,7 +295,11 @@ class DefaultArranger: public Arranger<ArrItem> {
|
|||||||
default:
|
default:
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case ArrangeSettingsView::asAuto:
|
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;
|
break;
|
||||||
case ArrangeSettingsView::asPullToCenter:
|
case ArrangeSettingsView::asPullToCenter:
|
||||||
basekernel = GravityKernel{};
|
basekernel = GravityKernel{};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user