xzw 3 年之前
父節點
當前提交
487722674a
共有 6 個文件被更改,包括 17 次插入162 次删除
  1. 0 150
      note.txt
  2. 5 5
      src/Potree.js
  3. 6 2
      src/PotreeRenderer.js
  4. 1 1
      src/modules/loader/2.0/OctreeLoader.js
  5. 4 4
      src/utils/Measure.js
  6. 1 0
      src/viewer/viewer.js

+ 0 - 150
note.txt

@@ -1,150 +0,0 @@
-https://potree.org/potree/examples/page.html 
-http://localhost:1234/examples/page.html
-
- 
-
-应用navvis : 
-https://testlaser.4dkankan.com/maxkk/t-iksBApb/?image=1&vlon=4.91&vlat=-0.13&fov=100.0
-https://hq.iv.navvis.com/?site=1493761991057195&vlon=1.12&vlat=-0.52&fov=100.0&image=16902
-http://139.224.42.18:8080/siemens/?pc=true&vlon=2.59&vlat=-0.03&fov=100.0&lon=116.46694741&lat=39.98387332&z=1.807
-http://indoor.popsmart.cn:8084/sxswsw-sx/?vlon=5.25&vlat=0.03&fov=100.0&pc=true&lon=120.58634810&lat=29.99135414&z=2.002
-
-用户名:admin
-密码:ipadmin
-
- 
-========
-
-
-测试服务器可以:
-t-CwfhfqJ 大佛 有平面图 (贴图和点云有微微错位) 
-t-e2Kb2iU 隧道 
-t-8KbK1JjubE  回家湘
-t-Y22JxCS7sP 小区
-t-8BCqxQAr93 会议室
-t-AY03FoVZhm 一楼 
-t-GusppsiKEC 字节跳动楼外场景
-
-
- 
-4dkk.html 场景:
-
-t-ia44BhY 机场(两个数据集。点量大 )
-t-iksBApb 一楼 一个数据集 十个点左右
-t-Zvd3w0m 室内 4dkk的场景 三个点 
-t-OW5ShsQ 一楼 有平面图 点五个
-
- 
- 
-
-
-============== 
-添加数据集登录4dkk
-18666146601
-Aa123456
-
-==========================================================================================
-
-待完善:
-
-
-
-
----------
-优化:  |
----------
-加载深度图(因为一开始用的全景)( 用深度图来模拟全景漫游的mesh似乎行不通,因为是非线性的,但可以加载chunks,超低模,或者重写点云shader,改成mesh的,只加载到level3)
-setView 旋转改成4dkk那种
-
-当距离很远的过渡可以考虑瞬间过渡
-热点可能需要再次矫正
- 
- 
-
-
-
----------
-Bug	|
----------
-
-
-
-不是我的bug:
-
-有的点位贴图不准,回复说是计算问题。
-
-----------------
-
- 
-隐藏数据集后再全景
-截图时map为何闪一下
- 
-
-dataset校准导致导航问题、控制点?
-导航的开始点和结束点是怎么定的
-
-
-
-地图focus页面会黑屏、 =t-8KbK1JjubE#/floorpan  平面图页面卡顿
- 
-502 Bad Gateway 就会一直加载 没有处理错误
-
- 
-点击其他ui再回来会错位
-
-
-这里要显示的是自定义的平面图,但是如果没有自定义的,应该是不显示这个选项的
-
-
-最高level
- 
-
- 海拔颜色阈值调整  第二种模式
-
-
-路径规划AB调换不发请求
-
-地图坐标矫正
-
-高德地图后缀中的lonlat是什么标准?用场景里的输入后显示的位置和场景的地图不一致
-
-
-地图上画的datasetpoints为空
-
-
-
-点云大小怎样才能近似mesh无缝
- 
-
-测量线点有时出来的很慢
-截图的等待全景图加载的地方写全  现在暂时用的延时
- 
-
-测量在地图上的高度确定:
-  navvis很奇怪,在地面上很准,但是到了房屋上就只能在当前高度了。在房屋内是依靠空间模型判断属于哪个Floor楼层,得到层高。
- 
-
-导航在地图上的高度怎么定
- 
-
-
-http://localhost:8080/epc.html?m=t-CwfhfqJ 漫游点没掉了    平面图无数据
-http://localhost:8080/api/laser/filter/t-CwfhfqJ/query
-
-
- 
-测试下控制点保存
-
-
-23212 (导航)在导航页面停留一段时间不操作,界面会异常向上转 http://192.168.0.21/index.php?m=bug&f=view&bugID=23212
- 
-分享的测量线地图上的端点大小有时大有时小
- 
-
-如果两个人同时打开场景,其中一个保存了地理注册,另一个还在导航,那么得到的都是没有数据 。。。
-
-
- 
-
-
-为什么newLocation和我得到的不一样

+ 5 - 5
src/Potree.js

@@ -32,7 +32,7 @@ export * from "./materials/NormalizationMaterial.js";
 export * from "./materials/PointCloudMaterial.js";
 
 export * from "./loader/POCLoader.js";
-export * from "./modules/loader/2.0/OctreeLoader.js";
+//export * from "./modules/loader/2.0/OctreeLoader.js";
 export * from "./loader/EptLoader.js";
 export * from "./loader/ept/BinaryLoader.js";
 export * from "./loader/ept/LaszipLoader.js";
@@ -67,7 +67,7 @@ export * from "./modules/OrientedImages/OrientedImages.js";
 export * from "./modules/Images360/Images360.js";
 export * from "./modules/CameraAnimation/CameraAnimation.js";
 
-export * from "./modules/loader/2.0/OctreeLoader.js";
+//export * from "./modules/loader/2.0/OctreeLoader.js";
 
 export {OrbitControls} from "./navigation/OrbitControls.js";
 export {FirstPersonControls} from "./navigation/FirstPersonControls.js";
@@ -92,7 +92,7 @@ import "./extensions/PerspectiveCamera.js";
 import "./extensions/Ray.js";
 
 import {LRU} from "./LRU.js";
-import {OctreeLoader} from "./modules/loader/2.0/OctreeLoader.js";
+//import {OctreeLoader} from "./modules/loader/2.0/OctreeLoader.js";
 import {POCLoader} from "./loader/POCLoader.js";
 import {EptLoader} from "./loader/EptLoader.js";
 import {PointCloudOctree} from "./PointCloudOctree.js";
@@ -299,7 +299,7 @@ export function loadPointCloud(path, name, callback){
 					resolve({type: 'pointcloud_loaded', pointcloud: pointcloud});
 				}
 			});
-		} else if (path.indexOf('metadata.json') > 0) {
+		}/*  else if (path.indexOf('metadata.json') > 0) {  //部分浏览器(如uc)不支持NodeLoader中的1n的大数据写法
 			Potree.OctreeLoader.load(path).then(e => {
 				let geometry = e.geometry;
 
@@ -331,7 +331,7 @@ export function loadPointCloud(path, name, callback){
 					resolve({type: 'pointcloud_loaded', pointcloud: pointcloud});
 				}
 			});
-		} else if (path.indexOf('.vpc') > 0) {
+		}  */else if (path.indexOf('.vpc') > 0) {
 			PointCloudArena4DGeometry.load(path, function (geometry) {
 				if (!geometry) {
 					//callback({type: 'loading_failed'});

+ 6 - 2
src/PotreeRenderer.js

@@ -227,8 +227,10 @@ class Shader {
 			this.fs = gl.createShader(gl.FRAGMENT_SHADER);
 			this.program = gl.createProgram();
             
-            if(  !gl.isProgram(this.program  )){//创建失败
-                console.error('创建program失败')
+            if(  !gl.isProgram(this.program  )){//创建失败  开启多个页面可能会,原因是webglcontextlost
+                //console.error('创建program失败');
+                viewer.emit('webglError', 'potreeRenderer创建program失败')
+                return;
             }
 
 			for(let name of Object.keys(attributeLocations)){
@@ -249,7 +251,9 @@ class Shader {
 
 			gl.detachShader(program, this.vs);
 			gl.detachShader(program, this.fs);
+            
 
+            // 检测当前程序链接状态
 			let success = gl.getProgramParameter(program, gl.LINK_STATUS);
 			if (!success) {
 				let info = gl.getProgramInfoLog(program);

+ 1 - 1
src/modules/loader/2.0/OctreeLoader.js

@@ -38,7 +38,7 @@ export class NodeLoader{
 			let urlOctree = `${this.url}/../octree.bin`;
 
 			let first = byteOffset;
-			let last = byteOffset + byteSize - 1n;
+			let last = byteOffset + byteSize - 1n;  //1n这种写法部分浏览器不支持
 
 			let buffer;
 

+ 4 - 4
src/utils/Measure.js

@@ -1071,7 +1071,7 @@ function createCircleLine(){
 	return circleLine;
 }
 
-function createCircleCenter(){
+/* function createCircleCenter(){
 	const sg = new THREE.markerGeometry(1, 32, 32);
 	const sm = new THREE.MeshNormalMaterial();
 	
@@ -1079,7 +1079,7 @@ function createCircleCenter(){
 	circleCenter.visible = false;
 
 	return circleCenter;
-}
+} */
 
 function createLine(){
 	 
@@ -1136,7 +1136,7 @@ function createCircle(){
 
 }
 
-function createAzimuth(){
+/* function createAzimuth(){
 
 	const azimuth = {
 		label: null,
@@ -1191,7 +1191,7 @@ function createAzimuth(){
 	);
 
 	return azimuth;
-}
+} */
 
 
 

+ 1 - 0
src/viewer/viewer.js

@@ -256,6 +256,7 @@ export class Viewer extends ViewerBase{
                     let gl = this.renderer.getContext();
                     let error = gl.getError();
                     console.log(error);
+                    this.emit('webglError', 'webglcontextlost') 
                 }, false);
             }