forked from 1b-agent/opencadstudio-upstream
fix(polyline): place added vertices live
Keep new vertices in grip placement until click and restore the original entity on Escape. Correct reverse direction and segment metadata across polyline variants.\n\nRefs #610
This commit is contained in:
1 parent
f0c1be0db1
commit
1cf2b700ce
7 files changed
+547
-56
No files matched your search
@@ -136,6 +136,21 @@ impl OpenCADStudio {
|
||||
} else {
|
||||
0
|
||||
};
|
||||
let prop_vertex = if cur_handles.len() == 1 {
|
||||
let vertex_count = self.tabs[i]
|
||||
.scene
|
||||
.document
|
||||
.get_entity(cur_handles[0])
|
||||
.and_then(|entity| match entity {
|
||||
acadrust::EntityType::LwPolyline(polyline) => Some(polyline.vertices.len()),
|
||||
acadrust::EntityType::Polyline2D(polyline) => Some(polyline.vertices.len()),
|
||||
acadrust::EntityType::Leader(leader) => Some(leader.vertices.len()),
|
||||
_ => None,
|
||||
});
|
||||
vertex_count.map_or(prop_vertex, |count| prop_vertex.min(count.saturating_sub(1)))
|
||||
} else {
|
||||
prop_vertex
|
||||
};
|
||||
let prop_vertex_indicator_active = if cur_handles == prev_handles {
|
||||
self.tabs[i].properties.prop_vertex_indicator_active
|
||||
} else {
|
||||
|
||||
Reference in new issue
Block a user