pub struct LBFConfig {
pub cde_config: CDEConfig,
pub poly_simpl_tolerance: Option<f32>,
pub narrow_concavity_cutoff: Option<(f32, 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: Option<(f32, f32)>Definition of what is considered a narrow concavity that will be closed
See jagua_rs::geometry::shape_modification::ShapeModifyConfig for more details.
If undefined, the algorithm will run without closing narrow concavities
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>,
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
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