xzw 3 年之前
父节点
当前提交
d20433b745
共有 3 个文件被更改,包括 21 次插入11 次删除
  1. 8 1
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 12 9
      src/sdk/cover/index.js

+ 8 - 1
public/lib/potree/potree.js

@@ -63914,6 +63914,7 @@ void main() {
                 
             }
         };
+        return {THREE: THREE$1}
     };
 
 
@@ -115008,7 +115009,13 @@ ENDSEC
             let models = this.getAllObjects();
             return models.find(e=>e.dataset_id == id)
         },
-        
+        removeModel(model){
+            model.traverse(e=>{
+                e.geometry && e.geometry.dispose(); 
+                e.material && e.material.dispose();
+            });
+            viewer.objs.remove(model);
+        },
         
         selectModel(model, state=true, by2d){
             if(!model) {

文件差异内容过多而无法显示
+ 1 - 1
public/lib/potree/potree.js.map


+ 12 - 9
src/sdk/cover/index.js

@@ -10,10 +10,10 @@ export const enter = (dom) => {
     Potree.settings.libsUrl = '../lib/'
     
     
-    Potree.mergeEditStart(dom)
+    let {THREE} = Potree.mergeEditStart(dom)
     let MergeEditor = viewer.modules.MergeEditor
     
-    
+  
     
     
     let getPositionByScreen = (pos2d, mustModelId )=>{//通过屏幕坐标获取真实坐标 . mustModelId: 如果指定了模型,modelId必须为mustModelId才有效
@@ -39,15 +39,16 @@ export const enter = (dom) => {
                 }) 
             }
         }
-        if (pos2d && pos2d.inDrag) { 
-            
+        if (pos2d && pos2d.inDrag) {  
             reGet() 
         } else {
             intersect = Handler.intersect
-            modelId = intersect.pointcloud ? intersect.pointcloud.dataset_id : intersect.object.dataset_id
-            if(mustModelId != void 0 && modelId != mustModelId){
-                reGet()
-            } 
+            if(intersect){
+                modelId = intersect.pointcloud ? intersect.pointcloud.dataset_id : intersect.object.dataset_id
+                if(mustModelId != void 0 && modelId != mustModelId){
+                    reGet()
+                } 
+            }
         }
 
         if (intersect && intersect.location) {
@@ -180,7 +181,9 @@ export const enter = (dom) => {
                     viewer.transformationTool.setModeEnable('translation',true)
                 }
             },
-            
+            destroy(){
+                MergeEditor.removeModel(model) 
+            }
             /* leaveRotateMode(){
                 
             } */