forked from 1b-agent/opencadstudio-upstream
Extend PEDIT for polygon meshes
This commit is contained in:
1 parent
2c9c5d04e1
commit
e345d89519
4 files changed
+203
-14
No files matched your search
@@ -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,
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user