电子沙盘数字沙盘地理信息开发教程第17课

M3DGIS电子沙盘数字沙盘地理信息开发教程第17课新增加属性在MTGIS3d控件

  public bool ShowFLGrid;//是否显 示方里网格。

        public bool Atmosphere;//是否显示大气圈。(因为WPF不支持shader功能,所以效果嘛。。。)

在SDK中提供底层的模型访问接口,利用好了可以实现模型的移动动画。材质替换动画等等。下面介绍一下具体的操作方法:

这部 分需要懂一点3dmax如果不懂可以找懂的美工配合一下,这里只起一个抛砖引玉的做用。能够实现的很多,就要看大家的想法了。

先在3dmax中建如 下模型:

注意看一下结构图:

这里我 简单建了几个box。放了一个茶壶它属于box003下面的子物体。相当于我们用box来模仿楼层,茶壶相当于楼层中的物体。,下面为了方便好看,我们给它们弄上半透明的颜色材质,这 里有一点需要注 意,因为我们用的是3ds格式,所以是不支持光影材质和3dmax扩展材质(意思就是只只支持贴图或者纯色了):

然后我们导出为3ds格式。进入平台后如下图:

可以看到我们导入系统后可以得到和3dmax中一模一样的结构列表。这个列表怎么用呢。。我们可以干什么呢。。比如我们可以把有茶壶的那一层拿出来单独研究研究看一看:上代码:

 GisObjectFor3DSFile va = (GisObjectFor3DSFile)IniRead.IniReadWrite.BiaoManage.BiaoList[0];//从当前场景中找到模型标号
            var aa = va.FindNode("Box002__Group");//从模型标号中找到二楼
            TranslateTransform3D p1 = new TranslateTransform3D();
            p1.OffsetX = aa.Value.Transform.Value.OffsetX + aa.Value.Bounds.SizeX;
            p1.OffsetY = aa.Value.Transform.Value.OffsetY;
            p1.OffsetZ = aa.Value.Transform.Value.OffsetZ;
            //利用wpf中自带的移动器把它移出来,这里也可以加上动画
 
            aa.Value.Transform = p1;
出来的效果如下:

当然你还可以替换材质,复杂一点的可以实现沿路运动,比如导弹发射等复杂效果。在   GisObjectFor3DSFile 类中有点击事件

如下:

  GisObjectFor3DSFile va = (GisObjectFor3DSFile)IniRead.IniReadWrite.BiaoManage.BiaoList[0];//从当前场景中找到模型标号
            va.ShowBiaoInfo += Va_ShowBiaoInfo;
 
  private void Va_ShowBiaoInfo(NewGisBiao.Base.BaseInfo value, MouseEventArgs Mouseevent, RayMeshGeometry3DHitTestResult TouchObject = null)
        {
            throw new NotImplementedException();
        }
 
可以在在事件中得到点击的模型哪个一部件,这样就可以与你的模型交互了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何选择合适的进口跨境商城源码?揭秘电商平台的成功之道

了解进口跨境电商平台源码的重要性 在进口跨境电商行业的兴起中,选择合适的商城源码是创业者成功的关键之一。进口跨境商城源码可提供网站架构、功能模块、支付系统、物流管理等基础构建,帮助企业快速搭建属于自己的商城平台。然而,在众多商城…

区块链-蚂蚁链(阿里系产品),至信链(腾讯系),长安链(国家队)

目录 区块链-蚂蚁链(阿里系产品),至信链(腾讯系),长安链(国家队) ①蚂蚁链(阿里系产品) ②至信链(腾讯系) ③长安链(国家队) Hyp…

NI USB9218国产对标51.2 kS/s/ch,2通道C系列通用模拟输入模块

51.2 kS/s/ch,2通道C系列通用模拟输入模块 NI‑9218专为多用途测量而设计。 它使用针对特定测量的适配器提供了对加速度计、供电传感器、全桥和电压测量以及四分之一桥、半桥、60V和电流测量的内置支持。 每个通道可单独选择,因而用户可在各个通道上进行…

Simulink HDL--如何生成Verliog代码

Simulink生成HDL的方法可以快速设计出工程,并结合FPGA验证,相比于手写HDL代码虽然存在代码优化不足的问题。但是方法适合做工程的快速验证和基本框架搭建。本文将介绍Simulink HDL生成Verliog代码的基本操作 1、逻辑分析仪功能 Simulink生成HDL前需要通…

利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码

智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术,提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平,实现工程施工可视化智能管理,并逐步实现绿色生态建造。 技术架构:微…

安装Redis

目录 安装步骤 1.切换到root用户,使用su命令切换到root用户. 2.使用apt命令来搜索redis相关的软件包. 3.使用qpt命令安装reids."apt install redis". 4.手动修改redis的配置文件. 5.重新启动服务器 6.使用redis自带的客户端来连接服务器. 在使用redis的命令之…

系统韧性研究(3)| 工程系统韧性要求

从最基本的层面上说,系统韧性指的是系统在逆境中继续执行其任务的程度。虽然对操作连续性至关重要,但系统的服务(能力)只是系统继续执行其任务所必须保护的一些资产。该系统必须检测不利因素,对其作出反应,…

Vscode使用国内镜像源下载,秒下

镜像源 国内镜像地址:https://vscode.cdn.azure.cn 使用方法:很简单,只需要在官网选择自己需要的版本,点击下载,在下载的路径中将我们的镜像源替换上去即可 1.81.1版本下载链接 https://vscode.cdn.azure.cn/stable/…

软件测试优秀的测试工具,会用三款工作效率能提升一半

我们将常用的测试工具分为10类。 1. 测试管理工具 2. 接口测试工具 3. 性能测试工具 4. C/S自动化工具 5.白盒测试工具 6.代码扫描工具 7.持续集成工具 8.网络测试工具 9.app自动化工具 10.web安全测试工具 注:工具排名没有任何意义。 大多数初学者&…

STM32:串口轮询模式、中断模式、DMA模式和接收不定长数据

一.串口轮询模式底层机制: 在STM32每个串口的内部都有两个寄存器:发送数据寄存器(TDR)/发送移位寄存器,当我们调用HAL_UART_Transmit 把数据发送出去时,CPU会将数据依次将数据发送到数据寄存器中,移位寄存器中的数据会根据我们设置…

【Java数据结构重点知识】第三节:认识包装类和泛型

目录 一:包装类 1.什么是包装类 2.装箱和拆箱 3.一个经典面试题 二:泛型 1.什么是泛型 2.语法 3.使用 4.泛型是如何编译的 5.泛型的上界 一:包装类 1.什么是包装类 (1)概念:在Java中&#xff0…

YOLOv7优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

💡💡💡本文独家改进:独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 SC_C_Detect | 亲测在多个数据集能够实现大幅涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研…

正点原子嵌入式linux驱动开发——Linux CAN驱动

CAN是目前应用非常广泛的现场总线之一,主要应用于汽车电子和工业领域,尤其是汽车领域,汽车上大量的传感器与模块都是通过CAN总线连接起来的。CAN总线目前是自动化领域发展的热点技术之一,由于其高可靠性,CAN总线目前广…

java进行支付宝支付(沙箱环境)

目录 1.准备工作 2.idea配置文件准备 3.后端代码编写 接口1:支付订单 接口2:查询订单 接口3:订单退款 接口4:查询退款结果 接口5:获取总账单 接口6:取消订单 接口7:回调接口 定时任务…

docker环境安装+maven依赖继承问题

1,docker环境安装 我们使用yum指令进行安装,分别cmd运行: yum install -y yum-utils device-mapper-persistent-data lvm2 yum-contig-manager --add-repo https://download.docker.com/linux/centos/docker-ce.rep具体解释如下:…

如何创建 SpringBoot 多模块项目

1. 创建父模块 【添加依赖】 【删除父模块资源】 父模块只需要保留 pom.xml,其他文件的全部删除(包括 src) 2. 创建子模块 3. 修改父模块 3.1 删除不必要的依赖 3.2 添加打包类型 3.3 添加所有子模块 声明子模块有两个好处: …

Pytorch 注意力机制解析与代码实现

什么是注意力机制 注意力机制是深度学习常用的一个小技巧,它有多种多样的实现形式,尽管实现方式多样,但是每一种注意力机制的实现的核心都是类似的,就是注意力。 注意力机制的核心重点就是让网络关注到它更需要关注的地方。 当…

什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(3)

参考视频:https://www.youtube.com/watch?vE5Z7FQp7AQQ&listPLuhqtP7jdD8CD6rOWy20INGM44kULvrHu 视频7:CNN 的全局架构 卷积层除了做卷积操作外,还要加上 bias ,再经过非线性的函数,这么做的原因是 “scaled p…

电压放大器在压电陶瓷致动器中的应用有哪些

电压放大器在压电陶瓷致动器中有多种应用。压电陶瓷致动器是一种能够将电能转化为机械能的装置,通过施加电压来使陶瓷材料发生形变或振动。它在许多领域中得到广泛应用,如精密定位、振动控制、压力控制等。下面安泰电子将详细介绍电压放大器在压电陶瓷致…

java修仙基石篇->instanceof子父类检查

instanceof检查子父类(或者是否能被强转) 作用1:检查某对象是否是某类的子类 如:儿子类继承了父亲类。 检查儿子类对象是否属于父亲类 作用2:检查两个对象是否可以强转 语法: 子类对象 instanceof 父…