Extend PEDIT for polygon meshes

This commit is contained in:
ramox81 committed 2026-08-28 15:50:49 +03:00
1 parent 2c9c5d04e1
commit e345d89519
4 files changed
+203 -14

No files matched your search

+13
View File
@@ -262,6 +262,7 @@ impl OpenCADStudio {
PeditTarget {
is_poly: true,
convertible: false,
mesh_size: None,
},
)),
acadrust::EntityType::Line(_) | acadrust::EntityType::Arc(_) => {
@@ -270,9 +271,21 @@ impl OpenCADStudio {
PeditTarget {
is_poly: false,
convertible: true,
mesh_size: None,
},
))
}
acadrust::EntityType::PolygonMesh(mesh) => Some((
h,
PeditTarget {
is_poly: true,
convertible: false,
mesh_size: Some((
mesh.m_vertex_count.max(0) as usize,
mesh.n_vertex_count.max(0) as usize,
)),
},
)),
_ => None,
}
})
+1
View File
@@ -121,6 +121,7 @@ impl OpenCADStudio {
.and_then(|entity| match entity {
acadrust::EntityType::LwPolyline(polyline) => Some(polyline.vertices.len()),
acadrust::EntityType::Polyline2D(polyline) => Some(polyline.vertices.len()),
acadrust::EntityType::PolygonMesh(mesh) => Some(mesh.vertices.len()),
acadrust::EntityType::Leader(leader) => Some(leader.vertices.len()),
acadrust::EntityType::Spline(spline) => {
Some(if crate::entities::spline::shows_fit_points(spline) {
+1
View File
@@ -4901,6 +4901,7 @@ impl OpenCADStudio {
match self.tabs[i].scene.document.get_entity(handles[0]) {
Some(acadrust::EntityType::LwPolyline(p)) => p.vertices.len(),
Some(acadrust::EntityType::Polyline2D(p)) => p.vertices.len(),
Some(acadrust::EntityType::PolygonMesh(p)) => p.vertices.len(),
Some(acadrust::EntityType::Table(table)) => {
table.row_count().saturating_mul(table.column_count())
}