pub struct SheetLayout2D {
pub sheet_name: String,
pub width: u32,
pub height: u32,
pub cost: f64,
pub placements: Vec<Placement2D>,
pub used_area: u64,
pub waste_area: u64,
pub kerf_area: u64,
pub largest_usable_drop_area: u64,
pub sum_sq_usable_drop_areas: u128,
}Expand description
A single packed sheet layout produced by the solver.
Fields§
§sheet_name: StringName of the sheet type consumed by this layout.
width: u32Sheet width.
height: u32Sheet height.
cost: f64Cost of consuming this sheet.
placements: Vec<Placement2D>Rectangles placed on this sheet.
used_area: u64Total area occupied by the placements.
waste_area: u64Total wasted area on this sheet.
kerf_area: u64Area lost to kerf on this sheet. Included in waste_area; reported
separately so callers can distinguish kerf loss from unused area.
largest_usable_drop_area: u64Area of the single largest axis-aligned rectangle of unused space on
this sheet whose width and height both satisfy
>= options.min_usable_side. Zero if no such rectangle exists.
sum_sq_usable_drop_areas: u128Sum of area² over a canonical disjoint partition of this sheet’s
free region, restricted to rectangles passing min_usable_side.
Rewards consolidation: for positive a, b, a² + b² < (a+b)², so
merging two adjacent drops into one strictly increases the sum.
Trait Implementations§
Source§impl Clone for SheetLayout2D
impl Clone for SheetLayout2D
Source§fn clone(&self) -> SheetLayout2D
fn clone(&self) -> SheetLayout2D
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SheetLayout2D
impl Debug for SheetLayout2D
Source§impl<'de> Deserialize<'de> for SheetLayout2D
impl<'de> Deserialize<'de> for SheetLayout2D
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SheetLayout2D
impl PartialEq for SheetLayout2D
Source§impl Serialize for SheetLayout2D
impl Serialize for SheetLayout2D
impl StructuralPartialEq for SheetLayout2D
Auto Trait Implementations§
impl Freeze for SheetLayout2D
impl RefUnwindSafe for SheetLayout2D
impl Send for SheetLayout2D
impl Sync for SheetLayout2D
impl Unpin for SheetLayout2D
impl UnsafeUnpin for SheetLayout2D
impl UnwindSafe for SheetLayout2D
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more