pub struct LBFConfig {
pub cde_config: CDEConfig,
pub poly_simpl_tolerance: Option<f32>,
pub narrow_concavity_cutoff_ratio: Option<f32>,
pub min_item_separation: Option<f32>,
pub prng_seed: Option<u64>,
pub n_samples: usize,
pub ls_frac: f32,
pub svg_draw_options: SvgDrawOptions,
}Expand description
Configuration for the LBF optimizer
Fields§
§cde_config: CDEConfigConfiguration of the Collision Detection Engine
poly_simpl_tolerance: Option<f32>Max deviation from the original polygon area as a fraction. If undefined, the algorithm will run without simplification
narrow_concavity_cutoff_ratio: Option<f32>Maximum distance between two vertices of a polygon to consider it a narrow concavity (which will be closed). Defined as a fraction of the largest item in the instance.
min_item_separation: Option<f32>Minimum distance between items and other hazards. If undefined, the algorithm will run without this constraint
prng_seed: Option<u64>Seed for the PRNG. If undefined, the algorithm will run in non-deterministic mode using entropy
n_samples: usizeTotal budget of samples per item per layout
ls_frac: f32Fraction of n_samples_per_item used for the local search sampler, the rest is sampled uniformly.
svg_draw_options: SvgDrawOptionsOptional SVG drawing options
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LBFConfig
impl<'de> Deserialize<'de> for LBFConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for LBFConfig
Auto Trait Implementations§
impl Freeze for LBFConfig
impl RefUnwindSafe for LBFConfig
impl Send for LBFConfig
impl Sync for LBFConfig
impl Unpin for LBFConfig
impl UnwindSafe for LBFConfig
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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