forked from 1b-agent/opencadstudio-upstream
Merge PR #322: perf — responsive large copy/paste + point picking
External contributor sLuCHa (sLuCHaa). Gates O(k²) snap intersection passes, O(1) handle lookups in preview, bbox paste anchor/ghost, count-only properties panel for huge selections, incremental paste mesh.
This commit is contained in:
commit
17f46968d8
7 files changed
+143
-35
No files matched your search
@@ -70,8 +70,9 @@ impl OpenCADStudio {
|
||||
.iter()
|
||||
.filter_map(|&h| self.tabs[i].scene.document.get_entity(h).cloned())
|
||||
.collect();
|
||||
self.clipboard_centroid = super::super::helpers::entities_centroid(
|
||||
&self.tabs[i].scene.wire_models_for(&handles),
|
||||
self.clipboard_centroid = super::super::helpers::entities_centroid_by_bbox(
|
||||
&self.tabs[i].scene.document,
|
||||
&handles,
|
||||
);
|
||||
self.clipboard = entities;
|
||||
self.clipboard_deps = super::super::ClipboardDeps::capture(
|
||||
@@ -158,8 +159,9 @@ impl OpenCADStudio {
|
||||
.iter()
|
||||
.filter_map(|&h| self.tabs[i].scene.document.get_entity(h).cloned())
|
||||
.collect();
|
||||
self.clipboard_centroid = super::super::helpers::entities_centroid(
|
||||
&self.tabs[i].scene.wire_models_for(&handles),
|
||||
self.clipboard_centroid = super::super::helpers::entities_centroid_by_bbox(
|
||||
&self.tabs[i].scene.document,
|
||||
&handles,
|
||||
);
|
||||
let count = entities.len();
|
||||
self.clipboard = entities;
|
||||
|
||||
Reference in new issue
Block a user