forked from 1b-agent/opencadstudio-upstream
Avoid surface meshes in live sweep previews
This commit is contained in:
1 parent
eca59d765b
commit
44c94d1da1
3 files changed
+7
-5
No files matched your search
Generated
+1
-1
@@ -878,7 +878,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "cadkernel"
|
name = "cadkernel"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=5fc881c0f6fbc7fb96d483cd3a4efe145ba6133f#5fc881c0f6fbc7fb96d483cd3a4efe145ba6133f"
|
source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=1a1505c7bb8e26770f14b49859587660c7519a25#1a1505c7bb8e26770f14b49859587660c7519a25"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"acadrust",
|
"acadrust",
|
||||||
"cavalier_contours",
|
"cavalier_contours",
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ rfd = "0.17"
|
|||||||
clap = { version = "4", features = ["derive"] }
|
clap = { version = "4", features = ["derive"] }
|
||||||
env_logger = "0.11"
|
env_logger = "0.11"
|
||||||
acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "393d6c0857447f9ca678bed97a612707f0a842c6", features = ["serde"] }
|
acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "393d6c0857447f9ca678bed97a612707f0a842c6", features = ["serde"] }
|
||||||
cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "5fc881c0f6fbc7fb96d483cd3a4efe145ba6133f", features = ["acis", "offset"] }
|
cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "1a1505c7bb8e26770f14b49859587660c7519a25", features = ["acis", "offset"] }
|
||||||
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
|
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
|
||||||
flate2 = "1"
|
flate2 = "1"
|
||||||
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
|
||||||
|
|||||||
@@ -168,7 +168,9 @@ fn preview_body_wires(
|
|||||||
color: [f32; 4],
|
color: [f32; 4],
|
||||||
isolines: usize,
|
isolines: usize,
|
||||||
) -> Vec<WireModel> {
|
) -> Vec<WireModel> {
|
||||||
let mesh = cadkernel::brep::mesh::tessellate(
|
// This overlay only consumes curves. Do not triangulate the body's faces
|
||||||
|
// on every cursor event just to discard the resulting surface mesh.
|
||||||
|
let wireframe = cadkernel::brep::mesh::tessellate_wireframe(
|
||||||
body,
|
body,
|
||||||
cadkernel::brep::mesh::TessellationTolerance::new(
|
cadkernel::brep::mesh::TessellationTolerance::new(
|
||||||
cadkernel::tessellation::DEFAULT_ANGLE,
|
cadkernel::tessellation::DEFAULT_ANGLE,
|
||||||
@@ -176,7 +178,7 @@ fn preview_body_wires(
|
|||||||
)
|
)
|
||||||
.with_isolines(isolines),
|
.with_isolines(isolines),
|
||||||
);
|
);
|
||||||
let mut wires = mesh
|
let mut wires = wireframe
|
||||||
.edges
|
.edges
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|edge| edge.positions.len() >= 2)
|
.filter(|edge| edge.positions.len() >= 2)
|
||||||
@@ -190,7 +192,7 @@ fn preview_body_wires(
|
|||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
wires.extend(
|
wires.extend(
|
||||||
mesh.isolines
|
wireframe.isolines
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|line| line.positions.len() >= 2)
|
.filter(|line| line.positions.len() >= 2)
|
||||||
.map(|line| {
|
.map(|line| {
|
||||||
|
|||||||
Reference in new issue
Block a user