|
@@ -3221,7 +3221,7 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
let viewerMaster = info.map ? this.mapViewer : this; //截图主体
|
|
|
let useMap = info.type == 'measure' || info.map
|
|
|
-
|
|
|
+ console.log('startScreenshot',width,height)
|
|
|
|
|
|
if(Potree.settings.displayMode == 'showPanos' && viewer.scene.view.isFlying('pos')){//如果在飞,飞完再截图
|
|
|
info.getImageDeferred = getImageDeferred , info.finishDeferred = finishDeferred
|
|
@@ -3257,9 +3257,9 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
this.needRender = true
|
|
|
|
|
|
- let { dataUrl } = viewerMaster.makeScreenshot( new THREE.Vector2(width,height), null, compressRatio );
|
|
|
-
|
|
|
-
|
|
|
+ //let { dataUrl } = viewerMaster.makeScreenshot( new THREE.Vector2(width,height), null, compressRatio );
|
|
|
+ let canvas = document.getElementsByTagName('canvas')[0]
|
|
|
+ let dataUrl = canvas.toDataURL()
|
|
|
|
|
|
if(!Potree.settings.isOfficial){
|
|
|
Common.downloadFile(dataUrl, 'screenshot.jpg')
|
|
@@ -3445,34 +3445,34 @@ export class Viewer extends ViewerBase{
|
|
|
let pano = this.images360.findNearestPano()
|
|
|
let dis = pano.position.distanceTo(this.mainViewport.camera.position)
|
|
|
if(dis > 3) floorplanView = true; //离远一点的平视希望也是全部加载好。勉强只能这么写
|
|
|
- console.log('floorplanView',floorplanView)
|
|
|
+ console.warn('floorplanView',floorplanView)
|
|
|
}
|
|
|
|
|
|
- let maxTime = floorplanView ? 10000 : 2000; //注意交通一般要截图两次,先截带测量线的
|
|
|
+ let maxTime = floorplanView ? 3000 : 1500; //注意交通一般要截图两次,先截带测量线的
|
|
|
setTimeout(()=>{
|
|
|
if(Potree.pointsLoading && Potree.settings.displayMode == 'showPointCloud'){//如果还在加载
|
|
|
viewer.addEventListener('pointsLoaded',()=>{ //点云加载完时(不一定准确)
|
|
|
- if(!finish)console.log('加载完毕', ' numVisiblePoints', Potree.numVisiblePoints)
|
|
|
+ if(!finish)console.warn('加载完毕', ' numVisiblePoints', Potree.numVisiblePoints)
|
|
|
dealDone()
|
|
|
},{once:true})
|
|
|
let lastNumVisiblePoints
|
|
|
if(floorplanView){ //perspective的不需要,远处加载不完也没大碍
|
|
|
setTimeout(()=>{//超时不候
|
|
|
if(!finish /* && Potree.numVisiblePoints > Potree.pointBudget * 0.7 */){
|
|
|
- console.log('加载时间达最长限制的40%,降level, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
+ console.warn('加载时间达最长限制的50%,降level, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
lastNumVisiblePoints = Potree.numVisiblePoints
|
|
|
decreaseLevel() //加载时间过长
|
|
|
}
|
|
|
- },maxTime*0.4)
|
|
|
+ },maxTime*0.5)
|
|
|
setTimeout(()=>{// 第一次降有可能没效果,因为大部分level不是最高的
|
|
|
if(!finish && (Potree.numVisiblePoints - lastNumVisiblePoints) > -10000 ){ //没怎么降
|
|
|
- console.log('加载时间达最长限制的50%,降level, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
+ console.warn('加载时间达最长限制的60%,降level, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
decreaseLevel() //加载时间过长
|
|
|
}
|
|
|
- },maxTime*0.5)
|
|
|
+ },maxTime*0.6)
|
|
|
}
|
|
|
setTimeout(()=>{//超时不候
|
|
|
- if(!finish)console.log('超时, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
+ if(!finish)console.warn('超时, numVisiblePoints', Potree.numVisiblePoints)
|
|
|
dealDone()
|
|
|
},maxTime)
|
|
|
}else{
|
|
@@ -3485,7 +3485,7 @@ export class Viewer extends ViewerBase{
|
|
|
let levels = viewer.scene.pointclouds[0].visibleNodes.map(e=>e.getLevel())
|
|
|
//console.log(levels)
|
|
|
let actMaxLevel = Math.max.apply(null, levels) //实际加载到的最高的node level
|
|
|
- console.log('decreaseLevel, 新maxLevel', actMaxLevel - 1, '原maxlevel', viewer.scene.pointclouds[0].maxLevel, 'numVisiblePoints', Potree.numVisiblePoints)
|
|
|
+ console.warn('decreaseLevel, 新maxLevel', actMaxLevel - 1, '原maxlevel', viewer.scene.pointclouds[0].maxLevel, 'numVisiblePoints', Potree.numVisiblePoints)
|
|
|
viewer.scene.pointclouds[0].maxLevel = actMaxLevel - 1
|
|
|
viewer.scene.pointclouds[0].material.oldSize_ = viewer.scene.pointclouds[0].material.size
|
|
|
viewer.scene.pointclouds[0].material.size *= 1.5
|