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相关推荐

  1. WorldWind源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere

    PluginSDK中的外包围盒.外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示. 外包围盒BoundingBox类的corners字段用来存储外包围盒的8个 ...

  2. WorldWind源码剖析系列:星球表面渲染类WorldSurfaceRenderer

    星球表面渲染类WorldSurfaceRenderer描述如何渲染星球类(如地球)表面影像纹理.该类的类图如下. 星球类World包含的主要的字段.属性和方法如下: public const int ...

  3. WorldWind源码剖析系列:BMNG类构造函数深入分析

    BMNG构造函数深入分析 一.主要类图 二.主要功能: 1)        BMNG类 BMNG类将包含以"Blue Marble"为主题的所有可渲染影像的根节点添加到当前星球的可 ...

  4. WorldWind源码剖析系列:大气层散射球类AtmosphericScatteringSphere

    大气层散射球类AtmosphericScatteringSphere代表地球外面的大气层散射球模型,可以控制开启/关闭渲染该对象.该类的类图如下. 该类所包含的主要字段.属性和方法如下: public ...

  5. 【java集合框架源码剖析系列】java源码剖析之ArrayList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...

  6. boost源码剖析之:泛型指针类any之海纳百川(rev#2)

    boost源码剖析之:泛型指针类any之海纳百川(rev#2) 刘未鹏 C++的罗浮宫(http://blog.csdn.net/pongba) 动机 C++是强类型语言,所有强类型语言对类型的要求都 ...

  7. Python源码剖析2-字符串对象PyStringObject

    二. 1.PyStringObject与 PyString_Type PyStringObject是变长对象中的不可变对象.当创建了一个PyStringObject对象之后,该对象内部维护的字符串就不 ...

  8. python源码剖析笔记1——Python对象初见

    本文简书地址:http://www.jianshu.com/p/763f6cec7a9b 工作整两年了,用python最多,然而对于python内部机制不一定都清楚,每天沉醉于增删改查的简单逻辑编写, ...

  9. React 源码剖析系列 - 不可思议的 react diff

    目前,前端领域中 React 势头正盛,使用者众多却少有能够深入剖析内部实现机制和原理.本系列文章希望通过剖析 React 源码,理解其内部的实现原理,知其然更要知其所以然. React diff 作 ...

最新文章

  1. (iOS)从0到Double系列 如何刻出一个可拖动的导航浮動按钮
  2. 自考总结-2019-4-14
  3. EasyUI 1.3.6 行号显示不全
  4. 释放linux 内存
  5. SLAM到底解决的是什么问题?
  6. 冻结拆分_还不会固定表头?速来围观Excel冻结窗格实战教程
  7. WebService系列之使用Axis获取天气预报数据
  8. SpringBoot中使用Shiro和JWT做认证和鉴权
  9. 判别两棵树是否相等 设计算法_一文看懂生成对抗网络 - GANs?(附:10种典型算法+13种应用)...
  10. 小白一步步:EntLib5.0 - Data Access 最简练习
  11. TTC - Building a Better Vocabulary
  12. IAR 8.3 for Arm 安装与注册
  13. 可以识别linux的GHOST,Linux可以用ghost
  14. Java web学生信息管理系统(jsp)
  15. 计算机应用基础第一章ppt,计算机应用基础第一章课件.ppt
  16. java pdf 富文本_Java生成pdf,兼富文本
  17. 联想win10专业版64位简体中文原版光盘镜像
  18. lncRNASNP:SNP位点对lncNA结构和lncRNA-miRNA影响的数据库
  19. 深圳职业技术学院计算机专业分数线,2016深圳职业技术学院分数线
  20. 磁盘清理软件:DaisyDisk for Mac

热门文章

  1. php记住表单数据cookie,【PHP基础】cookies和session
  2. 区位码怎么知道点阵里的起始点_自身免疫疾病的GAPS起始饮食改良版
  3. linux运维选择题,初学Linux练习题
  4. java property_property在Java中的用法
  5. mvc4 html.beginform,MVC4 Html.BeginForm在Internet Explorer中提交按钮 9不工
  6. 160 - 20 BuLLeT.8
  7. C++编程调试秘笈(第1次阅读)
  8. LeetCode 239:滑动窗口最大值 思考分析
  9. 使用numpy.tanh()打印矢量/矩阵元素的双曲正切值 使用Python的线性代数
  10. 汇编语言-014(编写过程的应用、伪指令LEA、ENTER、LEAVE、LOCAL、递归函数、INVOKE、ADDR、PROC伪指令声明过程)