|
@@ -730,23 +730,26 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
{
|
|
|
let updated, zoomLevel
|
|
|
- this.addEventListener('camera_changed', e => {
|
|
|
-
|
|
|
- if(e.viewport == this.mainViewport && (e.changeInfo.positionChanged || zoomLevel != this.images360.zoomLevel)){
|
|
|
- zoomLevel = this.images360.zoomLevel //对updateMarkerVisibles有影响
|
|
|
+ let update = (e)=>{
|
|
|
+ if(e.type == 'updateModelBound' || e.viewport == this.mainViewport && (e.changeInfo.positionChanged || zoomLevel != this.images360.zoomLevel)){
|
|
|
+ zoomLevel = this.images360.zoomLevel; //对updateMarkerVisibles有影响
|
|
|
//e.changeInfo.positionChanged && shelterHistory.clear() //清空
|
|
|
- e.changeInfo.positionChanged && this.updateDatasetAt() //更新所在数据集
|
|
|
+ (e.type == 'updateModelBound' || e.changeInfo.positionChanged) && this.updateDatasetAt() //更新所在数据集
|
|
|
|
|
|
if(Potree.settings.ifShowMarker && Potree.settings.editType != 'merge'){
|
|
|
|
|
|
- Common.intervalTool.isWaiting('updateMarkerVisibles', ()=>{
|
|
|
+ Common. intervalTool.isWaiting('updateMarkerVisibles', ()=>{
|
|
|
if(!this.mainViewport.view.isFlying() ){
|
|
|
this.updateMarkerVisibles()
|
|
|
}
|
|
|
},500)
|
|
|
}
|
|
|
}
|
|
|
- })
|
|
|
+
|
|
|
+ }
|
|
|
+ this.addEventListener('camera_changed', update)
|
|
|
+ this.addEventListener('updateModelBound', update)
|
|
|
+
|
|
|
this.addEventListener('showMarkerChanged',()=>{
|
|
|
this.updatePanosVisibles(this.modules.SiteModel.currentFloor)
|
|
|
this.updateMarkerVisibles()
|
|
@@ -1259,7 +1262,7 @@ export class Viewer extends ViewerBase{
|
|
|
if(!camera_changed && count>50 || Potree.settings.displayMode == 'showPanos' )return //只有当camera_changed后才继续循环, 除了最开始几次需要连续加载下
|
|
|
camera_changed = false
|
|
|
count ++;
|
|
|
- //console.log('testPointcloudsMaxLevel中',count)
|
|
|
+ //console.log('testPointcloudsMaxLevel中', camera.type /* count */)
|
|
|
let oldCount = this.testMaxNodeCount
|
|
|
var success = true
|
|
|
viewer.scene.pointclouds.forEach(e=>{
|