WorldWind源码剖析系列:可渲染对象类RenderableObject
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;//該可渲染對象所從屬的星球對象
該類所包含的方法都比較簡單,就不再贅述。
轉載于:https://www.cnblogs.com/rainbow70626/p/4584325.html
總結
以上是生活随笔為你收集整理的WorldWind源码剖析系列:可渲染对象类RenderableObject的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 序列化与反序列化(记住密码)
- 下一篇: 触摸事件