|
@@ -710,7 +710,7 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
})
|
|
|
|
|
|
|
|
@@ -803,7 +803,7 @@ export class Viewer extends ViewerBase{
|
|
|
let interval
|
|
|
document.addEventListener('visibilitychange',(e)=>{
|
|
|
let v = !document.hidden
|
|
|
- console.warn('visibilitychange', v )
|
|
|
+ //console.warn('visibilitychange', v )
|
|
|
this.dispatchEvent({type:'pageVisible', v } )
|
|
|
|
|
|
if(this.screenshoting && !v){//截图过程中离开页面需要照常loop。但是尽量别离开页面,效果只能达到90%
|
|
@@ -963,7 +963,7 @@ export class Viewer extends ViewerBase{
|
|
|
if(panoId != void 0){
|
|
|
let pano = this.images360.getPano(panoId)
|
|
|
if((soon || this.shelterCount.byTex<this.shelterCount.maxByTex) && pano.depthTex){
|
|
|
- ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d, margin:Potree.config.shelterMargin, useDepthTex:true, pano } )
|
|
|
+ ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d, margin:Potree.config.shelterMargin, useDepthTex:true, pano, viewport:this.mainViewport , viewport:this.mainViewport} )
|
|
|
history.panos[panoId] = ifShelter
|
|
|
this.shelterCount.byTex ++ ;
|
|
|
//console.log('computeByTex direct', panoId, pos3d, ifShelter)
|
|
@@ -1033,7 +1033,7 @@ export class Viewer extends ViewerBase{
|
|
|
if(byTex >= maxTexCount)break
|
|
|
|
|
|
byTex ++
|
|
|
- let ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d:history.pos3d, margin:Potree.config.shelterMargin, useDepthTex:true } )
|
|
|
+ let ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d:history.pos3d, margin:Potree.config.shelterMargin, useDepthTex:true, viewport:this.mainViewport } )
|
|
|
history.panos[this.images360.currentPano.id] = ifShelter
|
|
|
history.ifShelter = ifShelter
|
|
|
delete history.waitCompute
|
|
@@ -1083,7 +1083,7 @@ export class Viewer extends ViewerBase{
|
|
|
result.list.forEach(e=>{
|
|
|
let history = waitCloud2.find(a=>a.pos3d.equals(e))
|
|
|
|
|
|
- let ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d:history.pos3d, margin: Potree.config.shelterMargin , pickWindowSize:3} )
|
|
|
+ let ifShelter = !!viewer.inputHandler.ifBlockedByIntersect({pos3d:history.pos3d, margin: Potree.config.shelterMargin , pickWindowSize:3, viewport:this.mainViewport} )
|
|
|
|
|
|
if(history.waitCompute.cameraPos){
|
|
|
history.notAtPano = {cameraPos: history.waitCompute.cameraPos , ifShelter }
|
|
@@ -1230,11 +1230,12 @@ export class Viewer extends ViewerBase{
|
|
|
//this.updatePanosVisibles(currentFloor/* , pointclouds */)
|
|
|
}else{
|
|
|
let pointclouds = currentFloor ? this.findPointcloudsAtFloor(currentFloor) : []
|
|
|
-
|
|
|
+
|
|
|
if(pointclouds.length == 0){//如果当前不在任何楼层或楼层中无数据集,就用当前所在数据集
|
|
|
pointclouds = this.atDatasets
|
|
|
}
|
|
|
|
|
|
+
|
|
|
this.updateCadVisibles(pointclouds)
|
|
|
//this.updatePanosVisibles(currentFloor/* , pointclouds */)
|
|
|
}
|