|
@@ -63669,49 +63669,54 @@ void main() {
|
|
|
}
|
|
|
|
|
|
Potree.settings.sizeFitToLevel = true;//当type为衰减模式时自动根据level调节大小。每长一级,大小就除以2
|
|
|
- Potree.loadPointCloudScene = function(datasetCode, datasetName){//对应4dkk的场景码
|
|
|
-
|
|
|
- viewer.transform = null;
|
|
|
-
|
|
|
- var cloudPath = `${Potree.settings.urls.prefix}/${Potree.settings.webSite}/${datasetCode}/data/${datasetCode}/webcloud/cloud.js`;
|
|
|
- var timeStamp = dataset.createTime ? dataset.createTime.replace(/[^0-9]/ig,'') : ''; //每重算一次后缀随createTime更新一次
|
|
|
- //console.warn(dataset.name, 'timeStamp', timeStamp)
|
|
|
- Potree.loadPointCloud(cloudPath, datasetName ,datasetCode, timeStamp, e => {
|
|
|
- let scene = viewer.scene;
|
|
|
- let pointcloud = e.pointcloud;
|
|
|
- let config = Potree.config.material;
|
|
|
- let material = pointcloud.material;
|
|
|
-
|
|
|
- material.minSize = config.minSize;
|
|
|
- material.maxSize = config.maxSize;
|
|
|
- material.pointSizeType = config.pointSizeType; //Potree.PointSizeType[config.pointSizeType]//Potree.PointSizeType.ADAPTIVE;//FIXED
|
|
|
- pointcloud.changePointSize(config.realPointSize); //material.size = config.pointSize;
|
|
|
- pointcloud.changePointOpacity(1);
|
|
|
- material.shape = Potree.PointShape.SQUARE;
|
|
|
- pointcloud.color = pointcloud.material.color = dataset.color;
|
|
|
- pointcloud.dataset_id = datasetCode; //dataset.id;//供漫游点找到属于的dataset点云
|
|
|
- pointcloud.timeStamp = timeStamp;
|
|
|
- //transformPointcloud(pointcloud, dataset)
|
|
|
- scene.addPointCloud(pointcloud);
|
|
|
- {
|
|
|
+ Potree.loadPointCloudScene = function(sceneCode, done){//对应4dkk的场景码
|
|
|
+ Potree.loadDatasets((data)=>{
|
|
|
+ var originDataset = data.find(e=>e.sceneCode == sceneCode);//只加载初始数据集
|
|
|
+ var cloudPath = `${Potree.settings.urls.prefix}/${Potree.settings.webSite}/${sceneCode}/data/${sceneCode}/webcloud/cloud.js`;
|
|
|
+ var timeStamp = originDataset.createTime ? originDataset.createTime.replace(/[^0-9]/ig,'') : ''; //每重算一次后缀随createTime更新一次
|
|
|
+ //console.warn(dataset.sceneName, 'timeStamp', timeStamp)
|
|
|
+ Potree.loadPointCloud(cloudPath, originDataset.sceneName , sceneCode, timeStamp, e => {
|
|
|
+ let scene = viewer.scene;
|
|
|
+ let pointcloud = e.pointcloud;
|
|
|
+ let config = Potree.config.material;
|
|
|
+ let material = pointcloud.material;
|
|
|
|
|
|
- viewer.updateModelBound();
|
|
|
- let {boundSize, center} = viewer.bound;
|
|
|
- viewer.dispatchEvent({type:'loadPointCloudDone'});
|
|
|
- if(!Potree.settings.UserPointDensity){
|
|
|
- Potree.settings.UserPointDensity = 'high';//'middle'
|
|
|
- }
|
|
|
-
|
|
|
- Potree.Log('loadPointCloudDone 点云加载完毕', null, 10);
|
|
|
- }
|
|
|
+ material.minSize = config.minSize;
|
|
|
+ material.maxSize = config.maxSize;
|
|
|
+ material.pointSizeType = config.pointSizeType; //Potree.PointSizeType[config.pointSizeType]//Potree.PointSizeType.ADAPTIVE;//FIXED
|
|
|
+ pointcloud.changePointSize(config.realPointSize); //material.size = config.pointSize;
|
|
|
+ pointcloud.changePointOpacity(1);
|
|
|
+ material.shape = Potree.PointShape.SQUARE;
|
|
|
+ pointcloud.color = pointcloud.material.color = originDataset.color;
|
|
|
+ pointcloud.dataset_id = originDataset.id;//供漫游点找到属于的dataset点云
|
|
|
+ pointcloud.timeStamp = timeStamp;
|
|
|
+ //transformPointcloud(pointcloud, originDataset)
|
|
|
+ scene.addPointCloud(pointcloud);
|
|
|
+ {
|
|
|
+
|
|
|
+ viewer.updateModelBound();
|
|
|
+ let {boundSize, center} = viewer.bound;
|
|
|
+ viewer.dispatchEvent({type:'loadPointCloudDone'});
|
|
|
+ if(!Potree.settings.UserPointDensity){
|
|
|
+ Potree.settings.UserPointDensity = 'high';//'middle'
|
|
|
+ }
|
|
|
+
|
|
|
+ Potree.Log('loadPointCloudDone 点云加载完毕', null, 10);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* Potree.loadPanos(dataset.id, (data) => { //暂时不加载panos了,因为没有id
|
|
|
+ //console.log('loadPanos',dataset.sceneCode, dataset.id, data)
|
|
|
+ viewer.images360.addPanoData(data, dataset.id )
|
|
|
+ viewer.images360.loadDone()
|
|
|
+ viewer.scene.add360Images(viewer.images360); */
|
|
|
+ viewer.dispatchEvent('allLoaded');
|
|
|
+ done(pointcloud);
|
|
|
+ });
|
|
|
|
|
|
- /* Potree.loadPanos(dataset.id, (data) => { //暂时不加载panos了,因为没有id
|
|
|
- //console.log('loadPanos',dataset.sceneCode, dataset.id, data)
|
|
|
- viewer.images360.addPanoData(data, dataset.id )
|
|
|
- viewer.images360.loadDone()
|
|
|
- viewer.scene.add360Images(viewer.images360); */
|
|
|
- viewer.dispatchEvent('allLoaded');
|
|
|
- });
|
|
|
+
|
|
|
+ }, sceneCode);
|
|
|
+
|
|
|
+
|
|
|
};
|
|
|
|
|
|
|
|
@@ -63781,14 +63786,14 @@ void main() {
|
|
|
let isFirstLoad = !prop.position; //在编辑时用户添加的
|
|
|
|
|
|
let loadDone = (model)=>{
|
|
|
-
|
|
|
+ modelEditing = model;
|
|
|
if(isFirstLoad){
|
|
|
MergeEditor.setModelBtmHeight(model, 0); //默认离地高度为0
|
|
|
viewer.addEventListener('global_mousemove', moveModel);
|
|
|
viewer.addEventListener('global_click', confirmPos, 3);
|
|
|
}
|
|
|
- object.updateMatrixWorld();
|
|
|
- this.updateModelBound();
|
|
|
+ model.updateMatrixWorld();
|
|
|
+ viewer.updateModelBound();
|
|
|
|
|
|
done(modelEditing);
|
|
|
};
|
|
@@ -63811,7 +63816,7 @@ void main() {
|
|
|
pointcloud.addEventListener("orientation_changed", maintainBtmZ );
|
|
|
pointcloud.addEventListener("scale_changed", maintainBtmZ );
|
|
|
|
|
|
- loadDone();
|
|
|
+ loadDone(pointcloud);
|
|
|
/* pointcloud.addEventListener('select',(e)=>{
|
|
|
if(Potree.settings.displayMode == 'showPanos')return
|
|
|
console.log('select',e)
|
|
@@ -63832,10 +63837,7 @@ void main() {
|
|
|
|
|
|
|
|
|
let callback = (object)=>{
|
|
|
- //focusOnSelect(object, 1000)
|
|
|
-
|
|
|
-
|
|
|
- modelEditing = object;
|
|
|
+ //focusOnSelect(object, 1000)
|
|
|
object.isModel = true;
|
|
|
object.dataset_id = Date.now(); //暂时
|
|
|
/* object.addEventListener('select',(e)=>{
|
|
@@ -63864,7 +63866,7 @@ void main() {
|
|
|
object.addEventListener('position_changed', updateBound );
|
|
|
object.addEventListener("orientation_changed", maintainBtmZ );
|
|
|
object.addEventListener("scale_changed", maintainBtmZ );
|
|
|
- loadDone();
|
|
|
+ loadDone(object);
|
|
|
};
|
|
|
|
|
|
|
|
@@ -127921,6 +127923,7 @@ ENDSEC
|
|
|
let response = await fetch(path);
|
|
|
let text = await response.text();
|
|
|
var data = JSON.parse(text);
|
|
|
+ if(data.data) data = data.data;
|
|
|
callback && callback(data);
|
|
|
return data
|
|
|
}
|
|
@@ -127928,14 +127931,17 @@ ENDSEC
|
|
|
//查询: http://192.168.0.26:8080/doc.html#/default/filter-%E6%BC%AB%E6%B8%B8%E7%82%B9/filterUsingGET
|
|
|
}
|
|
|
|
|
|
- async function loadDatasets(callback){//之后直接把path写进来
|
|
|
- var path;
|
|
|
+ async function loadDatasets(callback,sceneCode){//之后直接把path写进来
|
|
|
+ let path;
|
|
|
+ sceneCode = sceneCode || Potree.settings.number;
|
|
|
if(Potree.fileServer){
|
|
|
- path = `/laser/dataset/${Potree.settings.number}/getDataSet`;
|
|
|
+ path = `/laser/dataset/${sceneCode}/getDataSet`;
|
|
|
}else {
|
|
|
+
|
|
|
//path = `${Potree.settings.urls.prefix2}/indoor/${Potree.settings.number}/api/datasets`
|
|
|
//现在只能加载得了本地的了
|
|
|
- path = `${Potree.scriptPath}/data/${Potree.settings.number}/getDataSet.json`;
|
|
|
+ path = `${Potree.settings.urls.prefix4}laser/dataset/${sceneCode}/getDataSet`;
|
|
|
+ //path = `${Potree.scriptPath}/data/${sceneCode}/getDataSet.json`
|
|
|
|
|
|
}
|
|
|
return loadFile(path, callback)
|
|
@@ -127994,8 +128000,9 @@ ENDSEC
|
|
|
path = `/laser/filter/${Potree.settings.number}/query` + query;
|
|
|
}else {
|
|
|
//path = `${Potree.settings.urls.prefix2}/indoor/${Potree.settings.number}/api/images/filter` + query
|
|
|
- path = `${Potree.scriptPath}/data/${Potree.settings.number}/panos-${datasetId}.json`;
|
|
|
-
|
|
|
+ //path = `${Potree.scriptPath}/data/${Potree.settings.number}/panos-${datasetId}.json`
|
|
|
+ path = `${Potree.settings.urls.prefix4}laser/filter/${Potree.settings.number}/query` + query;
|
|
|
+
|
|
|
|
|
|
}
|
|
|
return loadFile(path, callback)
|