|
@@ -63893,21 +63893,7 @@ void main() {
|
|
|
if(prop.scale){
|
|
|
model.scale.set(prop.scale,prop.scale,prop.scale);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- if(prop.isFirstLoad){
|
|
|
- modelEditing = model;
|
|
|
- MergeEditor.moveBoundCenterTo(model, new Vector3(0,0,0));
|
|
|
- MergeEditor.setModelBtmHeight(model, 0); //初始加载设置离地高度为0
|
|
|
-
|
|
|
- viewer.addEventListener('global_mousemove', moveModel);
|
|
|
- viewer.addEventListener('global_click', confirmPos, 3);
|
|
|
- }else {
|
|
|
- //MergeEditor.setModelBtmHeight(model, prop.bottom || 0) //默认离地高度为0
|
|
|
- modelEditing = null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
if(model.isPointcloud){
|
|
|
model.renderOrder = Potree.config.renderOrders.model; //same as glb
|
|
|
}
|
|
@@ -63973,9 +63959,37 @@ void main() {
|
|
|
|
|
|
MergeEditor.getBoundCenter(model); //初始化
|
|
|
model.lastMatrixWorld = model.matrixWorld.clone();
|
|
|
- done(model);
|
|
|
+
|
|
|
+ done(model); // 先发送成功,因为2d界面会随机执行changePosition等初始化,然后这边再将模型移到中心地面上
|
|
|
+
|
|
|
+
|
|
|
+ if(prop.isFirstLoad){
|
|
|
+
|
|
|
+ MergeEditor.moveBoundCenterTo(model, new Vector3(0,0,0));
|
|
|
+ MergeEditor.setModelBtmHeight(model, 0); //初始加载设置离地高度为0
|
|
|
+
|
|
|
+ if(prop.mode != 'query'){//如果不是模型展示页,模型会随着鼠标位置移动
|
|
|
+ viewer.addEventListener('global_mousemove', moveModel);
|
|
|
+ viewer.addEventListener('global_click', confirmPos, 3);
|
|
|
+ modelEditing = model;
|
|
|
+ }
|
|
|
+ model.dispatchEvent("position_changed");
|
|
|
+ }else {
|
|
|
+ //MergeEditor.setModelBtmHeight(model, prop.bottom || 0) //默认离地高度为0
|
|
|
+ modelEditing = null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
};
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if(prop.type == 'glb'){
|
|
|
|
|
|
|
|
@@ -117992,7 +118006,9 @@ ENDSEC
|
|
|
|
|
|
|
|
|
viewer.addEventListener('global_single_click',(e)=>{
|
|
|
- if( viewer.scene.cameraAnimations.some(c=>c.onUpdate) //正在播放
|
|
|
+ if(
|
|
|
+ this.noNeedSelection //如模型查看页
|
|
|
+ || viewer.scene.cameraAnimations.some(c=>c.onUpdate) //正在播放
|
|
|
|| e.drag && e.drag.notPressMouse //在加测量线
|
|
|
|| viewer.mainViewport.view.isFlying() //有其他校准
|
|
|
|| this.split //分屏中
|
|
@@ -129397,7 +129413,7 @@ ENDSEC
|
|
|
if(object.material){
|
|
|
this.updateVisible(object, 'renderOpa',
|
|
|
(params.renderBeforeCloud && (object.material.opacity<1 || !object.material.depthTest) || (!params.renderBeforeCloud) && (object.material.opacity==1 && object.material.depthTest))? false:true);
|
|
|
- //点云之前渲染的话隐藏半透明的, 点云之后渲染的话隐藏不透明的
|
|
|
+ //点云之前渲染的话隐藏半透明的, 点云之后渲染的话隐藏不透明的。 depthTest==false的也最后渲染
|
|
|
}
|
|
|
});
|
|
|
//ground的材质中opacity为1,所以被当做不透明了
|