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

Generated
+3 -3
View File
@@ -4228,7 +4228,7 @@ dependencies = [
[[package]]
name = "opencadgraph"
version = "0.1.0"
source = "git+https://github.com/HakanSeven12/opencadgraph.git?rev=3baa891#3baa891d5606ce7183c2379c354ebdf1053bed0b"
source = "git+https://github.com/HakanSeven12/opencadgraph.git?rev=39ef337#39ef3379cba693863335bb699f61f53b56212db4"
dependencies = [
"opencadkernel",
"serde_json",
@@ -4237,7 +4237,7 @@ dependencies = [
[[package]]
name = "opencadkernel"
version = "0.1.0"
source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=b234308#b23430886ce9e72a19fe4f843a95a0e31d873477"
source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=af749de#af749debbe2bd17ddda83d53ece499de7ef5619a"
dependencies = [
"cavalier_contours",
"opencadcodec",
@@ -4248,7 +4248,7 @@ dependencies = [
[[package]]
name = "opencadkernel-constraints"
version = "0.1.0"
source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=b234308#b23430886ce9e72a19fe4f843a95a0e31d873477"
source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=af749de#af749debbe2bd17ddda83d53ece499de7ef5619a"
dependencies = [
"nalgebra",
]
+3 -3
View File
@@ -35,9 +35,9 @@ clap = { version = "4", features = ["derive", "string"] }
env_logger = "0.11"
log = "0.4"
codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "8189f83", features = ["serde"] }
kernel = { package = "opencadkernel", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "b234308", features = ["acis", "offset"] }
kernel-constraints = { package = "opencadkernel-constraints", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "b234308" }
graph = { package = "opencadgraph", git = "https://github.com/HakanSeven12/opencadgraph.git", rev = "3baa891" }
kernel = { package = "opencadkernel", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "af749de", features = ["acis", "offset"] }
kernel-constraints = { package = "opencadkernel-constraints", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "af749de" }
graph = { package = "opencadgraph", git = "https://github.com/HakanSeven12/opencadgraph.git", rev = "39ef337" }
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
flate2 = "1"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
+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))
})();