Merge branch 'develop' of http://xny.yj-3d.com:3000/zh/sdk4.0 into develop

This commit is contained in:
2025-08-23 00:07:19 +08:00
23 changed files with 635 additions and 25 deletions

View File

@ -0,0 +1,578 @@
/**
* @name: click
* @author: Administrator
* @date: 2023-05-28 11:05
* @descriptionclick
* @update: 2023-05-28 11:05
*/
let leftClickHandler = null
let rightClickHandler = null
let MoveHandler = null
let leftClickCallbackMap = new Map()
let rightClickCallbackMap = new Map()
let MoveCallbackMap = new Map()
let selectedFeature;
function cartesian3Towgs84(cartesian, viewer) {
var ellipsoid = viewer.scene.globe.ellipsoid
var cartesian3 = new Cesium.Cartesian3(
cartesian.x,
cartesian.y,
cartesian.z
)
var cartographic = ellipsoid.cartesianToCartographic(cartesian3)
var lat = Cesium.Math.toDegrees(cartographic.latitude)
var lng = Cesium.Math.toDegrees(cartographic.longitude)
var alt = cartographic.height < 0 ? 0 : cartographic.height
return {
lng: lng,
lat: lat,
alt: alt,
}
}
function getcartesian(sdk, movement) {
if (movement.endPosition) {
movement.endPosition.y -= 2
}
let position = movement.position || movement.endPosition
// 获取世界坐标系地表坐标,考虑地形,不包括模型,倾斜摄影模型表面;
let cartesian = sdk.viewer.scene.pickPosition(position)
if (!cartesian) {
const ray = sdk.viewer.camera.getPickRay(position); //相交的射线
cartesian = sdk.viewer.scene.globe.pick(ray, sdk.viewer.scene);
}
return cartesian
}
function openLeftClick(sdk, cb) {
if (!sdk || !sdk.viewer) {
return
}
let click = true
leftClickHandler = new Cesium.ScreenSpaceEventHandler(sdk.viewer.canvas)
leftClickHandler.setInputAction((movement) => {
let cartesian = sdk.viewer.scene.pickPosition(movement.position)
if (!cartesian) {
const ray = sdk.viewer.camera.getPickRay(movement.position); //相交的射线
cartesian = sdk.viewer.scene.globe.pick(ray, sdk.viewer.scene);
}
if (!cartesian) {
return
}
let pos84 = cartesian3Towgs84(cartesian, sdk.viewer)
cb && cb(pos84)
if (click) {
click = false
setTimeout(() => {
click = true
}, 600);
if (!YJ.Measure.GetMeasureStatus() && cartesian) {
let flag = false
for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) {
let key = Array.from(leftClickCallbackMap.keys())[i]
let obj = leftClickCallbackMap.get(key)
if (obj) {
if (obj.that) {
// 是否为多边形
if (obj.that.type === 'PolygonObject') {
// 是否可点击y
if (obj.that.picking) {
if (obj.that.options.positions && obj.that.options.positions.length >= 3) {
let pt = turf.point([pos84.lng, pos84.lat]);
let polyPos = []
for (let i = 0; i < obj.that.options.positions.length; i++) {
polyPos.push([
obj.that.options.positions[i].lng,
obj.that.options.positions[i].lat
])
}
polyPos.push([
obj.that.options.positions[0].lng,
obj.that.options.positions[0].lat
])
let poly = turf.polygon([polyPos]);
let contain = turf.booleanPointInPolygon(pt, poly);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
// 聚集地
else if (obj.that.type === 'AssembleObject') {
if (obj.that.picking) {
if (obj.that.options.positions && obj.that.options.positions.length >= 3) {
let positions = obj.that.computeAssemble(obj.that.options.positions, true)
let pt = turf.point([pos84.lng, pos84.lat]);
let polyPos = []
for (let i = 0; i < positions.length; i += 2) {
polyPos.push([
positions[i],
positions[i + 1]
])
}
let poly = turf.polygon([polyPos]);
let contain = turf.booleanPointInPolygon(pt, poly);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
// 单箭头
else if (obj.that.type === 'AttackArrowObject') {
if (obj.that.picking) {
if (obj.that.options.positions && obj.that.options.positions.length >= 3) {
let pt = turf.point([pos84.lng, pos84.lat]);
let positions = obj.that.computeAttackArrow(obj.that.options.positions)
let polyPos = []
for (let m = 0; m < positions.length; m++) {
let pos84 = cartesian3Towgs84(positions[m], sdk.viewer)
polyPos.push([pos84.lng, pos84.lat])
}
let poly = turf.polygon([polyPos]);
let contain = turf.booleanPointInPolygon(pt, poly);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
// 双箭头
else if (obj.that.type === 'PincerArrowObject') {
if (obj.that.picking) {
if (obj.that.options.positions && obj.that.options.positions.length >= 5) {
let pt = turf.point([pos84.lng, pos84.lat]);
let positions = obj.that.computePincerArrow(obj.that.options.positions)
let polyPos = []
for (let m = 0; m < positions.length; m++) {
let pos84 = cartesian3Towgs84(positions[m], sdk.viewer)
polyPos.push([pos84.lng, pos84.lat])
}
let pos84_0 = cartesian3Towgs84(positions[0], sdk.viewer)
polyPos.push([pos84_0.lng, pos84_0.lat])
let poly = turf.polygon([polyPos]);
let contain = turf.booleanPointInPolygon(pt, poly);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
// 圆
else if (obj.that.type === 'CircleObject') {
if (obj.that.picking) {
let pt = turf.point([pos84.lng, pos84.lat]);
if (obj.that.options.center && obj.that.options.radius) {
let center = [obj.that.options.center.lng, obj.that.options.center.lat];
let radius = obj.that.options.radius / 1000;
let options = { steps: 360, units: 'kilometers' };
let circle = turf.circle(center, radius, options);
let contain = turf.booleanPointInPolygon(pt, circle);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
// 扇形
else if (obj.that.type === 'SectorObject') {
if (obj.that.picking) {
let pt = turf.point([pos84.lng, pos84.lat]);
if (obj.that.options.center && obj.that.options.radius && obj.that.options.startAngle && obj.that.options.endAngle) {
let positions = obj.that.calSector(obj.that.options.center, obj.that.options.radius, obj.that.options.startAngle, obj.that.options.endAngle, undefined, true)
let polyPos = []
for (let m = 0; m < positions.length; m++) {
polyPos.push([positions[m].lng, positions[m].lat])
}
let poly = turf.polygon([polyPos]);
let contain = turf.booleanPointInPolygon(pt, poly);
if (contain) {
obj.callback(
movement,
obj.that.options.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
flag = true
break
}
}
}
}
}
}
}
if (!flag) {
const pick = sdk.viewer.scene.pick(movement.position)
if (pick) {
if (pick.id) {
let entityId
// 矢量
if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) {
let obj = leftClickCallbackMap.get(pick.id.parentId)
if (obj.that.picking && obj.that.geojson) {
for (let i = 0; i < obj.that.geojson.features.length; i++) {
if (obj.that.geojson.features[i].id === pick.id._id) {
obj.callback(
movement,
obj.that.geojson.features[i].id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
}
}
else if (typeof pick.id.id == 'string') {
let array = pick.id.id.split('-')
array.splice(array.length - 1, 1)
entityId = array.join('-')
}
if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) {
let obj = leftClickCallbackMap.get(pick.id.properties.id._value)
if (obj.that.picking) {
obj.callback(
movement,
pick.id.properties.id._value,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
else if (leftClickCallbackMap.has(pick.id.id)) {
let obj = leftClickCallbackMap.get(pick.id.id)
if (obj.that.picking) {
obj.callback(
movement,
pick.id.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
else if (entityId && leftClickCallbackMap.has(entityId)) {
let obj = leftClickCallbackMap.get(entityId)
if (obj.that.picking) {
obj.callback(
movement,
entityId,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
else if (pick.primitive) {
if (typeof pick.id == 'string' && leftClickCallbackMap.has(pick.id)) {
let obj = leftClickCallbackMap.get(pick.id)
obj.callback(
movement,
pick.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
}
else {
if (pick.primitive && pick.primitive.id) {
if (leftClickCallbackMap.has(pick.primitive.id)) {
let obj = leftClickCallbackMap.get(pick.primitive.id)
if (obj.that.picking) {
if (obj.that.type === 'bim') {
if (YJ.Global.getBimPickStatus(sdk)) {
obj.callback(
movement,
pick.primitive,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
else {
obj.callback(
movement,
pick.primitive.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
}
}
}
if (pick.content && (!pick.primitive || !pick.primitive.id)) {
if (leftClickCallbackMap.has(pick.content.tileset.id)) {
let obj = leftClickCallbackMap.get(pick.content.tileset.id)
if (obj.that.picking) {
if (obj.that.type === 'bim') {
if (YJ.Global.getBimPickStatus(sdk)) {
obj.callback(
movement,
pick.content.tileset,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
else {
obj.callback(
movement,
pick.content.tileset.id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
}
}
}
}
}
}
// if (click) {
// click = false
// setTimeout(() => {
// click = true
// }, 300);
// if (!YJ.Measure.GetMeasureStatus()) {
// }
// }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
// leftClickHandler.setInputAction(function (movement) {
// const feature = sdk.viewer.scene.pick(movement.endPosition);
// // unselectFeature(selectedFeature);
// if (selectedFeature) {
// selectedFeature.color = Cesium.Color.WHITE;
// }
// selectedFeature = feature
// if (feature) {
// feature.color = Cesium.Color.YELLOW;
// }
// }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
// }
}
function closeLeftClick(sdk) {
leftClickHandler.destroy() //关闭事件句柄
leftClickHandler = null
// }
}
function openRightClick(sdk) {
if (!sdk || !sdk.viewer) {
return
}
rightClickHandler = new Cesium.ScreenSpaceEventHandler(sdk.viewer.canvas)
rightClickHandler.setInputAction((movement) => {
if (!YJ.Measure.GetMeasureStatus()) {
const pick = sdk.viewer.scene.pick(movement.position)
if (pick && pick.id) {
let id
if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) {
let obj = rightClickCallbackMap.get(pick.id.parentId)
if (obj.that.picking && obj.that.geojson) {
for (let i = 0; i < obj.that.geojson.features.length; i++) {
if (obj.that.geojson.features[i].id === pick.id._id) {
obj.callback(
movement,
obj.that.geojson.features[i].id,
cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that)
}
}
}
}
else {
if (typeof pick.id === 'string') {
id = pick.id
}
else {
id = pick.id.id
}
if (rightClickCallbackMap.has(id)) {
let obj = rightClickCallbackMap.get(id)
if (obj.that.picking) {
let cartesian = getcartesian(sdk, movement)
if (!cartesian) {
return
}
obj.callback(
movement,
id,
cartesian3Towgs84(cartesian, sdk.viewer), obj.that)
}
}
}
}
if (pick && pick.content) {
if (rightClickCallbackMap.has(pick.content.tileset.id)) {
let obj = rightClickCallbackMap.get(pick.content.tileset.id)
if (obj.that.picking) {
if (obj.that.type === 'bim') {
if (YJ.Global.getBimPickStatus(sdk)) {
let cartesian = getcartesian(sdk, movement)
if (!cartesian) {
return
}
obj.callback(
movement,
pick.getProperty('id'),
cartesian3Towgs84(cartesian, sdk.viewer), obj.that)
}
}
else {
let cartesian = getcartesian(sdk, movement)
if (!cartesian) {
return
}
obj.callback(
movement,
pick.content.tileset.id,
cartesian3Towgs84(cartesian, sdk.viewer), obj.that)
}
}
}
}
}
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
}
function closeRightClick() {
if (rightClickHandler) {
rightClickHandler.destroy() //关闭事件句柄
rightClickHandler = null
}
}
function openMove(sdk) {
MoveHandler = new Cesium.ScreenSpaceEventHandler(sdk.viewer.canvas)
MoveHandler.setInputAction(function (movement) {
const pick = sdk.viewer.scene.pick(movement.endPosition);
// unselectFeature(selectedFeature);
// if (selectedFeature) {
// let color = '#fff'
// let state = selectedFeature.getProperty('state')
// switch (state) {
// case '0':
// color = '#fff'
// break;
// case '1':
// color = '#f00'
// break;
// case '2':
// color = '#0f0'
// break;
// case '3':
// color = '#00f'
// break;
// default:
// }
// selectedFeature.color = Cesium.Color.fromCssColorString(color).withAlpha(selectedFeature.tileset.transparency)
// }
// if (pick && pick.id) { }
// if (pick && pick.content) {
// if (MoveCallbackMap.has(pick.content.tileset.id)) {
// let obj = MoveCallbackMap.get(pick.content.tileset.id)
// if (obj.that.picking) {
// if (obj.that.type === 'bim') {
// if (YJ.Global.getBimPickStatus(sdk)) {
// selectedFeature = pick
// pick.color = Cesium.Color.YELLOW;
// }
// else {
// selectedFeature = null
// }
// }
// else {
// selectedFeature = pick
// pick.color = Cesium.Color.YELLOW;
// }
// }
// else {
// selectedFeature = null
// }
// }
// }
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
}
function closeMove() {
if (MoveHandler) {
MoveHandler.destroy() //关闭事件句柄
MoveHandler = null
}
}
/*注册左键回调*/
function regLeftClickCallback(id, callback, that) {
leftClickCallbackMap.set(id, { callback, that })
}/*取消左键回调*/
function unRegLeftClickCallback(id,) {
leftClickCallbackMap.delete(id,)
}
/*注册右键回调*/
function regRightClickCallback(id, callback, that) {
rightClickCallbackMap.set(id, { callback, that })
}/*取消右键回调*/
function unRegRightClickCallback(id,) {
rightClickCallbackMap.delete(id,)
}
/*注册左键回调*/
function regMoveCallback(id, callback, that) {
MoveCallbackMap.set(id, { callback, that })
}/*取消左键回调*/
function unregMoveCallback(id,) {
MoveCallbackMap.delete(id,)
}
function getLeftClickState() {
if (leftClickHandler) {
return true
}
else {
false
}
}
function getRightClickState() {
if (rightClickHandler) {
return true
}
else {
false
}
}
function getMoveState() {
if (MoveHandler) {
return true
}
else {
false
}
}
export { openLeftClick, closeLeftClick, regLeftClickCallback, unRegLeftClickCallback, openRightClick, closeRightClick, regRightClickCallback, unRegRightClickCallback, openMove, closeMove, regMoveCallback, unregMoveCallback, getLeftClickState, getRightClickState, getMoveState }

View File

@ -7,6 +7,9 @@ import { CesiumContainer } from '../global'
import { off as offSplitScreen } from "../SplitScreen"; import { off as offSplitScreen } from "../SplitScreen";
import { FlwStatusSwitch, JwwStatusSwitch, getFlwStatus, getJwwStatus } from "../global" import { FlwStatusSwitch, JwwStatusSwitch, getFlwStatus, getJwwStatus } from "../global"
import { SheetIndexStatusSwitch, getStatus } from '../SheetIndex' import { SheetIndexStatusSwitch, getStatus } from '../SheetIndex'
import { getLeftClickState, getRightClickState, getMoveState } from "../../Global/ClickCallback"
import { openLeftClick, openRightClick, openMove } from "./ClickCallback"
let sdk2D let sdk2D
let sdk3D let sdk3D
@ -32,6 +35,16 @@ async function init(sdk) {
}) })
sdk2.viewer.scene.mode = Cesium.SceneMode.SCENE2D sdk2.viewer.scene.mode = Cesium.SceneMode.SCENE2D
sdk2D = await sdk2 sdk2D = await sdk2
if(getLeftClickState()) {
openLeftClick(sdk2D)
}
if(getRightClickState()) {
openRightClick(sdk2D)
}
if(getMoveState()) {
openMove(sdk2D)
}
// window.sdk2D = sdk2D // window.sdk2D = sdk2D
solveBug() solveBug()
syncObject = { sdks: [sdk, sdk2], tools } syncObject = { sdks: [sdk, sdk2], tools }

View File

@ -292,7 +292,7 @@ class PolygonObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -319,7 +319,7 @@ class AssembleObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -324,7 +324,7 @@ class AttackArrowObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -637,7 +637,7 @@ class Model extends BaseModel {
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label && (this.label.show = v) this.label && (this.label.show = v)
} }
else { else {

View File

@ -224,6 +224,7 @@ class BillboardObject extends Base {
this.attributeElm.style.top = (winpos.y + pixelOffset.y - (this.options.label.show ? (this.options.label.fontSize / 2) : -(this.options.label.fontSize / 2)) - this.attributeElm.offsetHeight - this.options.attributePos.y + height).toFixed(0) + 'px' this.attributeElm.style.top = (winpos.y + pixelOffset.y - (this.options.label.show ? (this.options.label.fontSize / 2) : -(this.options.label.fontSize / 2)) - this.attributeElm.offsetHeight - this.options.attributePos.y + height).toFixed(0) + 'px'
this.attributeElm.style.width = this.options.attributePos.width + 'px' this.attributeElm.style.width = this.options.attributePos.width + 'px'
this.attributeElm.style.height = this.options.attributePos.height + 'px' this.attributeElm.style.height = this.options.attributePos.height + 'px'
lineElm.style.zIndex = '-1'
if (this.options.attributePos.x < -this.options.attributePos.width / 2) { if (this.options.attributePos.x < -this.options.attributePos.width / 2) {
flag = true flag = true
lineElm.style.left = 'unset' lineElm.style.left = 'unset'
@ -2602,6 +2603,7 @@ class BillboardObject extends Base {
} }
if (height !== undefined) { if (height !== undefined) {
this.options.positions.alt = Number(Number(height).toFixed(2)) this.options.positions.alt = Number(Number(height).toFixed(2))
this.#_billboardHeight = this.options.positions.alt
this._elms.alt && this._elms.alt &&
this._elms.alt.forEach(item => { this._elms.alt.forEach(item => {
item.value = this.options.positions.alt item.value = this.options.positions.alt
@ -2982,7 +2984,7 @@ class BillboardObject extends Base {
` `
if (!linkHtml && !goodsHtml && !richTextHtml) { if (!linkHtml && !goodsHtml && !richTextHtml) {
boxHtml = boxHtml + '<p style="margin: 0;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;">暂无属性信息</p><div class="billboard-attribute-box-line"></div>' boxHtml = boxHtml + '<p style="margin: 0;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;backdrop-filter: blur(2px);">暂无属性信息</p><div class="billboard-attribute-box-line"></div>'
} }
else { else {
boxHtml = boxHtml + ` boxHtml = boxHtml + `

View File

@ -666,7 +666,7 @@ class CurvelineObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
setTimeout(() => { setTimeout(() => {
this.label.position = [ this.label.position = [

View File

@ -347,7 +347,7 @@ class EllipseObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -334,7 +334,7 @@ class PincerArrowObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -355,7 +355,7 @@ class PolygonObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} else { } else {
this.label.show = false this.label.show = false

View File

@ -517,7 +517,7 @@ class PolyhedronObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -701,7 +701,7 @@ class PolylineObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
setTimeout(() => { setTimeout(() => {
this.label.position = [ this.label.position = [

View File

@ -424,7 +424,7 @@ class RadarScanStereoscopic extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -344,7 +344,7 @@ class SectorObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -321,7 +321,7 @@ class StraightArrowObject extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -253,7 +253,7 @@ class WallRealStereoscopic extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -157,7 +157,7 @@ class WallStereoscopic extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -243,7 +243,7 @@ class WallRealStereoscopic extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -195,7 +195,7 @@ class WallStereoscopic extends Base {
} }
set labelShow(v) { set labelShow(v) {
this.options.label.show = v this.options.label.show = v
if (this.show) { if (this.show && !this.showView || this.showView == 3) {
this.label.show = v this.label.show = v
} }
else { else {

View File

@ -9,6 +9,7 @@ import Tools from "../../Tools";
import { getHost, getToken } from "../../on"; import { getHost, getToken } from "../../on";
import { regLeftClickCallback, regRightClickCallback, regMoveCallback } from "../../Global/ClickCallback"; import { regLeftClickCallback, regRightClickCallback, regMoveCallback } from "../../Global/ClickCallback";
import { regLeftClickCallback as regLeftClickCallback2, regRightClickCallback as regRightClickCallback2, regMoveCallback as regMoveCallback2 } from "../../Global/SplitScreen/ClickCallback"; import { regLeftClickCallback as regLeftClickCallback2, regRightClickCallback as regRightClickCallback2, regMoveCallback as regMoveCallback2 } from "../../Global/SplitScreen/ClickCallback";
import { regLeftClickCallback as regLeftClickCallback3, regRightClickCallback as regRightClickCallback3, regMoveCallback as regMoveCallback3 } from "../../Global/MultiViewportMode/ClickCallback";
import { setSplitDirection, syncSplitData, getSdk } from "../../Global/SplitScreen"; import { setSplitDirection, syncSplitData, getSdk } from "../../Global/SplitScreen";
import { syncData, getSdk as get2DSdk } from '../../Global/MultiViewportMode' import { syncData, getSdk as get2DSdk } from '../../Global/MultiViewportMode'
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../Global/global' import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../Global/global'
@ -68,7 +69,7 @@ class Base extends Tools {
let sdk2D = get2DSdk().sdkD let sdk2D = get2DSdk().sdkD
if (!sdk2D) { if (!sdk2D) {
this.#_showView = v this.#_showView = v
if(this.entity) { if (this.entity) {
this.entity._showView = v this.entity._showView = v
} }
return return
@ -361,12 +362,17 @@ class Base extends Tools {
console.error('val:', val, '不是一个function') console.error('val:', val, '不是一个function')
} else { } else {
let sdkD = getSdk().sdkD let sdkD = getSdk().sdkD
let sdk2D = get2DSdk().sdkD
if (sdkD && this.sdk === sdkD) { if (sdkD && this.sdk === sdkD) {
if (this.clickCallBack == null && this.options && this.options.id) { if (this.clickCallBack == null && this.options && this.options.id) {
regLeftClickCallback2(this.options.id, this.leftClickCB, this) regLeftClickCallback2(this.options.id, this.leftClickCB, this)
} }
} }
else { else if (sdk2D && this.sdk === sdk2D) {
if (this.clickCallBack == null && this.options && this.options.id) {
regLeftClickCallback3(this.options.id, this.leftClickCB, this)
}
} else {
if (this.clickCallBack == null && this.options && this.options.id) { if (this.clickCallBack == null && this.options && this.options.id) {
regLeftClickCallback(this.options.id, this.leftClickCB, this) regLeftClickCallback(this.options.id, this.leftClickCB, this)
} }
@ -384,12 +390,17 @@ class Base extends Tools {
console.error('val:', val, '不是一个function') console.error('val:', val, '不是一个function')
} else { } else {
let sdkD = getSdk().sdkD let sdkD = getSdk().sdkD
let sdk2D = get2DSdk().sdkD
if (sdkD && this.sdk === sdkD) { if (sdkD && this.sdk === sdkD) {
if (this.rightClickCallBack == null && this.entity && this.entity.id) { if (this.rightClickCallBack == null && this.entity && this.entity.id) {
regRightClickCallback2(this.entity.id, this.rightClickCB, this) regRightClickCallback2(this.entity.id, this.rightClickCB, this)
} }
} }
else { else if (sdk2D && this.sdk === sdk2D) {
if (this.clickCallBack == null && this.options && this.options.id) {
regRightClickCallback3(this.options.id, this.leftClickCB, this)
}
} else {
if (this.rightClickCallBack == null && this.entity && this.entity.id) { if (this.rightClickCallBack == null && this.entity && this.entity.id) {
regRightClickCallback(this.entity.id, this.rightClickCB, this) regRightClickCallback(this.entity.id, this.rightClickCB, this)
} }
@ -407,12 +418,17 @@ class Base extends Tools {
console.error('val:', val, '不是一个function') console.error('val:', val, '不是一个function')
} else { } else {
let sdkD = getSdk().sdkD let sdkD = getSdk().sdkD
let sdk2D = get2DSdk().sdkD
if (sdkD && this.sdk === sdkD) { if (sdkD && this.sdk === sdkD) {
if (this.mouseMoveCallBack == null && this.entity && this.entity.id) { if (this.mouseMoveCallBack == null && this.entity && this.entity.id) {
regMoveCallback2(this.entity.id, this.mouseMoveCB, this) regMoveCallback2(this.entity.id, this.mouseMoveCB, this)
} }
} }
else { else if (sdk2D && this.sdk === sdk2D) {
if (this.clickCallBack == null && this.options && this.options.id) {
regMoveCallback3(this.options.id, this.leftClickCB, this)
}
} else {
if (this.mouseMoveCallBack == null && this.entity && this.entity.id) { if (this.mouseMoveCallBack == null && this.entity && this.entity.id) {
regMoveCallback(this.entity.id, this.mouseMoveCB, this) regMoveCallback(this.entity.id, this.mouseMoveCB, this)
} }

View File

@ -62,9 +62,9 @@ class YJEarth {
removeIncetance(id) { removeIncetance(id) {
this.entityMap.delete(id) this.entityMap.delete(id)
unRegLeftClickCallback(id) unRegLeftClickCallback(this,id)
unRegRightClickCallback(id) unRegRightClickCallback(this,id)
unregMoveCallback(id) unregMoveCallback(this,id)
syncSplitData(this, id) syncSplitData(this, id)
} }

View File

@ -3627,6 +3627,7 @@
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
backdrop-filter: blur(2px);
} }
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title { .billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title {