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
Generated
+3
-3
@@ -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
@@ -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"] }
|
||||
|
||||
@@ -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