博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WorldWind源码剖析系列:设置类SettingsBase
阅读量:5838 次
发布时间:2019-06-18

本文共 1181 字,大约阅读时间需要 3 分钟。

PluginSDK中的星球设置类WorldSettings 和WorldWind。程序设置类WorldWindSettings均继承自父类SettingsBase。类图如下所示。其中父类SettingsBase内嵌了枚举型LocationType,子类WorldSettings的定义文件中附带了定义了测量模式的枚举型。

 

父类SettingsBase主要是对设置文件相关的设置文件名、版本、路径、载入、保存等于文件处理相关的顶层抽象。主要是以XML文件保存的,静态方法Load() 方法采用.NET平台提供的XmlSerializer类实现序列化和反序列化生成其子类对象。注意:该类的静态方法Load() 方法具有4种重载形式,其中public static SettingsBase Load(SettingsBase defaultSettings, string fileName)方法是最终被调用的方法,其余的重载形式都是直接或间接的调用该基本重载形式。1个参数的重载形式调用2个参数的重载形式,2个参数的重载形式调用3个参数的重载形式,3个参数的重载形式调用上面提到的具有2个参数的基本重载形式。LoadFromPath()也调用上面提到的具有2个参数的基本重载形式。

类WorldSettings中具体设置与大气渲染、UI界面控制、经纬度格网控制、星球的各类元素、相机参数、时间保存、DirectX 3D设置、地形参数、测量工具、单位、图层、日志等相关内容。各类设置元素(约100对参数,字段和属性算一对)详细信息具体请参见源码。

类WorldWindSettings封装与WorldWind程序有关的参数:如与网络数据下载相关时的代理设置Proxy、网络数据下载缓冲Cache、程序启动时加载的插件信息Plugin、文件系统参数设置File System Settings、其它各种参数设置Miscellaneous settings等。

其中,与代理设置Proxy相关的参数有:是否使用Windows默认代理、网络代理URL、是否使用动态代理、代理的用户名、代理的密码。

其中,与网络数据下载缓冲Cache相关的参数有:缓冲区路径,缓冲区大小、缓冲区清理时间间隔、缓冲区累计使用时间。

其中,与加载的插件信息Plugin相关的参数有:插件收集集合。

其中,与文件系统参数设置File System Settings相关的参数有:默认启动的星球的名字、程序启动时是否显示配置助手。

其中,与其它各种参数设置Miscellaneous settings相关的参数有:配置文件路径、数据路径、是否验证XML的有效性。

函数void UpdateProxySettings()用于将与代理相关的设置参数传送给网络下载类WebDownload中的静态成员。

转载地址:http://uojcx.baihongyu.com/

你可能感兴趣的文章
Debian9.2 下使用vnstat查看服务器带宽流量统计
查看>>
NGINX + PHP-FPM 502
查看>>
mysql数据备份与恢复
查看>>
Openstack API常用命令
查看>>
OpenSSL漏洞凶猛来袭 慧眼恶意代码监测应对有方
查看>>
C语言 喝汽水问题
查看>>
LINUX中搭建DNS服务器,实现正向、反向以及访问不同DNS解析
查看>>
SCCM2012 R2实战系列之十:解决WDS服务无法启动问题(错误1067:进程意外终止)...
查看>>
怎么防止重复发送Ajax
查看>>
ubuntu 下安装 mysql
查看>>
关于k-means聚类算法的matlab实现
查看>>
Git分支2
查看>>
一键安装Gitlab后的备份、迁移与恢复
查看>>
因为本人工作繁忙,精力有限,本博客停止更新。有兴趣的博友可以关注我在CSDN上的主博客...
查看>>
三元表达式,推导式,递归,匿名函数,内置函数
查看>>
SQL server查看触发器是否被禁用
查看>>
[C++基础]在构造函数内部调用构造函数
查看>>
跟随我在oracle学习php(8)
查看>>
Spring 3.1.0 Hibernate 3.0 Eclipse Spring WEB例子
查看>>
使用Unicode写文本文件:一个简单类的示例
查看>>