Cargo: kernel af749de, graph 39ef337; region area by chain shares

A region's loop area sums its pieces with Curve::chain_area, the
composable share: enclosed_area closes an open polyline by its chord.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-10 20:31:56 +03:00
1 parent 689cd71d9e
commit 309810803e
3 files changed
+7 -7

No files matched your search

+1 -1
View File
@@ -291,7 +291,7 @@ fn region_area_perimeter(region: &Region) -> (f64, f64) {
};
let curves = loops.iter().flatten().map(|curve| curve.transformed(&transform))
.collect::<Option<Vec<_>>>()?;
let area = curves.iter().map(|curve| curve.enclosed_area()).sum::<f64>().abs();
let area = curves.iter().map(|curve| curve.chain_area()).sum::<f64>().abs();
let perimeter = curves.iter().map(|curve| curve.length()).sum::<f64>();
(area.is_finite() && perimeter.is_finite()).then_some((area, perimeter))
})();