随笔分类 -  WorldWind源码剖析

摘要:实现基于四叉树的LOD地形时,我遇到的主要问题是如何修补地形裂缝。 本段我将描述使用LOD地形的优势,我实现LOD地形的思路,实现LOD地形核心模块的详细过程,以及修补地形裂缝的思路。 首先,LOD地形与一般地形不同:一般的地形是这样实现的:整个地形是一个三角形网格,一个513*513的地形包括51 阅读全文
posted @ 2016-03-12 15:04 rainbow70626 阅读(4443) 评论(0) 推荐(1) 编辑
摘要:WW的纹理,DEM数据,及LOD模型 以earth为例 1. 地形数据: 默认浏览器纹理数据存放在/Cache/Earth/Images/NASA Landsat Imagery/NLT Landsat7 (Visible Color),和高程数据一样分层存储,从服务器下载的图像为JPG格式,512 阅读全文
posted @ 2016-03-12 14:15 rainbow70626 阅读(579) 评论(0) 推荐(0) 编辑
摘要:在提供地理信息系统客户端时,NASA还为用户提供了开源的WMS Server 服务器应用:World Wind WMS Server。利用这个应用,我们可以架设自己的WMS服务并使用自己的数据(也支持缓存转发),这样开发的应用就不必依赖于互联网连接,也可以抛开NASA提供的数据源而独立运行。 1、准 阅读全文
posted @ 2016-03-11 23:29 rainbow70626 阅读(1783) 评论(0) 推荐(1) 编辑
摘要:World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件。World Wind Java首先使用ShapefileLoader类完成对shape文件的读取和加载,再通过createLayer 阅读全文
posted @ 2016-03-11 23:23 rainbow70626 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:通用的WebGIS空间数据请求访问机制如下图所示: 图1 WebGIS空间数据请求访问机制 阅读全文
posted @ 2016-03-10 22:07 rainbow70626 阅读(222) 评论(0) 推荐(0) 编辑
摘要:BMNG构造函数深入分析 一、主要类图 二、主要功能: 1) BMNG类 BMNG类将包含以“Blue Marble”为主题的所有可渲染影像的根节点添加到当前星球的可渲染对象列表中,包括“ \Data\Earth\BmngBathy\”目录下的随源代码发布的12幅图像、从NASA服务器上下载的经过分 阅读全文
posted @ 2016-03-10 01:33 rainbow70626 阅读(531) 评论(0) 推荐(0) 编辑
摘要:1 引言 随着BIM(Building Information Modeling)的不断发展,建筑信息建模的理念贯穿着建筑、结构、施工、运行维护以及拆迁再规划的整个建筑的生命周期,这种理念不仅使得各个阶段的信息得以共享,同时也绑定了各个专业的协同工作,使得各个专业不再是一个相对独立的个体。但是BIM 阅读全文
posted @ 2016-03-07 23:06 rainbow70626 阅读(1528) 评论(0) 推荐(0) 编辑
摘要:表面影像类SurfaceImage描述星球类(如地球)表面纹理影像。该类的类图如下。表面影像类SurfaceImage包含的主要的字段、属性和方法如下:string m_ImageFilePath;//影像文件的路径double m_North;//影像文件的北部边界double m_South;/... 阅读全文
posted @ 2015-07-27 23:31 rainbow70626 阅读(278) 评论(0) 推荐(0) 编辑
摘要:表面瓦片类SurfaceTile描述星球类(如地球)表面纹理影像的瓦片模型。其类图如下。表面瓦片类SurfaceTile包含的主要的字段、属性和方法如下:int m_Level;//该瓦片所属金字塔影像的层级double m_North;//该瓦片北边界double m_South; //该瓦片南边... 阅读全文
posted @ 2015-07-27 22:21 rainbow70626 阅读(396) 评论(0) 推荐(0) 编辑
摘要:星球表面渲染类WorldSurfaceRenderer描述如何渲染星球类(如地球)表面影像纹理。该类的类图如下。星球类World包含的主要的字段、属性和方法如下:public const int RenderSurfaceSize = 256;//定义渲染表面尺寸的常量RenderToSurface... 阅读全文
posted @ 2015-07-26 23:24 rainbow70626 阅读(316) 评论(0) 推荐(0) 编辑
摘要:WorldWind中的插件类是个庞大的类,可以说从软件设计层面上统筹可扩展的插件体系的设计思想是WorldWind中的精华,值得学习和借鉴。插件体系中的所用到的类可以分为两大类,一类是插件类Plugin及其派生类,另外一类是插件类中的界面类,如PluginDialog、PluginInstall... 阅读全文
posted @ 2015-07-23 19:56 rainbow70626 阅读(323) 评论(0) 推荐(0) 编辑
摘要:WorldWindow用户定制控件类中所包含的的挂件类Widgets控件主要有如下图所示的派生类。它们的类图如下所示。鉴于挂件类Widgets及其派生类,相对简单,基本上都是些利用DirectX3D进行绘图和处理图标纹理影像等的操作,此处不再对各个类的主要的字段、属性和方法进行描述了。感兴趣的读者可... 阅读全文
posted @ 2015-07-22 22:31 rainbow70626 阅读(532) 评论(0) 推荐(0) 编辑
摘要:WorldWindow用户定制控件类中所包含的的可视化子控件主要有:图层管理器按钮类LayerManagerButton和菜单条类MenuBar。BmngLoader类中所包含的的可视化子控件主要有:WindowsControlMenuButton,该类也派生自抽象类MenuButton。注意:Pl... 阅读全文
posted @ 2015-07-22 22:30 rainbow70626 阅读(397) 评论(0) 推荐(0) 编辑
摘要:影像图层类ImageLayer影像图层类ImageLayer将单张影像作为纹理映射到星球表面上去。源影像必须是平面笛卡尔坐标系。该类的类图如下。影像图层类ImageLayer提供的主要字段、属性和方法简要描述如下:protected double layerRadius;//图层半径,实际是添加影像... 阅读全文
posted @ 2015-07-20 20:07 rainbow70626 阅读(667) 评论(0) 推荐(0) 编辑
摘要:插件类Plugin是所有由插件编译器加载的插件子类的抽象父类,提供对插件的轻量级的访问控制功能。 插件信息类PluginInfo用来存储关于某个插件的信息的类,可以理解为对插件类Plugin类的进一步抽象封装,提供了比插件类Plugin更为详细的插件信息。 插件编译器类PluginCompiler用 阅读全文
posted @ 2015-07-19 17:42 rainbow70626 阅读(869) 评论(0) 推荐(0) 编辑
摘要:在WorldWindow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,这种自定义控件比较耗费精力,需要比较深厚的GDI+和DirectX 3D开发功底。(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级 阅读全文
posted @ 2015-06-19 20:55 rainbow70626 阅读(663) 评论(0) 推荐(0) 编辑
摘要:四叉树瓦片集合类QuadTileSet是影像瓦片渲染的主要类。使用地形管理器来为3D地形渲染查询高程值。依赖于用来刷新基于经度、纬度、视角范围瓦片的更新线程。该类继承自可渲染对象类RenderableObject。该类的类图如下。四叉树瓦片集合类QuadTileSet提供的主要字段、属性和方法简要描... 阅读全文
posted @ 2015-06-19 20:53 rainbow70626 阅读(480) 评论(0) 推荐(0) 编辑
摘要:四叉树瓦片类QuadTile提供了对影像和地形数据的四叉树访问模型。该类的类图如下。四叉树瓦片类QuadTile提供的主要字段、属性和方法简要描述如下:public QuadTileSet QuadTileSet;//四叉树瓦片集合类public double West;//瓦片的西边界,角度为单位... 阅读全文
posted @ 2015-06-19 09:42 rainbow70626 阅读(597) 评论(0) 推荐(0) 编辑
摘要:RenderableObject是WorldWind中所有需要渲染的对象的父类,继承了接口IRenderable和Icomparable。其派生类体系如下所示。RenderableObject的成员如下所示。RenderableObjectList也继承自RenderableObject。接口I... 阅读全文
posted @ 2015-06-17 20:43 rainbow70626 阅读(249) 评论(0) 推荐(0) 编辑
摘要:在WorldWindow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,比较耗费精力(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级的改变,实现起来比较简单)。为了明确定制控件Control和用户控件U... 阅读全文
posted @ 2015-06-17 20:41 rainbow70626 阅读(243) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示