cesium克隆

下面是一张整理了 Cesium 中常用的克隆方法的表格:

克隆方法描述
Cesium.Color.clone()克隆颜色对象
Cesium.Cartesian3.clone()克隆三维笛卡尔坐标
Cesium.Cartographic.clone()克隆地理坐标
Cesium.Quaternion.clone()克隆四元数
Cesium.Matrix3.clone()克隆 3x3 矩阵
Cesium.Matrix4.clone()克隆 4x4 矩阵
Cesium.Rectangle.clone()克隆矩形区域

使用这些克隆方法,你可以对不同类型的对象进行复制,从而保存对象的状态或进行进一步操作,而不会影响原始对象的值。

 // 添加3D tiles单体化建筑白膜并点击高亮显示

 let tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
     url: '.././data/sz/tileset.json'
 }));

 // 聚焦
 viewer.zoomTo(tileset);

 // 高亮元素
 const hightLighted = {
     feautre: undefined,
     originalColor: new Cesium.Color(),
 }

 viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(event) {
     // 清除之前的高亮元素
     if (Cesium.defined(hightLighted.feature)) {
         hightLighted.feature.color = hightLighted.originalColor;
         hightLighted.feature = undefined;
     }

     // 选择新要素
     const pickedFeature = viewer.scene.pick(event.position);
     if (!Cesium.defined(pickedFeature)) {
         return;
     }

     // 存储选中要素的信息
     hightLighted.feature = pickedFeature;
     Cesium.Color.clone(
         pickedFeature.color,
         hightLighted.originalColor
     );
     // 高亮选中元素
     pickedFeature.color = Cesium.Color.YELLOW;
 }, Cesium.ScreenSpaceEventType.LEFT_CLICK)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值