pub struct WaveCell { /* private fields */ }
Implementations§
source§impl WaveCell
impl WaveCell
sourcepub fn chosen_pattern_id(&self) -> Result<PatternId, ChosenPatternIdError>
pub fn chosen_pattern_id(&self) -> Result<PatternId, ChosenPatternIdError>
Examples found in repository?
src/wfc.rs (line 1008)
999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022
pub fn enumerate_compatible_pattern_weights(
&self,
) -> EnumerateCompatiblePatternWeights {
if self.wave_cell.num_compatible_patterns == 0 {
return EnumerateCompatiblePatternWeights::NoCompatiblePattern;
}
if self.wave_cell.stats.num_weighted_compatible_patterns == 0 {
if self.wave_cell.num_compatible_patterns == 1 {
return EnumerateCompatiblePatternWeights::SingleCompatiblePatternWithoutWeight(
self.wave_cell.chosen_pattern_id().unwrap());
} else {
return EnumerateCompatiblePatternWeights::MultipleCompatiblePatternsWithoutWeights;
}
}
let iter = self
.wave_cell
.num_ways_to_become_each_pattern
.iter()
.zip(self.global_stats.pattern_stats_option_iter())
.enumerate();
EnumerateCompatiblePatternWeights::CompatiblePatternsWithWeights(
MultipleWeightedPatternsEnumerateWeights { iter },
)
}