xzw 2 månader sedan
förälder
incheckning
30fcb87451

+ 1 - 1
src/custom/mergeStartTest.js

@@ -716,7 +716,7 @@ var start = function(dom, mapDom, number, fileServer, webSite){ //t-Zvd3w0m
                  
                 viewer.loadModel({  
                     fileType: '3dgs',   
-                    url: url || Potree.resourcePath+ '/models/gaussian/0829_2.ksplat',   //meet-room
+                    url: url || Potree.resourcePath+ '/models/gaussian/meet-room.ksplat',   //meet-room
                     antialiased: Potree.browser.urlHasValue('aa'),
                     transform : { 
                         rotation : [-Math.PI/2,  0,   0],

+ 4 - 4
src/custom/modules/panos/Images360.js

@@ -183,7 +183,7 @@ export class Images360 extends THREE.EventDispatcher{
             )  return 
              
             if(Potree.settings.editType != 'pano' && Potree.settings.editType != 'merge'){
-                if( e.hoverViewport == viewer.mapViewer.viewports[0]){
+                if( e.hoverViewport == viewer.mapViewer?.viewports[0]){
                     return viewer.mapViewer.dispatchEvent(e/* {type:'global_click',e } */) 
                 }else if(e.hoverViewport != viewer.mainViewport){ //如数据集校准其他viewport
                     return
@@ -229,7 +229,7 @@ export class Images360 extends THREE.EventDispatcher{
             
             if(Potree.settings.editType != 'merge'){
             
-                let elHide = $("<input type='button' value='隐藏点云'></input>")
+                /* let elHide = $("<input type='button' value='隐藏点云'></input>")
                 elHide.css({
                     position : "absolute",
                     right : '40%',
@@ -246,7 +246,7 @@ export class Images360 extends THREE.EventDispatcher{
                         Potree.Utils.updateVisible(e, 'force', !visi) 
                     })
                     elHide.val(!visi ? "隐藏点云" : "显示点云")  
-                });
+                }); */
                 
                 
                 viewer.addEventListener('allLoaded',()=>{ 
@@ -292,7 +292,7 @@ export class Images360 extends THREE.EventDispatcher{
                 
             }
             
-            let elDisplayModel = $("<input type='button' value='>>全景'></input>")
+            let elDisplayModel = $("<input type='button' id='modeTran' value='>>全景'></input>")
             elDisplayModel.css({
                 position : "absolute",
                 right : '65%',

+ 3 - 3
src/custom/modules/route/RouteGuider.js

@@ -34,7 +34,7 @@ export class RouteGuider extends THREE.EventDispatcher{
         if(this.inited) return;
         
         let zoom, resolution=new THREE.Vector2;
-        viewer.mapViewer.addEventListener('camera_changed', e => {
+        viewer.mapViewer?.addEventListener('camera_changed', e => {
             if(!this.routeStart || !this.routeEnd) return   
             var camera = e.viewport.camera
             if(camera.zoom != zoom || !resolution.equals(e.viewport.resolution)){
@@ -154,7 +154,7 @@ export class RouteGuider extends THREE.EventDispatcher{
         this.mapMeshGroup.name = 'mapRouteLayer'
         this.mapMeshGroup.visible = false
         
-        viewer.mapViewer.dispatchEvent({type:'add', object:this.mapMeshGroup, name:'route'})
+        viewer.mapViewer?.dispatchEvent({type:'add', object:this.mapMeshGroup, name:'route'})
         this.mapArrow.layers.mask = this.mapArrows.layers.mask // 修改成和map中的layer一样的
         
         
@@ -179,7 +179,7 @@ export class RouteGuider extends THREE.EventDispatcher{
             //console.log('arrow',index, arrow.material.opacity)
         }) 
         
-        viewer.mapViewer.dispatchEvent('content_changed')
+        viewer.mapViewer?.dispatchEvent('content_changed')
     }//但是如果楼层刚好只框柱相机位置而没框住地面位置就不好了……
     
     

+ 5 - 5
src/custom/start.js

@@ -33,7 +33,7 @@ var transformPointcloud = (pointcloud, dataset)=>{
      
 }
 
-export function start(dom, mapDom, number ){ //t-Zvd3w0m
+export function start(dom, mapDom, number, options ){ //t-Zvd3w0m
     /* {
         let obj = JSON.parse(localStorage.getItem('setting'))
         for(let i in obj){
@@ -55,7 +55,7 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
     if(browser.urlHasValue('google'))Potree.settings.mapCompany = 'google' 
     if(browser.urlHasValue('timing'))Potree.measureTimings = 1
     
-    let viewer = new Potree.Viewer(dom , mapDom);
+    let viewer = new Potree.Viewer(dom , mapDom, options);
       
     let Alignment = viewer.modules.Alignment
      
@@ -95,7 +95,7 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
 
             viewer.images360.loadDone() 
             viewer.scene.add360Images(viewer.images360); 
-            viewer.mapViewer.addListener(viewer.images360)
+            viewer.mapViewer?.addListener(viewer.images360)
             
             viewer.updateModelBound() //需等pano加载完
           
@@ -103,7 +103,7 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
            
              
             if(!Potree.settings.isOfficial){
-                Potree.loadMapEntity('all') //加载floorplan 
+                viewer.mapViewer && Potree.loadMapEntity('all') //加载floorplan 
             }
             Potree.loadNeighborFile()
             Potree.setNeighborGui();
@@ -297,7 +297,7 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
             var locationLonLat = originDataset.location.slice(0,2) 
             Potree.setLonlat(locationLonLat[0], locationLonLat[1])
              
-            viewer.mapViewer && viewer.mapViewer.mapLayer.maps[0].updateProjection()
+            viewer.mapViewer?.mapLayer.maps[0].updateProjection()
             
             
             

+ 9 - 5
src/custom/viewer/ViewerNew.js

@@ -174,14 +174,18 @@ export class Viewer extends ViewerBase{
             this.modules = { 
                 Clip,
                 Alignment,
-                SiteModel,
-                RouteGuider : new RouteGuider,
+                SiteModel, 
                 clipping: new Clipping,
                 ParticleEditor,
                 CamAniEditor, 
                 volumeComputer: new VolumeComputer,
                 MergeEditor 
             }
+            if(Potree.settings.isOfficial){
+                this.modules.RouteGuider = new RouteGuider
+            }
+            
+            
         }
         {
             Potree.timeCollect = {
@@ -3470,10 +3474,10 @@ export class Viewer extends ViewerBase{
                  
                 this.renderBG(viewport)
                  
-                if(this.splatMesh){
+                /* if(this.splatMesh){
                     Potree.Utils.setCameraLayers(params.camera, ['model'])
                     this.renderer.render(this.splatMesh, params.camera) 
-                } 
+                }  */
    
                 if(Potree.settings.notAdditiveBlending ){
                     params.renderBeforeCloud = true
@@ -6021,7 +6025,7 @@ export class Viewer extends ViewerBase{
                 //dropInMode: true,
                 logLevel:10, //console info
                 antialiased: fileInfo.antialiased,
-                sharedMemoryForWorkers:  location.host.includes("www.4dmodel.com") ? false : undefined , //否则 报错 SharedArrayBuffer transfer requires self.crossOriginIsolated.  本地已经配置所以不会
+                sharedMemoryForWorkers: true, //有的 报错 SharedArrayBuffer transfer requires self.crossOriginIsolated.  本地已经配置所以不会,但我手机自带浏览器必须false
                 sphericalHarmonicsDegree:  2   //最大支持的sh Level
             });
             //let path = Potree.resourcePath+'/models/gaussian/bonsai.ksplat';

+ 1 - 1
src/custom/viewer/map/Map.js

@@ -1027,7 +1027,7 @@ export class TiledMapFromEntity extends TiledMapBase{
  
  
  目前看的几个场景floorplan原图是1米=33.03个像素  图宽度= 512*2^(max_depth-1) ,   map_size_m 代表整个地图是多少米
- 
+ 由于floorplan宽度有限制,最大32768所以不一定是33.03px, scale = resolution.width/(bound.x_max-bound.x_min), 参数见算法那边的json
 
  经纬度精度小数点后5位为米级别,6位为分米,7位是厘米
  */