forked from 1b-agent/opencadstudio-upstream
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:
1 parent
689cd71d9e
commit
309810803e
3 files changed
+7
-7
No files matched your search
@@ -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))
|
||||
})();
|
||||
|
||||
Reference in new issue
Block a user