修改
This commit is contained in:
578
src/Global/MultiViewportMode/ClickCallback/index.js
Normal file
578
src/Global/MultiViewportMode/ClickCallback/index.js
Normal file
@ -0,0 +1,578 @@
|
|||||||
|
/**
|
||||||
|
* @name: click
|
||||||
|
* @author: Administrator
|
||||||
|
* @date: 2023-05-28 11:05
|
||||||
|
* @description:click
|
||||||
|
* @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 }
|
@ -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 }
|
||||||
|
@ -121,9 +121,6 @@ function MouseRightMenu(sdk, status, callBack) {
|
|||||||
<ul class="base" style="list-style: none;padding: 0;margin: 0;font-size: 12px;">
|
<ul class="base" style="list-style: none;padding: 0;margin: 0;font-size: 12px;">
|
||||||
<li style="padding: 3px 10px;cursor: pointer;">绕鼠标点旋转</li>
|
<li style="padding: 3px 10px;cursor: pointer;">绕鼠标点旋转</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="base" style="list-style: none;padding: 0;margin: 0;font-size: 12px;">
|
|
||||||
<li style="padding: 3px 10px;cursor: pointer;">文本框</li>
|
|
||||||
</ul>
|
|
||||||
${addedMenu}
|
${addedMenu}
|
||||||
`
|
`
|
||||||
_element.appendChild(menuElm)
|
_element.appendChild(menuElm)
|
||||||
|
@ -187,7 +187,7 @@ import DrawTakeOff from '../Obj/AirLine/DrawTakeOff'
|
|||||||
import FlowLine from '../Obj/Base/FlowLine'
|
import FlowLine from '../Obj/Base/FlowLine'
|
||||||
import Sunshine from '../Global/efflect/Sunshine'
|
import Sunshine from '../Global/efflect/Sunshine'
|
||||||
// import Road2 from '../Obj/Base/RoadObject'
|
// import Road2 from '../Obj/Base/RoadObject'
|
||||||
import TextBox from '../Obj/Base/TextBox'
|
// import TextBox from '../Obj/Base/TextBox'
|
||||||
import BatchModel from '../Obj/Base/BatchModel'
|
import BatchModel from '../Obj/Base/BatchModel'
|
||||||
|
|
||||||
const YJEarthismeasuring = Symbol('测量状态')
|
const YJEarthismeasuring = Symbol('测量状态')
|
||||||
@ -262,7 +262,7 @@ if (!window.YJ) {
|
|||||||
Dialog,
|
Dialog,
|
||||||
FlowLine,
|
FlowLine,
|
||||||
// Road2,
|
// Road2,
|
||||||
TextBox,
|
// TextBox,
|
||||||
BatchModel
|
BatchModel
|
||||||
},
|
},
|
||||||
YJEarth,
|
YJEarth,
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -550,7 +550,7 @@ class Model2 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.show = v
|
this.label.show = v
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -333,7 +333,7 @@ class CircleObject extends Base {
|
|||||||
}
|
}
|
||||||
set labelShow(v) {
|
set labelShow(v) {
|
||||||
this.options.label.show = v
|
this.options.label.show = v
|
||||||
if (this.show && (!this.showView || this.showView == 3)) {
|
if (this.show && !this.showView || this.showView == 3) {
|
||||||
this.label.show = v
|
this.label.show = v
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -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 = [
|
||||||
|
@ -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 {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import Dialog from '../../Element/Dialog';
|
import Dialog from '../../Element/Dialog';
|
||||||
import { html } from "./_element";
|
import { html } from "./_element";
|
||||||
import EventBinding from '../../Element/Dialog/eventBinding';
|
import EventBinding from '../../Element/Dialog/eventBinding';
|
||||||
import { syncData } from '../../../Global/MultiViewportMode'
|
import { syncData, getSdk } from '../../../Global/MultiViewportMode'
|
||||||
import LabelObject from '../LabelObject'
|
import LabelObject from '../LabelObject'
|
||||||
import DrawPoint from '../../../Draw/drawPoint.js'
|
import DrawPoint from '../../../Draw/drawPoint.js'
|
||||||
import richText from '../../Element/richText'
|
import richText from '../../Element/richText'
|
||||||
@ -19,6 +19,7 @@ import { setSplitDirection, syncSplitData, setActiveId } from '../../../Global/S
|
|||||||
|
|
||||||
class GroundSvg extends Base {
|
class GroundSvg extends Base {
|
||||||
#_textPosPickDrawEvent = null
|
#_textPosPickDrawEvent = null
|
||||||
|
#_destroyed = false
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @param sdk
|
* @param sdk
|
||||||
@ -97,7 +98,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.options.offset = options.offset || { x: 0.5, y: 1 }
|
this.options.offset = options.offset || { x: 0.5, y: 1 }
|
||||||
this.options.mode = this.options.mode ? 1 : 0
|
this.options.mode = this.options.mode || this.options.mode == undefined || this.options.mode == null ? 1 : 0
|
||||||
this.options.billboard = options.billboard || {}
|
this.options.billboard = options.billboard || {}
|
||||||
this.options.billboard.scale = this.options.billboard.scale || 1
|
this.options.billboard.scale = this.options.billboard.scale || 1
|
||||||
this.options.billboard.near = this.options.billboard.near || this.options.billboard.near === 0 ? this.options.billboard.near : 2000
|
this.options.billboard.near = this.options.billboard.near || this.options.billboard.near === 0 ? this.options.billboard.near : 2000
|
||||||
@ -1324,6 +1325,19 @@ class GroundSvg extends Base {
|
|||||||
let _this = this
|
let _this = this
|
||||||
let heightMode
|
let heightMode
|
||||||
let font = getFontFamily(this.labelFontFamily) || 'Helvetica'
|
let font = getFontFamily(this.labelFontFamily) || 'Helvetica'
|
||||||
|
let { sdkP, sdkD } = getSdk()
|
||||||
|
let show = true
|
||||||
|
if (this.sdk === sdkP) {
|
||||||
|
if (this.showView == 2) {
|
||||||
|
show = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (this.sdk === sdkD) {
|
||||||
|
if (this.showView == 3) {
|
||||||
|
show = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.entity) {
|
if (this.entity) {
|
||||||
this.sdk.viewer.entities.remove(this.entity)
|
this.sdk.viewer.entities.remove(this.entity)
|
||||||
this.text && this.text.remove()
|
this.text && this.text.remove()
|
||||||
@ -1389,7 +1403,7 @@ class GroundSvg extends Base {
|
|||||||
)
|
)
|
||||||
|
|
||||||
_this.entity = new Cesium.Entity({
|
_this.entity = new Cesium.Entity({
|
||||||
show: _this.options.show,
|
show: show ? _this.options.show : false,
|
||||||
id: _this.options.id,
|
id: _this.options.id,
|
||||||
position: new Cesium.CallbackProperty(() => {
|
position: new Cesium.CallbackProperty(() => {
|
||||||
return Cesium.Cartesian3.fromDegrees(
|
return Cesium.Cartesian3.fromDegrees(
|
||||||
@ -1454,6 +1468,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.entity = new Cesium.EntityCollection()
|
this.entity = new Cesium.EntityCollection()
|
||||||
|
this.entity.show = show ? this.options.show : false
|
||||||
let perPositionHeight = false
|
let perPositionHeight = false
|
||||||
if (this.sdk.viewer._element.className === 'cesium-viewer 2d') {
|
if (this.sdk.viewer._element.className === 'cesium-viewer 2d') {
|
||||||
perPositionHeight = true
|
perPositionHeight = true
|
||||||
@ -1462,7 +1477,6 @@ class GroundSvg extends Base {
|
|||||||
for (let m = 0; m < this.hierarchys[i].length; m++) {
|
for (let m = 0; m < this.hierarchys[i].length; m++) {
|
||||||
let entity = this.sdk.viewer.entities.add({
|
let entity = this.sdk.viewer.entities.add({
|
||||||
id: this.options.id + `-${i}_${m}`,
|
id: this.options.id + `-${i}_${m}`,
|
||||||
show: this.options.show,
|
|
||||||
polygon: {
|
polygon: {
|
||||||
hierarchy: new Cesium.CallbackProperty(() => {
|
hierarchy: new Cesium.CallbackProperty(() => {
|
||||||
let hierarchy = this.hierarchys[i][m]
|
let hierarchy = this.hierarchys[i][m]
|
||||||
@ -1838,15 +1852,44 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
labelOffsetXElm.addEventListener('input', (e) => {
|
labelOffsetXElm.addEventListener('input', (e) => {
|
||||||
this.labelOffset = {
|
let value = e.target.value
|
||||||
x: Number(e.target.value),
|
value = Number(value)
|
||||||
y: this.labelOffset.y
|
if (e.data != '-' || e.target.value) {
|
||||||
|
if ((e.target.max) && value > Number(e.target.max)) {
|
||||||
|
value = Number(e.target.max)
|
||||||
|
}
|
||||||
|
if ((e.target.min) && value < Number(e.target.min)) {
|
||||||
|
value = Number(e.target.min)
|
||||||
|
}
|
||||||
|
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
||||||
|
value = Number(e.target.dataset.min)
|
||||||
|
}
|
||||||
|
this.labelOffset = {
|
||||||
|
x: value,
|
||||||
|
y: this.labelOffset.y
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
labelOffsetYElm.addEventListener('input', (e) => {
|
labelOffsetYElm.addEventListener('input', (e) => {
|
||||||
this.labelOffset = {
|
if (e.target.value || e.target.value === 0) {
|
||||||
x: this.labelOffset.x,
|
let value = e.target.value
|
||||||
y: Number(e.target.value)
|
value = Number(value)
|
||||||
|
if (e.data != '-' || e.target.value) {
|
||||||
|
if ((e.target.max) && value > Number(e.target.max)) {
|
||||||
|
value = Number(e.target.max)
|
||||||
|
}
|
||||||
|
if ((e.target.min) && value < Number(e.target.min)) {
|
||||||
|
value = Number(e.target.min)
|
||||||
|
}
|
||||||
|
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
||||||
|
value = Number(e.target.dataset.min)
|
||||||
|
}
|
||||||
|
this.labelOffset = {
|
||||||
|
x: this.labelOffset.x,
|
||||||
|
y: Number(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1890,8 +1933,6 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.attributeLink = this.options.attribute.link.content
|
this.attributeLink = this.options.attribute.link.content
|
||||||
let tagData = this.attributeSelect
|
let tagData = this.attributeSelect
|
||||||
let attributeElm = this._DialogObject._element.content.getElementsByClassName(
|
let attributeElm = this._DialogObject._element.content.getElementsByClassName(
|
||||||
@ -2274,9 +2315,10 @@ class GroundSvg extends Base {
|
|||||||
* 重置
|
* 重置
|
||||||
*/
|
*/
|
||||||
reset() {
|
reset() {
|
||||||
if (!this.#loaded) {
|
if (!this.#loaded || this.#_destroyed) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.options = this.deepCopyObj(this.originalOptions)
|
this.options = this.deepCopyObj(this.originalOptions)
|
||||||
this.position = this.originalOptions.position
|
this.position = this.originalOptions.position
|
||||||
this.name = this.originalOptions.name
|
this.name = this.originalOptions.name
|
||||||
@ -2303,7 +2345,7 @@ class GroundSvg extends Base {
|
|||||||
* @param {boolean} status=false 状态
|
* @param {boolean} status=false 状态
|
||||||
*/
|
*/
|
||||||
drag(status, cd) {
|
drag(status, cd) {
|
||||||
if (!this.#loaded || !this.sdk || !this.sdk.viewer) {
|
if (!this.#loaded || !this.sdk || !this.sdk.viewer || !this.entity || !this.entity.values || this.entity.values.length == 0) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let greenImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+0lEQVR4AZSTPQ7CMAyFk0jAFYCRCbgEbHAKBqRyKCoYOAVs5RLAQseKKxQkwntWVCltJdzK+bO/59ZW6kztGX6mi/F7dhiV0ydWzxH2B8ZquIkSAN47bzNAW2vtBKtY2G8ZIyPOMFUJxuX8DF+C8c+SwAonCSSr9SvxaCawogHrQl2aNwOPLKHWoa5N5O5woNZ575cdNBFKrQsdjgLaA7XSRK2gjWMJeVtA40MJOUvgxdHwDQYlZO5r/akRUTqoda/e4wo+xehqKbXSxKJ/3xlvL+oMYEUDgSTAaorBbY1V8yVpYIGb+G9kVtTFi3Vkh4XAFPZHxsjAVdkPAAD//0PYov0AAAAGSURBVAMA5pZjby819WUAAAAASUVORK5CYII='
|
let greenImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+0lEQVR4AZSTPQ7CMAyFk0jAFYCRCbgEbHAKBqRyKCoYOAVs5RLAQseKKxQkwntWVCltJdzK+bO/59ZW6kztGX6mi/F7dhiV0ydWzxH2B8ZquIkSAN47bzNAW2vtBKtY2G8ZIyPOMFUJxuX8DF+C8c+SwAonCSSr9SvxaCawogHrQl2aNwOPLKHWoa5N5O5woNZ575cdNBFKrQsdjgLaA7XSRK2gjWMJeVtA40MJOUvgxdHwDQYlZO5r/akRUTqoda/e4wo+xehqKbXSxKJ/3xlvL+oMYEUDgSTAaorBbY1V8yVpYIGb+G9kVtTFi3Vkh4XAFPZHxsjAVdkPAAD//0PYov0AAAAGSURBVAMA5pZjby819WUAAAAASUVORK5CYII='
|
||||||
@ -3277,6 +3319,7 @@ class GroundSvg extends Base {
|
|||||||
this.sdk.viewer.entities.remove(this.entity.values[i])
|
this.sdk.viewer.entities.remove(this.entity.values[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.#_destroyed = true
|
||||||
if (this._DialogObject && !this._DialogObject.isDestroy) {
|
if (this._DialogObject && !this._DialogObject.isDestroy) {
|
||||||
this._DialogObject.close()
|
this._DialogObject.close()
|
||||||
this._DialogObject = null
|
this._DialogObject = null
|
||||||
@ -3467,7 +3510,7 @@ class GroundSvg extends Base {
|
|||||||
128 * this.billboardScale * (0.5 - this.options.offset.x) + this.options.label.offset.x,
|
128 * this.billboardScale * (0.5 - this.options.offset.x) + this.options.label.offset.x,
|
||||||
-billboardH * this.billboardScale -
|
-billboardH * this.billboardScale -
|
||||||
this.options.label.fontSize / 2 -
|
this.options.label.fontSize / 2 -
|
||||||
5 + this.options.label.offset.y
|
5 + this.options.label.offset.y + ((1 - this.options.offset.y) * 128 * this.billboardScale)
|
||||||
)
|
)
|
||||||
this.entity.label.pixelOffset = lablePixelOffset
|
this.entity.label.pixelOffset = lablePixelOffset
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
||||||
|
@ -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
|
||||||
|
@ -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 {
|
||||||
|
@ -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 = [
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user