E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
WorldWind
WorldWind
源码剖析系列:窗口定制控件类
WorldWind
ow
在
WorldWind
ow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,比较耗费精力(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级的改变
·
2015-11-07 12:31
window
WorldWind
源码剖析系列:可渲染对象类RenderableObject
RenderableObject是
WorldWind
中所有需要渲染的对象的父类,继承了接口IRenderable和Icomparable。其派生类体系如下所示。
·
2015-11-07 12:31
object
WorldWind
源码剖析系列:配置载入器类ConfigurationLoader
配置载入器类ConfigurationLoader主要从指定的路径中加载保存星球相关参数的xml文件,从中读取数据来构造星球对象及其所关联的可渲染子对象列表并返回。该类的类图如下所示。 该类所包含的主要的方法基本都是静态的,功能说明如下: public static double ParseDouble(string s)将字符串s解析为Double型数字 private s
·
2015-11-07 12:30
configuration
WorldWind
源码剖析系列:窗口定制控件类
WorldWind
ow
在
WorldWind
ow定制控件是从Control类派生出来的,需要自己操纵GDI+绘制所需要的界面效果,比较耗费精力(区别于用户控件UserControl,也叫组合控件,大多是对.NET工具箱提供的默认基础控件进行的组合和轻量级的改变
·
2015-11-07 12:29
window
WorldWind
源码剖析系列:大气层散射球类AtmosphericScatteringSphere
大气层散射球类AtmosphericScatteringSphere代表地球外面的大气层散射球模型,可以控制开启/关闭渲染该对象。该类的类图如下。 该类所包含的主要字段、属性和方法如下: public float m_radius;//大气层散射球半径,默认为地球赤道半径的1.025倍 protected int m_numberSlices; //大气层散射
·
2015-11-07 12:29
cat
WorldWind
源码剖析系列:星球类World
需要说明的是,在
WorldWind
中星球球体的渲染和经纬网格的渲染时分别绘制的。
·
2015-11-07 12:28
源码
WorldWind
源码剖析系列:可渲染对象列表类RenderableObjectList
可渲染对象列表类RenderableObjectList用来存储与一个星球体相关联的全部的可渲染对象,继承自可渲染对象类RenderableObject。RenderableObjectList的类图如下所示。 该类所包含的主要的字段、属性和方法如下: pr
·
2015-11-07 12:28
object
WorldWind
源码剖析系列:日志类Log
Utility工程中的日志类Log主要用来输出Debug状态下的调试信息。该类的类图如下: 日志类Log中使用到的类和内嵌结构体类型主要有以下这些: public class LogEventArgs : EventArgs//日志事件参数 { public int level; &nb
·
2015-11-07 12:23
log
WorldWind
源码剖析系列:星球球体的加载与渲染
WorldWind
源码剖析系列:星球球体的加载与渲染
WorldWind
中主函数Main()的分析 在文件
WorldWind
.cs中主函数Main()依次作以下几个事情: 1.
·
2015-11-07 12:21
源码
WorldWind
源码剖析系列:影像存储类ImageStore、Nlt影像存储类NltImageStore和WMS影像存储类WmsImageStore
影像存储类ImageStore 影像存储类ImageStore提供了计算本地影像路径和远程影像影像URL访问的各种接口,是WmsImageStore类和NltImageStore类的基类。该类的类图如下。 影像存储类基类ImageStore提供的主要字段、属性和方法简要描述如下: protected string m_dataD
·
2015-11-07 12:20
image
WorldWind
源码剖析系列:代理助手类ProxyHelper
代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数。该类类图如下。 提供的主要处理方法基本上都是静态函数,简要描述如下: 内嵌类型WINHTTP_AUTOPROXY_OPTIONS代表自动代理选项的Win32结构体。 内嵌类型WINHTTP_PROXY_INFO代表被WinHTTP互操作返回的代理信息结构体。 static extern
·
2015-11-07 12:20
proxy
WorldWind
源码剖析系列:地形访问器类TerrainAccessor
地形访问器类TerrainAccessor 地形访问器类TerrainAccessor提供了对地形(高程)Terrain (elevation)访问的各种接口interface,是NltTerrainAccessor类的基类。该类类图如下。 基类TerrainAccessor提供的主要处理方法简要描述如下: protected string m_name; //地形模型名称
·
2015-11-07 12:19
Access
WorldWind
源码剖析系列:下载请求类DownloadRequest
下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadRequest(抽象类),再派生出地形下载请求类TerrainDownloadRequest。这些类的类图如下。 抽象基类下载请求类DownloadRequest 抽象基类下载请求类Downl
·
2015-11-07 12:18
download
WorldWind
源码剖析系列:地形瓦片类TerrainTile和地形瓦片服务类TerrainTileService
地形瓦片类TerrainTile 用来抽象封装用户漫游中所请求的地形瓦片数据类型。 地形瓦片服务类TerrainTileService提供了从BIL地形文件获取高程的功能。实际上,该类主要是用来返回用户漫游中所请求的地形瓦片对象。这两个类类图如下。 地形瓦片服务类TerrainTileService各个字段的含义说明如下: &n
·
2015-11-07 12:17
service
WorldWind
源码剖析系列:网络下载类WebDownload
网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作。该类使用了两个委托类型和一个枚举类型。 该类的类图如下。 网络下载类WebDownload各个字段和属性的含义说明如下: static public bool Log404Errors = false;//网络下载错误类型 static public bool useWindowsDefaultProx
·
2015-11-07 12:17
download
WorldWind
源码剖析系列:下载队列类DownloadQueue
下载队列类DownloadQueue代表具有优先级的下载队列,该类的存储下载请求的数组链表专门按一定的优先级来存储下载请求的。该类的类图如下。 下载队列类DownloadQueue各个字段的含义说明如下: public static int MaxQueueLength = 200;//最大队列长度 public static int MaxConcurrentDownloa
·
2015-11-07 12:16
download
C#游戏开发中精确的时间调配
根据学习
WorldWind
源码可知,
WorldWind
中采用的方法与该方法基本一致。
·
2015-11-07 12:15
游戏开发
WorldWind
源码剖析系列:图像助手类ImageHelper
图像助手类ImageHelper封装了对各种图像的操作。该类类图如下。 提供的主要处理方法基本上都是静态函数,简要描述如下: public static bool IsGdiSupportedImageFormat(string imageFileName) 静态函数用给定的图像文件名称来判断该图像是否是Windows GDI+支持的图像。 public static Tex
·
2015-11-07 12:13
image
WorldWind
源码剖析系列:设置类SettingsBase
PluginSDK中的星球设置类WorldSettings 和
WorldWind
。程序设置类
WorldWind
Settings均继承自父类SettingsBase。类图如下所示。
·
2015-11-07 12:12
set
WorldWind
源码剖析系列:缓冲类Cache
缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据。Google Earth也采用类似机制处理用户离线浏览漫游问题。该类类图如下。 提供的主要参数设置有:缓冲区上限CacheUpperLimit(默认最大为2GB)、缓冲区上限CacheUpperLimit(默认最大为2GB)、缓冲区下限C
·
2015-11-07 12:12
cache
WorldWind
源码剖析系列:绘制参数类DrawArgs
Microsoft.DirectX.Direct3D.Device、Microsoft.DirectX.Direct3D.Font字体对象、相机对象CameraBase、星球对象World、下载队列对象DownloadQueue、程序插件集合类对象
WorldWind
.Widgets.RootWidget
·
2015-11-07 12:11
raw
WorldWind
源码剖析系列:经纬度格网类LatLongGrid
经纬度格网类LatLongGrid继承自可渲染对象类RenderableObject,是
WorldWind
中用来在星球外表绘制经纬度格网的封装类。其类图如下所示。
·
2015-11-07 12:10
grid
WorldWind
源码剖析系列:相机类CameraBase
相机基类CameraBase PluginSDK中的相机类CameraBase是三维计算机图形学中的概念。观察者在三维场景中漫游时,通过眼睛看到的场景和相机拍摄过程非常一致。实际上,Direct3D和OpenGL都是先通过对现实世界中的场景先进行世界变换,再通过设置观察矩阵以在场景中安置一个虚拟相机,构建一个视景体来裁剪场景的可见区域,然后在通过投影变换(平行投影或透视投影),获取三维场景的
·
2015-11-07 12:10
Camera
WorldWind
源码剖析系列:四元数类Quaternion
PluginSDK中的Quaternion4d类可能是感觉Microsoft.DirectX. Quaternion类不太实用或不够用,自己有重新写的。 四元数是英国数学家哈密顿(W.R.Hamilton)在1843年发现的,由于矩阵论的不断丰富和不断完善,人们更乐意采用矩阵来解决实际工程中的问题,这导致四元数在相当长的时间里没有被人们重视,更没有得到实际的应用。随着计算机图形学的发展,人们发现
·
2015-11-07 12:09
nio
WorldWind
源码剖析系列:视景体类Frustum
PluginSDK中的视景体类Frustum是三维计算机图形学中的概念,主要用来描述透视投影的过程。三维计算机图形学中关于三维物体的渲染,Direct3D和OpenGL都是先通过对现实世界中的场景先进行世界变换,再通过设置观察矩阵以在场景中安置一个虚拟相机,构建一个视景体来裁剪场景的可见区域,然后在通过投影变换(平行投影或透视投影),获取三维场景的“像”,最后再通过视口变换,将场景的“像”光栅化输
·
2015-11-07 12:08
源码
WorldWind
源码剖析系列:数学引擎类MathEngine
PluginSDK中的MathEngine类是密封类。不可继承,主要完成通用的数学计算功能。其类图如下。 其中,该类没有字段和属性成员,只有方法成员,都是静态成员。 Azimuth方法用于计算从A点(latA,lonA)到B点(latB,lonB)的方位角。 SphericalToCartesian方法用于将位置点的球面坐标转换为空间笛卡尔坐标。输入角度以度为单位。其重载形式
·
2015-11-07 12:07
Engine
WorldWind
源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere
PluginSDK中的外包围盒、外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示。 外包围盒BoundingBox类的corners字段用来存储外包围盒的8个顶点向量。其构造函数有两种形式。第一种构造函数用8个顶点向量来实例化一个外包围盒。第二种构造函数用给定的东、南、西、北四个范围数值,以及上、下两个数值通过计算8个顶点向量的数值,进而
·
2015-11-07 12:07
源码
WorldWind
源码剖析系列:角度类Angle
PluginSDK中的角度结构体Angle类图如下所示。 角度结构体主要定义了一个弧度表示角度值的字段:double Radians。还有几个表示角度最大值、最小值、非数值和零角度等字段。定义了一个Degrees属性,分别用数学引擎类的弧度和角度相互转换函数完成Radians字段值的设置与获取。 public double Degrees { &nb
·
2015-11-07 12:06
源码
WorldWind
源码剖析系列:二维点类Point2d和三维点类Point3d
PluginSDK中的点主要有二维和三维两种类型,分别用来描述平面和立体点。其类图如下。 这两个类比较简单。其字段成员主要用来描述点对象在各坐标轴上的分量。 属性Length用来返回二维和三维点的距离坐标原点的长度。 二维点定义了点积运算dot,三维点同时定义了点积dot/dotProduct和叉积运算cross。 Norm、norm2、normalize分别完成了二阶范数
·
2015-11-07 12:05
poi
WorldWind
源码剖析系列:枚举类型
PluginSDK中的枚举型主要有以下这些: public enum AltitudeMode//高度模式枚举 {  
·
2015-11-07 12:03
源码
D3D标注动态避让
今天总算找到了实现方法,在C#
WorldWind
中的KMLImporter类中有。
·
2015-11-07 10:33
动态
WorldWind
源码剖析系列:挂件类Widgets
WorldWind
ow用户定制控件类中所包含的的挂件类Widgets控件主要有如下图所示的派生类。它们的类图如下所示。
·
2015-11-06 08:34
widget
WorldWind
源码剖析系列:图层管理器按钮类LayerManagerButton和菜单条类MenuBar
WorldWind
ow用户定制控件类中所包含的的可视化子控件主要有:图层管理器按钮类LayerManagerButton和菜单条类MenuBar。
·
2015-11-06 08:33
manager
WorldWind
源码剖析系列:影像图层类ImageLayer
影像图层类ImageLayer 影像图层类ImageLayer将单张影像作为纹理映射到星球表面上去。源影像必须是平面笛卡尔坐标系。该类的类图如下。 影像图层类ImageLayer提供的主要字段、属性和方法简要描述如下: protected double layerRadius;//图层半径,实际是添加影像纹理的星球半径 protected double minLat; //
·
2015-11-06 08:33
image
WorldWind
源码剖析系列:插件类Plugin、插件信息类PluginInfo和插件编译器类PluginCompiler
插件类Plugin是所有由插件编译器加载的插件子类的抽象父类,提供对插件的轻量级的访问控制功能。 插件信息类PluginInfo用来存储关于某个插件的信息的类,可以理解为对插件类Plugin类的进一步抽象封装,提供了比插件类Plugin更为详细的插件信息。 插件编译器类PluginCompiler用来加载插件脚本,编译和执行插件。 这三个类的类图如下。 插件类Plugin包
·
2015-11-06 08:32
compiler
WorldWind
源码剖析系列:表面影像类SurfaceImage
表面影像类SurfaceImage描述星球类(如地球)表面纹理影像。该类的类图如下。 表面影像类SurfaceImage包含的主要的字段、属性和方法如下: string m_ImageFilePath;//影像文件的路径 double m_North;//影像文件的北部边界 double m_South;//影像文件的南部边界 double m_West;//影像文件的西
·
2015-11-03 21:26
image
WorldWind
源码剖析系列:星球表面渲染类WorldSurfaceRenderer
星球表面渲染类WorldSurfaceRenderer描述如何渲染星球类(如地球)表面影像纹理。该类的类图如下。 星球类World包含的主要的字段、属性和方法如下: public const int RenderSurfaceSize = 256;//定义渲染表面尺寸的常量 RenderToSurface m_Rts = null;//D3D定义的类型 const int
·
2015-11-03 21:25
源码
WorldWind
源码剖析系列:表面瓦片类SurfaceTile
表面瓦片类SurfaceTile描述星球类(如地球)表面纹理影像的瓦片模型。其类图如下。 表面瓦片类SurfaceTile包含的主要的字段、属性和方法如下: int m_Level;//该瓦片所属金字塔影像的层级 double m_North;//该瓦片北边界 double m_South; //该瓦片南边界 double m_West; //该瓦片西边界 double
·
2015-11-03 21:25
facet
WorldWind
源码剖析系列:插件列表视图类PluginListView和插件列表视图项类PluginListItem
WorldWind
中的插件类是个庞大的类,可以说从软件设计层面上统筹可扩展的插件体系的设计思想是
WorldWind
中的精华,值得学习和借鉴。
·
2015-11-03 21:23
ListView
[Shapefile C Library]读取shp图形(.net Wapper)
ShapeLib的.net Wapper版可以在官网下载到,在
WorldWind
中也有使用。ORG据说也是使用的ShapeLib实现的shp文件的读写。
·
2015-11-02 16:19
library
Winform自定义控件在网页上的应用
研究了一阵子C#版
WorldWind
,大家知道
WorldWind
是桌面程序,突然提了一个新需求,就是在IE里面运行
WorldWind
,对于java版的
WorldWind
来说可能比较容易,C#版的还真费神
·
2015-11-02 10:46
WinForm
开源GIS---.Net系列
链接:http://www.
worldwind
centra
·
2015-10-31 19:50
.net
WorldWind
学习系列十二:Measure插件学习
我在写自己的
WorldWind
插件时,遇到很大挫折,上周六本来想写个简单的画线的插件,费了九牛二虎之力终于画出了,如何以动画效果画出线的问题没解决。
·
2015-10-31 08:57
学习
WorldWind
学习系列十五:如何切割影像和DEM数据及其在WW中的应用配置
WorldWind
学习系列十四中我从代码上分析如何加载DEM数据,里面涉及了算法,有学习和借鉴意义。但对于只求应用或者说是急于求成的网友来说,实用价值不是太大!
·
2015-10-31 08:57
配置
WorldWind
学习系列十三:地形数据(DEM)加载和应用(入门篇)
学习WW中DEM的加载和应用对于基于WW搞三维GIS插件开发很重要。我一直也想关注和搜集相关学习资料,之前没有开始研究它,主要是自己没能在WW看到高程应用功能,感觉没法切入。我昨天下午和今天上午的时间就花在找研究切入点啦!实质上就是找如何在WW查看高程的功能。(现在回想一下,感觉浪费时间了,还是因为我对WW的功能没能完全知道) 我在开始学习DEM加载和应用前,我主要参看了CS
·
2015-10-31 08:57
学习
WorldWind
学习系列十四:DEM数据加载和应用——以SRTM为例
今天是2010的第一天,总想把它过得充实点,为我自己新的一年开个好头吧!首先,向关注我博客的网友道声:“元旦快乐!”,其次,接着跟大家分享一下我学习WW中DEM数据的加载和应用心得,希望大家从中有所收获! DEM应用在WW的三维表现中占有很重要的位置,跟影像数据同等重要!幸好影像和DEM的加载和处理原理上几乎一致,对基于WW搞GIS三维开发来说是件好事,理解好任何一种,另一种触类旁通!前
·
2015-10-31 08:57
学习
WorldWind
学习系列十六:3D Cross Section插件功能分析——TerrainViewer
很长时间没写
WorldWind
方面的东西啦!
·
2015-10-30 16:04
view
WorldWind
学习系列十一:Virtual Earth插件学习
学习
WorldWind
有很长时间了,理论学习算是基本完成了。我体会是WW的学习主要分为两大步:WW框架体系学习和WW插件学习。
·
2015-10-30 16:03
virtual
WorldWind
学习系列十:RendableObject中的DirectX渲染分析——ImageLayer为例
学习WW有一段时间了,但是若想开发自己基于WW的插件,必然会遇到RendableObject中的DirectX渲染问题。所有需要渲染绘制的WW三维插件,最终是通过继承RendableObject并实现自己的Initialize()、Update()、Render()方法的。想写自己的Render()方法不是简单的事情,你必然要学习DirectX编程,否则,你连看懂示例中的底层Render()方
·
2015-10-30 16:02
object
WorldWind
学习系列八:Load/Unload Plugins——直捣黄龙篇
第一部分 打开PluginDialog.cs窗体时,会调用273行的 private void PluginDialog_Load( object sender, System.EventArgs e) { // 加载插件到ListView控件中
·
2015-10-30 16:01
plugins
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他