Browse Source

fix: 差不多搭好了

xzw 3 năm trước cách đây
mục cha
commit
6a9f0571d5

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 103633 - 100049
public/lib/potree/potree.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
public/lib/potree/potree.js.map


BIN
public/lib/potree/resources/models/glb/87b3a367bc3e4273832cb4fa398782e5.glb


BIN
public/lib/potree/resources/models/glb/87ecd10fb0374ea6b3e0bf24c6459e3c.glb


BIN
public/lib/potree/resources/models/glb/ModernJPHouseSofa44105209.glb


BIN
public/lib/potree/resources/models/glb/ModernJPHouseSofa44216499.glb


BIN
public/lib/potree/resources/models/glb/coffeemat.glb


+ 70 - 3
src/sdk/cover/index.js

@@ -1,9 +1,76 @@
 import mitt from 'mitt'
 
-export const enter = (canvas) => {
-  return {
+
+
+
+export const enter = (prop) => {
     
-  }
+    Potree.settings.isOfficial = true //标记为正式、非测试版本 
+     
+    Potree.mergeEditStart(prop.canvas)
+    let MergeEditor = viewer.modules.MergeEditor
+    
+
+    let addModelFun = (props)=> { 
+        let bus = mitt()  
+        
+        /* type = 'laser' url就是场景码
+        props = { 
+          select: boolean,
+          scale: number,
+          opacity: number,
+          bottom: number,
+          position: { x, y, z},
+          rotation: {x, y, z}
+        }
+        addModel({ url, type, props }) */
+        let model
+        let done = (model_)=>{
+            model = model_
+            model.addEventListener('changeSelect',(e)=>{
+                bus.emit('changeSelect',e.selected)
+            })
+            bus.emit('loadDone')
+        }
+        let progressFun = (progress)=>{
+            bus.emit('loadProgress',progress)
+        }
+        Potree.addModel(props,  done , progressFun)
+        
+        
+        
+        return { 
+            changeSelect(state){
+                MergeEditor.selectModel(model, state, true)
+            },
+            changeScale(s){
+                model.scale.set(s,s,s)
+                model.dispatchEvent("scale_changed")
+            },
+            changeOpacity(opacity){
+                model.travese(e=>e.material.opacity = opacity)
+            },
+            changeBottom(z){
+                MergeEditor.setModelBtmHeight(z)
+            },
+            enterRotateMode(){
+                viewer.transformObject(model);
+                viewer.transformationTool.setModeEnable('rotate',true)
+                viewer.transformationTool.setModeEnable('translation',false)
+            }, 
+            enterMoveMode(){
+                viewer.transformObject(model);
+                viewer.transformationTool.setModeEnable('rotate',false)
+                viewer.transformationTool.setModeEnable('translation',true)
+            },
+            /* leaveRotateMode(){
+                
+            } */
+        } 
+    } 
+      
+     
+    return addModelFun
 }
 
 export default enter