RenderableObject是WorldWind中所有需要渲染的对象的父类,继承了接口IRenderable和Icomparable。其派生类体系如下所示。RenderableObject的成员如下所示。
RenderableObjectList也继承自RenderableObject。
接口Irenderable内部仅仅定义下面三个接口,分别用来初始化、更新和渲染:
void Initialize(DrawArgs drawArgs);
void Update(DrawArgs drawArgs);
void Render(DrawArgs drawArgs);
枚举类型RenderPriority指定各种可渲染元素的优先级,优先级高的元素优先被渲染。
public enum RenderPriority
{
SurfaceImages = 0,
TerrainMappedImages = 100,
AtmosphericImages = 200,
LinePaths = 300,
Icons = 400,
Placenames = 500,
Custom = 600
}
可渲染对象类RenderableObject包含的主要的字段、属性和方法如下:
public bool isInitialized;//该可渲染对象是否已经初始化,如果是接下来可以渲染了
public bool isSelectable;//是否可被用户选择
public RenderableObjectList ParentList;//该对象所从属的可渲染对象列表父节点
public string dbfPath = "";//Shapefile的DBF信息路径
public bool dbfIsInZip = false;//Shapefile的DBF信息是否在压缩包中
protected string name;//该可渲染对象的名字
protected string m_description = null;//该可渲染对象的描述字符串
protected Hashtable _metaData = new Hashtable();//存储该对象元数据的哈希表
protected Vector3 position;//该可渲染对象的位置
protected Quaternion orientation;//该可渲染对象的方向
protected bool isOn = true;//是否显示或隐藏该可渲染对象
protected byte m_opacity = 255; //该可渲染对象的不透明度
protected RenderPriority m_renderPriority = RenderPriority.SurfaceImages;//该可渲染对象默认的渲染优先级
protected Form m_propertyBrowser;//该可渲染对象的属性浏览窗体
string m_thumbnail;//该可渲染对象的指纹影像路径
protected Image m_thumbnailImage;//该可渲染对象的指纹影像
protected string m_iconImagePath;//该可渲染对象的icon影像路径
protected Image m_iconImage;//该可渲染对象的icon影像
protected World m_world;//该可渲染对象所从属的星球对象
该类所包含的方法都比较简单,就不再赘述。