WorldWind源码剖析系列:配置载入器类ConfigurationLoader
配置载入器类ConfigurationLoader主要从指定的路径中加载保存星球相关参数的xml文件,从中读取数据来构造星球对象及其所关联的可渲染子对象列表并返回。该类的类图如下所示。
该类所包含的主要的方法基本都是静态的,功能说明如下:
public static double ParseDouble(string s)将字符串s解析为Double型数字
private static bool ParseBool(string booleanString) 将字符串s解析为bool型
public static void XMLValidationCallback(object sender, ValidationEventArgs args)XML文件有效性验证时的回调委托事件(severity:严重、严格、猛烈)。
public static World Load(string filename, Cache cache)函数是本类中的重点函数,主要从指定的路径如“bin\x86\Debug\Config\Earth.xml”文件中加载保存星球相关参数的xml文件,从中读取数据来构造星球对象并返回。
private static RenderableObjectList getRenderablesFromLayerDirectory(string layerDirectory, World parentWorld, Cache cache)函数从指定的图层目录中回去与指定父类星球parentWorld相关联的可渲染子对象列表。被本类和RenderableObjectList类中的相关函数调用。内部调用其重载形式 public static RenderableObjectList getRenderableFromLayerFile(string layerFile, World parentWorld, Cache cache, bool enableRefresh),重载形式内容比较多,需要细看。
public static bool IsLayerOn(RenderableObject ro)设置指定的可渲染对象图层是开启还是关闭
private static RenderableObjectList addChildLayerSet(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable, Cache cache)添加子图层集合到可渲染子对象列表
private static ImageTileService getImageTileServiceFromXPathNodeIterator(XPathNodeIterator iter)返回指定节点所对应的影像瓦片服务对象
private static ImageStore getImageStoreFromXPathNodeIterator(string name, XPathNodeIterator imageAccessorIter, RenderableObjectList parentRenderable, Cache cache) 返回指定节点所对应的影像存储对象
private static void addQuadTileLayersFromXPathNodeIterator(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable, Cache cache)从指定节点中添加四叉树瓦片图层到可渲染子对象列表
private static TimeSpan getCacheExpiration(XPathNodeIterator iter)返回缓冲区过期时间间隔
private static void addExtendedInformation(XPathNodeIterator iter, RenderableObject renderable)添加扩展信息
public static string GetRenderablePathString(RenderableObject renderable)添加可渲染路径字符串,内部调用准同名函数private static string getRenderablePathString(RenderableObject renderable)
private static void addImageLayersFromXPathNodeIterator(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable) 从指定节点中添加影像图层到可渲染子对象列表
private static void addScreenOverlays(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable, Cache cache)添加屏幕覆盖图层(PS:Overlays:覆盖图、镶边、包镶物)
private static void addScreenOverlaysToIcon(XPathNodeIterator iter, World parentWorld, Icon icon, Cache cache) 添加屏幕覆盖图层至ICON图标
private static System.Drawing.Color getColor(XPathNodeIterator iter)返回XpathNodeIterator节点迭代器所指定的元素的颜色
private static Microsoft.DirectX.Direct3D.FontDescription getDisplayFont(XPathNodeIterator iter) 返回XpathNodeIterator节点迭代器所指定的显示字体的字体描述结构体对象
private static void addTiledPlacenameSet(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable)添加已经切分成瓦片的地名集合所构建的TiledPlacenameSet对象到可渲染子对象列表
private static void addTiledWFSPlacenameSet(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable, Cache cache) 添加已经切分成瓦片的地名集合所构建的TiledWFSPlacenameSet对象到可渲染子对象列表
private static void addIcon(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable, Cache cache) )添加XpathNodeIterator节点迭代器所指定的Icon对象到可渲染子对象列表
private static void addPathList(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable) 添加XpathNodeIterator节点迭代器所指定的PathList路径列表对象到可渲染子对象列表
private static void addLineFeature(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable) 添加XpathNodeIterator节点迭代器所指定的LineFeature线型要素对象到可渲染子对象列表
private static void addPolygonFeature(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable) 添加XpathNodeIterator节点迭代器所指定的PolygonFeature多边形要素对象到可渲染子对象列表
private static void addModelFeature(XPathNodeIterator iter, World parentWorld, RenderableObjectList parentRenderable) 添加XpathNodeIterator节点迭代器所指定的ModelFeature模型要素对象到可渲染子对象列表
private static TerrainAccessor[] getTerrainAccessorsFromXPathNodeIterator(XPathNodeIterator iter, string cacheDirectory)从指定的XpathNodeIterator节点迭代器所指向的元素中获取地形访问器对象
static string getInnerTextFromFirstChild(XPathNodeIterator iter) 从指定的XpathNodeIterator节点迭代器所指向的元素中获取第一个子元素的内部文本字符串
WorldWind源码剖析系列:配置载入器类ConfigurationLoader的更多相关文章
- WorldWind源码剖析系列:影像存储类ImageStore、Nlt影像存储类NltImageStore和WMS影像存储类WmsImageStore
影像存储类ImageStore 影像存储类ImageStore提供了计算本地影像路径和远程影像影像URL访问的各种接口,是WmsImageStore类和NltImageStore类的基类.当划分完层次 ...
- WorldWind源码剖析系列:表面影像类SurfaceImage
表面影像类SurfaceImage描述星球类(如地球)表面纹理影像.该类的类图如下. 表面影像类SurfaceImage包含的主要的字段.属性和方法如下: string m_ImageFilePath ...
- WorldWind源码剖析系列:表面瓦片类SurfaceTile
表面瓦片类SurfaceTile描述星球类(如地球)表面纹理影像的瓦片模型.其类图如下. 表面瓦片类SurfaceTile包含的主要的字段.属性和方法如下: int m_Level;//该瓦片所属金字 ...
- WorldWind源码剖析系列:影像图层类ImageLayer
影像图层类ImageLayer 影像图层类ImageLayer将单张影像作为纹理映射到星球表面上去.源影像必须是平面笛卡尔坐标系.该类的类图如下. 影像图层类ImageLayer提供的主要字段.属性和 ...
- WorldWind源码剖析系列:四叉树瓦片类QuadTile
四叉树瓦片类QuadTile提供了对影像和地形数据的四叉树访问模型.该类的类图如下. 四叉树瓦片类QuadTile提供的主要字段.属性和方法简要描述如下: public QuadTileSet Qua ...
- WorldWind源码剖析系列:下载请求类DownloadRequest
下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadReques ...
- WorldWind源码剖析系列:网络下载类WebDownload
网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作.该类使用了两个委托类型和一个枚举类型. 该类的类图如下. 网络下载类WebDownload各个字段和属性的含义说明如下: st ...
- WorldWind源码剖析系列:绘制参数类DrawArgs
绘制参数类DrawArgs主要对绘制时需要的对象如:设备对象Microsoft.DirectX.Direct3D.Device.Microsoft.DirectX.Direct3D.Font字体对象. ...
- WorldWind源码剖析系列:数学引擎类MathEngine
PluginSDK中的MathEngine类是密封类.不可继承,主要完成通用的数学计算功能.由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/ ...
- WorldWind源码剖析系列:代理助手类ProxyHelper
代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数.该类类图如下. 提供的主要处理方法基本上都是静态函数,简要描述如下: 内嵌类型WINHTTP_AUTOPROX ...
随机推荐
- php解释命令行的参数
php cli模式下,可以用$argc, $argv来读取所有的参数以及个数,如: ghostwu@ghostwu:~/php/php1/1$ cat go1 #!/usr/bin/php <? ...
- POJ2195&&HDU1533(KB11-D 最小费用最大流)
Going Home Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 23515 Accepted: 11853 Desc ...
- contenttypes组件 (处理大量外键)
介绍 Django contenttypes是一个非常有用的框架,主要用来创建模型间的通用关系(generic relation). https://www.cnblogs.com/huchong ...
- Python 初识网络
一. C/S架构:客户端(client)/服务端(server)架构 B/S架构:浏览器(browser) / 服务端(server)架构 软件cs架构: 浏览器,qq,微信等等 硬件cs架构:打印机 ...
- 微信小程序 折叠效果
<view class='help'> <view class='help_item'> <view class='title' data-index='1' catch ...
- css 解决图片下小空隙问题
http://baijiahao.baidu.com/s?id=1581004863053583633&wfr=spider&for=pc 这篇讲的挺清楚,也有解决办法
- JMeter4.0的界面汉化
1.安装好之后 2.界面汉化 options->choose language->chinese(simplified) 3.汉化完成
- Postman Postman测试接口之POST提交本地文件数据
Postman测试接口之POST提交本地文件数据 by:授客 QQ:1033553122 本文主要是针对用Postman POST提交本地文件数据的方法做个简单介绍 举例: 文件同步接口 接口地址 ...
- SQLServer 事物与索引
SqlServer 事物与索引 分享by:授客 QQ:1033553122 详情点击百度网盘分享链接: SqlServer 事物与索引.ppt
- Android Studio支持Java1.8的解决方案
Java1.8新添了一些特性,比如对lambda表达式的支持,父类推断等等,这篇文章讲述了1.8的新特性,有兴趣的同学可以点进去看看.但是由于AndroidStudio并不能直接支持Java1.8,我 ...