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