|
@@ -22715,8 +22715,9 @@
|
|
|
//ctrlPolygon是否可以拖拽到没点云的地方
|
|
|
panoZoomByPointer: false,
|
|
|
//全景图是否定点缩放
|
|
|
- areaAtNotPlane: false,
|
|
|
- fastTran: isTest
|
|
|
+ areaAtNotPlane: false
|
|
|
+
|
|
|
+ //fastTran: isTest
|
|
|
};
|
|
|
Potree.config = config$1;
|
|
|
Potree.settings = settings;
|
|
@@ -23040,6 +23041,9 @@
|
|
|
var c = this.tileSizePx / i.length() / scale //多除以一个scale缩放因子,scale越大level越小
|
|
|
,
|
|
|
level = Math.ceil(-Math.log(c) / Math.log(2) - this.bias);
|
|
|
+ if (this.style == 'dark-standard') {
|
|
|
+ level -= 1;
|
|
|
+ }
|
|
|
level = Math.max(level, 0);
|
|
|
level = Math.min(level, void 0 === this.maxDepth ? 1 / 0 : this.maxDepth);
|
|
|
this.zoomLevel = level; //add
|
|
@@ -23415,7 +23419,7 @@
|
|
|
//卫星
|
|
|
this.maxDepth = 18;
|
|
|
this.baseUrl = "https://webst01.is.autonavi.com/appmaptile?lang=zh_cn&style=6&yrs=m&x=${x}&y=${y}&z=${z}";
|
|
|
- } else if (style == 'roads') {
|
|
|
+ } else if (style == 'dark-standard') {
|
|
|
this.maxDepth = 18;
|
|
|
this.baseUrl = "https://wprd01.is.autonavi.com/appmaptile?lang=zh_cn&style=8&yrs=m&x=${x}&y=${y}&z=${z}"; //路网 加上scl=2后去掉名字
|
|
|
} else {
|
|
@@ -86791,32 +86795,7 @@
|
|
|
this.setDisplay(true);
|
|
|
});
|
|
|
});
|
|
|
- if (Potree.settings.editType != 'pano' && Potree.settings.editType != 'merge') {
|
|
|
- this.addEventListener('switchFloorplanSelect', e => {
|
|
|
- //进入平面图设置后 切换选中的数据集
|
|
|
- this.selectedFloorplan = e.pointcloud; //绝对显示
|
|
|
- this.updateFpVisiDatasets();
|
|
|
- var pointclouds;
|
|
|
- if (e.pointcloud) {
|
|
|
- pointclouds = [e.pointcloud];
|
|
|
- } else if (this.fpVisiDatasets.length) {
|
|
|
- pointclouds = this.fpVisiDatasets;
|
|
|
- }
|
|
|
- pointclouds && this.mapViewer.fitToDatasets(pointclouds);
|
|
|
- });
|
|
|
- this.modules.SiteModel.bus.addEventListener('FloorChange', e => {
|
|
|
- this.updateFpVisiDatasets();
|
|
|
- this.updatePanosVisibles(e.currentFloor); //问:编辑空间模型时,需不需要改为显示当前选择的楼层。因为若所在楼层和选中的不一致,修改选中楼层的轮廓却改不了marker显示很奇怪,尤其刚好在一个建筑内时。
|
|
|
- });
|
|
|
- this.mapViewer.mapLayer.addEventListener('floorplanLoaded', () => {
|
|
|
- this.updateCadVisibles(this.fpVisiDatasets, true); //加载完成后重新更新下
|
|
|
- });
|
|
|
-
|
|
|
- /* this.modules.Clip.bus.addEventListener('updateSelectedDatasets',()=>{
|
|
|
- this.updateFpVisiDatasets()
|
|
|
- }) */
|
|
|
- }
|
|
|
- {
|
|
|
+ if (Potree.settings.editType != 'pano' && Potree.settings.editType != 'merge' || Potree.settings.mergeType2) {
|
|
|
var updated, zoomLevel;
|
|
|
var update = e => {
|
|
|
if (e.type == 'updateModelBound' || e.viewport == this.mainViewport && (e.changeInfo.positionChanged || zoomLevel != this.images360.zoomLevel)) {
|
|
@@ -86824,7 +86803,7 @@
|
|
|
//e.changeInfo.positionChanged && shelterHistory.clear() //清空
|
|
|
(e.type == 'updateModelBound' || e.changeInfo.positionChanged) && this.updateDatasetAt(); //更新所在数据集
|
|
|
|
|
|
- if (Potree.settings.ifShowMarker && Potree.settings.editType != 'merge') {
|
|
|
+ if (Potree.settings.ifShowMarker) {
|
|
|
Common.intervalTool.isWaiting('updateMarkerVisibles', () => {
|
|
|
if (!this.mainViewport.view.isFlying()) {
|
|
|
this.updateMarkerVisibles();
|
|
@@ -86857,6 +86836,31 @@
|
|
|
|
|
|
/* } */
|
|
|
}
|
|
|
+ if (Potree.settings.editType != 'pano' && Potree.settings.editType != 'merge') {
|
|
|
+ this.addEventListener('switchFloorplanSelect', e => {
|
|
|
+ //进入平面图设置后 切换选中的数据集
|
|
|
+ this.selectedFloorplan = e.pointcloud; //绝对显示
|
|
|
+ this.updateFpVisiDatasets();
|
|
|
+ var pointclouds;
|
|
|
+ if (e.pointcloud) {
|
|
|
+ pointclouds = [e.pointcloud];
|
|
|
+ } else if (this.fpVisiDatasets.length) {
|
|
|
+ pointclouds = this.fpVisiDatasets;
|
|
|
+ }
|
|
|
+ pointclouds && this.mapViewer.fitToDatasets(pointclouds);
|
|
|
+ });
|
|
|
+ this.modules.SiteModel.bus.addEventListener('FloorChange', e => {
|
|
|
+ this.updateFpVisiDatasets();
|
|
|
+ this.updatePanosVisibles(e.currentFloor); //问:编辑空间模型时,需不需要改为显示当前选择的楼层。因为若所在楼层和选中的不一致,修改选中楼层的轮廓却改不了marker显示很奇怪,尤其刚好在一个建筑内时。
|
|
|
+ });
|
|
|
+ this.mapViewer.mapLayer.addEventListener('floorplanLoaded', () => {
|
|
|
+ this.updateCadVisibles(this.fpVisiDatasets, true); //加载完成后重新更新下
|
|
|
+ });
|
|
|
+
|
|
|
+ /* this.modules.Clip.bus.addEventListener('updateSelectedDatasets',()=>{
|
|
|
+ this.updateFpVisiDatasets()
|
|
|
+ }) */
|
|
|
+ }
|
|
|
{
|
|
|
var interval;
|
|
|
document.addEventListener('visibilitychange', e => {
|
|
@@ -92359,6 +92363,7 @@
|
|
|
}
|
|
|
function load4dkkPanos(sceneCode, model, done) {
|
|
|
//加载四维看看的漫游点并转换
|
|
|
+ model.is4dkkModel = true;
|
|
|
model.panos = [];
|
|
|
//模拟点云,需要rotX(90)+平移一段才能和四维看看的bound一样
|
|
|
var rot1M = new THREE.Matrix4().makeRotationX(Math.PI / 2);
|
|
@@ -92389,9 +92394,28 @@
|
|
|
viewer.images360.addPanoData(panoData, model);
|
|
|
viewer.images360.loadDone();
|
|
|
viewer.scene.add360Images(viewer.images360);
|
|
|
+ {
|
|
|
+ //neighbourMap全部填满,否则之后会被修改
|
|
|
+ data.sweepLocations.forEach(pano1Data => {
|
|
|
+ var pano1 = model.panos.find(e => e.originID == pano1Data.uuid);
|
|
|
+ model.panos.forEach(pano2 => {
|
|
|
+ if (pano1 == pano2) return;
|
|
|
+ var v = pano1Data.visibles.includes(pano2.originID);
|
|
|
+ viewer.images360.neighbourMap[pano1.id][pano2.id] = v;
|
|
|
+ viewer.images360.neighbourMap[pano2.id][pano1.id] = v;
|
|
|
+ if (v) {
|
|
|
+ pano1.neighbours.includes(pano2) || pano1.neighbours.push(pano2);
|
|
|
+ pano2.neighbours.includes(pano1) || pano2.neighbours.push(pano1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
viewer.modules.MergeEditor.modelTransformCallback(model, true); //初始化pano的pose
|
|
|
done();
|
|
|
});
|
|
|
+ /* neighbours: e.visibles3 || e.visibles,
|
|
|
+ noBlocks: e.visibles2,
|
|
|
+ seeMarkers: e.visibles, */
|
|
|
}
|
|
|
async function loadImgVersion(callback) {
|
|
|
var path;
|