【Cesium for Supermap】S3MTiles图层box裁剪

效果图:

代码:

        let viewer = new Cesium.Viewer('cesiumContainer');
        // 添加SuperMap iServer发布的S3M缓存服务
        let promise = viewer.scene.addS3MTilesLayerByScp("http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace/datas/BIMbuilding/config",
            {name: "layerName"}
        );
        // 加载完成执行回调,定位到该图层
        promise.then(function (layer) {
            let ceterCartesianPosition = layer._position;
            let boundingSphere = new Cesium.BoundingSphere(ceterCartesianPosition, 200);
            let camera = viewer.scene.camera;
            camera.flyToBoundingSphere(boundingSphere);

            // 用于裁剪的盒子(S3MTiles图层和盒子重合部分会被裁剪调)
            let position = Cesium.Cartesian3.fromDegrees(116.47232967469, 39.9149481801, 17);
            let heading = Cesium.Math.toRadians(10);
            let hpr = new Cesium.HeadingPitchRoll(heading, 0, 0);
            let orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
            viewer.entities.add(new Cesium.Entity({
                // 此点在box体的中心
                position: position,
                // 转动盒子方向(heading,pitch,roll)
                orientation: orientation,
                box: {
                    dimensions: new Cesium.Cartesian3(50, 50, 10),
                    material: Cesium.Color.fromAlpha(Cesium.Color.BLUE, 0.1),
                    outline: true,
                    outlineColor: Cesium.Color.AQUA,
                }
            }));

            // 裁剪参数指定裁剪模式。 裁剪模式包括以下几类:
            // clip_behind_any_plane:裁剪掉位于任何裁剪面后面的部分。
            // clip_behind_all_plane:裁剪掉位于所有裁剪面后面的部分。
            // only_keep_line:只保留裁剪线,裁剪掉其他部分。
            let clipMode = 'clip_behind_all_plane';
            let boxOption = {
                dimensions: new Cesium.Cartesian3(50, 50, 10),
                position: position,
                clipMode: clipMode,
                heading: heading
            };
            layer.setCustomClipBox(boxOption);

        })

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/441342.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

操作系统体系结构(不是很重点)

目录 一. 大内核与微内核二. 分层结构, 模块化和外核2.1 分层结构2.2 模块化2.3 宏内核与微内核 三. 外核 \quad 一. 大内核与微内核 \quad 由于对系统资源进行管理的功能不会直接涉及硬件, 所以有的就没有把这个功能放在内核里面 注意: 考试的时候不要写变态, 要写CPU状态的转…

数据结构---复杂度(1)

1.时间复杂度 衡量算法的好坏,使用大写的o来表示时间复杂度,通俗的讲,就是一个算法执行的次数; 时间复杂度就是数学里面的函数表达式;本质上是一个函数; 下面举几个例子: (1)这里的执行次数是…

Redis 之七:穿透、击穿、雪崩

(本内容部分来自知乎网等网络) Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严…

java 数据结构二叉树

目录 树 树的概念 树的表示形式 二叉树 两种特殊的二叉树 二叉树的性质 二叉树的存储 二叉树的基本操作 二叉树的遍历 二叉树的基本操作 二叉树oj题 树 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次…

3D资产管理

3D 资产管理是指组织、跟踪、优化和分发 3D 模型和资产以用于游戏、电影、AR/VR 体验等各种应用的过程。 3D资产管理也称为3D内容管理。 随着游戏、电影、建筑、工程等行业中 3D 内容的增长,实施有效的资产管理工作流程对于提高生产力、减少错误、简化工作流程以及使…

前端实现单点登录

简单概括就是&#xff0c;一个系统登录&#xff0c;跳转多个系统&#xff0c;其他系统不需要再登录&#xff0c;直接进入页面 登录的系统 <template><div><div class"content"><div class"item" v-for"(item,index) in list&q…

【wine】winetricks部署一个windows xp 应用程序的基础运行环境

AI 的资料 我想基于wintricks的“安装windows dll 或组件”功能&#xff0c;安装一个基础的windows xp运行环境&#xff0c;应当安装那些项目&#xff1f; 为了基于winetricks创建一个基础的Windows XP运行环境&#xff0c;您应该考虑安装以下项目以提高兼容性&#xff1a; 核…

四 笔记本centos7.9 隧道代理

上一章 内网穿透已经可以用公网连接服务器了三 笔记本 centos7.9 内网穿透-CSDN博客 现在数据库不暴露公网的情况下怎么连接mysql 1 mysql 已经安装完毕了,这里不在介绍安装步骤 2 连接公网ip服务器或者内网ip服务器 3 配置隧道监听端口 4:测试连接

CMake笔记

CMake笔记 文章目录 CMake笔记1 工程项目一般形式2 常见命令2.1 project2.2 set2.3 message2.4 add_executable()2.5 语法原则2.6 add_subdirectory2.7 add_library2.8 list 3 安装3.1 安装.h文件/文本文件3.2 安装工程脚本3.3 安装目录/目录下内容3.4 安装库文件3.5安装过程 4…

20.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-数据分析工具数据类型编辑功能的实现

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易道云信息技术研究院VIP课 上一个内容&#xff1a;19.数据分析工具数据类型配置功能的实现 码云地址&#xff08;master 分支&#…

LCR 179. 查找总价格为目标值的两个商品 - 力扣

1. 题目 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 2. 示例 3. 分析 我们首先想到暴力解法&#xff0c;这道题目的暴力还是比较简单的&#xff0c;列举每个数的情况即可…

Open CASCADE学习|表面着色显示模型

模型表面着色具有如下作用&#xff1a; 视觉增强&#xff1a;通过为模型表面添加着色&#xff0c;可以使其更加生动和逼真&#xff0c;提高视觉体验。 信息区分&#xff1a;在复杂的模型中&#xff0c;不同的部分或组件可能需要通过不同的颜色来区分&#xff0c;以便更清晰地…

干货!Python函数中的参数类型

1.必须参数 调用函数的时候&#xff0c;必须以正常的顺序传参&#xff0c;实参的数量和形参的数量保持一致 def demo(name, age):print("我的姓名是&#xff1a;%s, 年龄是&#xff1a;%d"%(name, age))demo("张三", 22) # 我的姓名是&#xff1a;张三…

通过测试自动化转移安全关键软件测试

我们正面临安全关键软件的成本危机&#xff0c;这意味着所需增加的功能已经超出了支付其开发费用的能力。例如&#xff0c;波音 787 项目需要 650 万行代码&#xff0c;设计、开发和测试成本达 40 亿美元。波音777X项目的成本数字并未公开披露&#xff0c;波音737 MAX最初估计为…

Python单线程、多线程、多进程

并发和并行 并发&#xff1a;单核CPU在不同时刻只执行一个任务&#xff0c;在同一时间段内&#xff0c;交替执行两个任务。 并行&#xff1a;双核CPU可以在同一时刻执行两个任务。 多核CPU的每个核心都可以独立执行一个任务&#xff0c;而且多个核心之间不会相互干扰。 并发…

typescript学习(更新中)

目录 开发环境搭建类型如何声明有哪些类型编译配置文件 开发环境搭建 npm i -g typescripttsc检查是否安装成功 类型如何声明 // 先声明再赋值 let a: number a 1// 直接赋值 let b 1function sum(a: number, b: number): number {return a b } console.log(sum(1, 2))有…

linux 将 api_key设置环境变量里

vi ~/.bashrc在最后添加api_key的环境变量 export GEMINI_API_KEYAIza**********WvpX7FwbdM刷新配置 source ~/.bashrc使用python 读取环境变量 import os gemini_api_key os.getenv(GEMINI_API_KEY) print(gemini_api_key)

Mysql的Cardinality值

什么是Cardinality值&#xff1f; Cardinality值是Mysql做索引优化时一个非常关键的值&#xff0c;优化器会根据这个值来判断是否使用这个索引&#xff0c;它表示索引中唯一值的数目估计值&#xff0c;该值应该尽可能接近1&#xff0c;如果非常小&#xff0c;则用户需要考虑是否…

企业计算机服务器中了mkp勒索病毒如何解密,mkp勒索病毒解密流程

网络技术的应用与发展&#xff0c;为企业的生产运营提高了效率&#xff0c;越来越多的企业利用网络开展多项工作业务&#xff0c;利用网络的优势&#xff0c;可以为企业更好的服务&#xff0c;但是稍不注意就会被网络威胁所盯上。近日&#xff0c;云天数据恢复中心接到多家企业…

二本双非|逆袭985/211只要做好这3件事

我的本科学校就是双非&#xff0c;但是我并不觉得考研是一件非常容易地事情&#xff0c;并且我身边的同学也没有一个觉得考研很轻松。可能网上很多经验贴说自己双非上岸985&#xff0c;二本上岸985&#xff0c;我觉得这是大家陷入了互联网时代的信息茧房。 考研不管是对985/211…