root 2 vuotta sitten
vanhempi
commit
08bc195d22

+ 1 - 0
.gitignore

@@ -12,6 +12,7 @@ dist
 dist-ssr
 *.local
 public/test
+server/test
 
 # Editor directories and files
 # .vscode/*

+ 33 - 20
public/static/lib/potree/potree.js

@@ -57148,7 +57148,7 @@
 	    depthTexture:{ value: null },
 	    nearPlane:{value: 0.1},
 	    farPlane:{value: 100000},
-
+	    uUseOrthographicCamera:{ type: "b", value: false },
 	};
 
 	ShaderLib[ 'line' ] = {
@@ -57397,7 +57397,8 @@
 		uniform vec3 diffuse;
 		uniform float opacity;
 		uniform float lineWidth;
-         
+        uniform bool uUseOrthographicCamera;
+        
 		#ifdef USE_DASH
 
 			uniform float dashOffset;
@@ -57451,9 +57452,14 @@
         #if defined(GL_EXT_frag_depth) && defined(useDepth)  
             float convertToLinear(float zValue)
             {
-                float z = zValue * 2.0 - 1.0;
-                return (2.0 * nearPlane * farPlane) / (farPlane + nearPlane - z * (farPlane - nearPlane));
+                if(uUseOrthographicCamera){
+                    return zValue*(farPlane-nearPlane)+nearPlane;
+                }else{ 
+                    float z = zValue * 2.0 - 1.0;
+                    return (2.0 * nearPlane * farPlane) / (farPlane + nearPlane - z * (farPlane - nearPlane));
+                }  
             }
+            
         #endif
 
 
@@ -58035,7 +58041,7 @@
 	            this.uniforms.nearPlane.value = camera.near;
 	            this.uniforms.farPlane.value = camera.far;
 	        }
-	           
+	        this.uniforms.uUseOrthographicCamera.value = !camera.isPerspectiveCamera;
 	    }
 
 	}
@@ -63549,11 +63555,17 @@ uniform vec3 baseColor;
     uniform float clipDistance;
     uniform float maxClipFactor;
     uniform float maxOcclusionFactor;
-
+    uniform bool uUseOrthographicCamera;
+    
+    
     float convertToLinear(float zValue)
     {
-        float z = zValue * 2.0 - 1.0;
-        return (2.0 * nearPlane * farPlane) / (farPlane + nearPlane - z * (farPlane - nearPlane));
+        if(uUseOrthographicCamera){
+            return zValue*(farPlane-nearPlane)+nearPlane;
+        }else{ 
+            float z = zValue * 2.0 - 1.0;
+            return (2.0 * nearPlane * farPlane) / (farPlane + nearPlane - z * (farPlane - nearPlane));
+        }  
     }
 #endif
   
@@ -70816,7 +70828,8 @@ void main()
 	        
 	        let uniforms = {
 				resolution:    { type: 'v2',  value: new Vector2(width, height ) },
-	            viewportOffset: { type: 'v2',  value: new Vector2(0, 0 ) }, //left, top    
+	            viewportOffset: { type: 'v2',  value: new Vector2(0, 0 ) }, //left, top   
+	            uUseOrthographicCamera:{ type: "b", value: false },
 				nearPlane:     { type: 'f', 	value: 0.1 },
 				farPlane:      { type: 'f', 	value: 10000 }, 
 				depthTexture:   { type: 't', 	value: null }, 
@@ -70830,7 +70843,8 @@ void main()
 	            maxOcclusionFactor :  { type: 'f', 	value: o.maxOcclusionFactor || 1 },  //0-1
 	            //-------add:-----
 	            replaceColor : {type:'v3', value: o.replaceColor ?  new Color(o.replaceColor) : null},
-	            beReplacedRed : {type:'f', value: o.beReplacedRed},
+	            beReplacedRed : {type:'f', value: o.beReplacedRed}, 
+	            
 	        };  
 	     
 	        super({ 
@@ -70968,7 +70982,7 @@ void main()
 	        return this
 	    }
 	    
-	    
+	     
 	    
 	    
 	    updateDepthParams(e={}){//主要用于点云遮住mesh
@@ -70985,7 +70999,9 @@ void main()
 	            this.uniforms.nearPlane.value = camera.near;
 	            this.uniforms.farPlane.value = camera.far;
 	        }
-	              
+	         
+
+	        this.uniforms.uUseOrthographicCamera.value = !camera.isPerspectiveCamera;
 	    }
 
 	    
@@ -91552,15 +91568,12 @@ void main()
 	                });
 	                
 	                faceMesh.addEventListener('click', (e)=>{  
-	                    /* if(navCubeViewer.switchView('ortho', directions[name] ,   ()=>{ 
-	                        faceMesh.material.uniforms.faceColor.value.set(Colors.black)
-	                    }) ){
-	                        faceMesh.material.uniforms.faceColor.value.set(Colors.blue) 
-	                    } */
-	                    
-	                    
 	                    if(viewer.mainViewport.view.isFlying())return
-	                    navCubeViewer.switchView('ortho', directions[name] ,   ()=>{ 
+	                     
+	                    let baseLine = viewer.scene.measurements.find(e=>e.isBaseLine);  //使基准线在俯视图中水平
+	                    let yaw = baseLine ? new Vector2().subVectors(baseLine.points[0], baseLine.points[1]).angle() : 0; 
+	                     
+	                    navCubeViewer.switchView('ortho', baseLine ? {dir: new Vector3(0,0,-1),yaw,pitch: -1.5707963267948966} : directions[name] ,   ()=>{ 
 	                        faceMesh.material.uniforms.faceColor.value.set(Colors.black);
 	                    }); 
 	                    faceMesh.material.uniforms.faceColor.value.set(Colors.blue); 

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
public/static/lib/potree/potree.js.map


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
server/test/a0k4xu045_202305311600080410/attach/sceneStore


+ 3 - 3
src/sdk/laser/core/enter.js

@@ -48,7 +48,7 @@ var enter = ({
     Potree.settings.isDebug = isDebug;
     //Potree.settings.originDatasetId = datasetId;
     
-    if (isLocal) {
+    /*if (isLocal) {
         //本地配置
         Potree.settings.isLocal = isLocal;
         for (let i in Potree.settings.urls) {
@@ -58,12 +58,12 @@ var enter = ({
     webSite && (Potree.settings.webSite = webSite);
     //axios && (Potree.fileServer = axios); //暂时不用,比如vision那里
 
-    if (staticPrefix) {
+     if (staticPrefix) {
         // "/dev/SS-t-4pMXagRDjk"
         Potree.settings.isLocal = true;
         Potree.settings.urls.prefix1 = Potree.settings.urls.prefix3 = staticPrefix;
         Potree.settings.webSite = "wwwroot";
-    }
+    } */
     
     
     Potree.getFileUrl = getFileUrl //转化为另一种得到url的方法