MapGIS Objects Java三维场景中如何实现高亮几何
三维场景中如何实现高亮几何一、介绍MapGIS Objects SDK 是一款组件式地理信息开发平台提供全空间数据存储、管理、显示、编辑、查询、分析、制图输出等二三维一体化核心 GIS 功能提供 C、.NET、Java、Python 等开发资源接口简单易用性能优越具备跨平台开发能力。本篇内容将知道您如何使用MapGIS Objects SDK、MapGIS Desktop SDK实现在三维场景中如何实现模型的捕捉功能。二、开发环境软件版本下载地址说明MapGIS 10 x64 All In One SDK for Windows10.7开发包下载地址MapGIS 提供的一款地理信息开发平台包含 MapGIS Objects Java 面向 Java 开发环境的跨平台组件式 GIS 开发资源。MapGIS 开发授权\开发授权下载地址MapGIS 针对开发者提供开发授权下载开发包并安装后还需要获取开发授权才能正常使用。IntelliJ IDEA2020.3 以上版本IDEA 下载地址一款适用于 Java 专业开发的集成开发环境IDE。JDK1.8JDK 下载地址JDK 是 Java 语言的软件开发工具包JDK 是整个 java 开发的核心它包含了 JAVA 的运行环境JVMJava 系统类库和 JAVA 工具。三、应用场景及功能实现在基于 MapGIS 二次开发库进行桌面端或插件开发时三维场景中的交互操作是提升用户体验的重要环节。例如当用户在三维视图中通过拾取操作选中某个模型后通常需要对该对象进行高亮或闪烁显示以增强可视化反馈。本文将重点引导开发者如何利用 SDK 提供的三维捕捉工具 PickTool在三维场景中实现对模型的精准拾取并高亮显示所选对象帮助快速构建高效的三维交互功能。相关 API 的详细说明可参考MapGIS Objects Java 的开发入门文档api 文档参考 MapGIS Objects Java API。1.初始化交互选择工具 PickTool//构建场景容器控件对象SceneControlsceneControlnewSceneControl();//设置三维场景为平面模式sceneControl.setSceneMode(SceneMode.LOCAL);PickToolpickToolnewPickTool(sceneControl);pickToolnewPickTool(sceneControl);pickTool.addPickedListener(this::pickTool_Picked);//添加捕获监听事件pickTool.setSelectTolerance(8);//设置捕捉精度sceneControl.setActiveTool(pickTool);//设置为场景控件当前激活工具this.pickTool.start();//开始捕获2.实现高亮所选择的几何privatevoidpickTool_Picked(PickedEventObjecte){if(e.isSuccess()){Result3DSetsete.getResult3DSet();Result3DItemitemnull;for(i0;iset.getCount();i){itemset.getItem(i);ModelInfomInfoitem.getModelInfo();//可通过ModelInfo获取模型所在场景、图层以及ID高亮显示模型sceneControl.startCustomDisplay(sceneControl.getMapGISScene(),mInfo.getLayerIndex(),newint[]{mInfo.getModelID()},CustomDisplayType.HighLight);}}}