|
@@ -62547,7 +62547,7 @@ float getPointSize(){
|
|
|
#elif defined attenuated_point_size
|
|
|
if(uUseOrthographicCamera){
|
|
|
//pointSize = size * 100.0; //加个乘数
|
|
|
-
|
|
|
+ //2023.11.1多加一个*2.0
|
|
|
pointSize = size / uOrthoWidth * resolution.x * 2.0; //改成近似adaptive_point_size根据窗口缩放
|
|
|
maxSize_ = 6.0; //for panoEditor, when zoom in, need more details, rather than always same size
|
|
|
|
|
@@ -82648,13 +82648,15 @@ void main()
|
|
|
|
|
|
}
|
|
|
|
|
|
- focus({dontMoveCamera=false}={}){
|
|
|
+ focus({dontMoveCamera=false}={}){
|
|
|
+ if(this.clickSelected)return
|
|
|
if(Potree.settings.displayMode == 'showPanos')dontMoveCamera = true; //2023.10.24 新需求:点击后不移动,否则经常跳到别的点。且在app上会反应一秒才选中。
|
|
|
+
|
|
|
if(!dontMoveCamera){
|
|
|
let dontChangeCamDir = viewer.mainViewport.camera.type == 'OrthographicCamera'; /* && math.closeTo( viewer.mainViewport.view.pitch , -1.57079632) */ // 不改角度
|
|
|
viewer.focusOnObject(this, 'measure', null, {dontChangeCamDir});
|
|
|
}
|
|
|
- if(this.clickSelected)return
|
|
|
+
|
|
|
this.setSelected(true, 'focus');
|
|
|
this.dispatchEvent({type:'selected', state:true});
|
|
|
this.clickSelected = true;
|
|
@@ -89192,7 +89194,7 @@ void main()
|
|
|
*
|
|
|
*
|
|
|
*/
|
|
|
-
|
|
|
+
|
|
|
|
|
|
let {Buttons} = Potree.defines;
|
|
|
|
|
@@ -90532,7 +90534,7 @@ void main()
|
|
|
}else {
|
|
|
raycaster.params.Line.threshold = 0.04; //相对长度
|
|
|
}
|
|
|
- raycaster.params.Line2 = {threshold :20 }; //拓宽的lineWidth
|
|
|
+ raycaster.params.Line2 = {threshold : browser.isMobile()?100:20 }; //拓宽的lineWidth
|
|
|
|
|
|
//raycaster.layers.enableAll()//add
|
|
|
Potree.Utils.setCameraLayers(raycaster, //设置能识别到的layers(如空间模型里只有mapViewer能识别到marker)
|
|
@@ -103580,7 +103582,7 @@ ENDSEC
|
|
|
|
|
|
setBoxPose(){
|
|
|
//box底部不变,永远在bound的底部。但top会根据height改变
|
|
|
-
|
|
|
+ this.box.position.copy(viewer.bound.center);
|
|
|
let boxData = this.getBoxData();
|
|
|
this.setRot(boxData.rotAngle);
|
|
|
this.setScale(boxData.scaleXY);
|
|
@@ -137489,7 +137491,7 @@ ENDSEC
|
|
|
|
|
|
let decreaseLevel = ()=>{ //降点云level
|
|
|
let levels = viewer.scene.pointclouds[0].visibleNodes.map(e=>e.getLevel());
|
|
|
- console.log(levels);
|
|
|
+ //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);
|
|
|
viewer.scene.pointclouds[0].maxLevel = actMaxLevel - 1;
|