• WorldWind源码剖析系列:表面瓦片类SurfaceTile


    表面瓦片类SurfaceTile描述星球类(如地球)表面纹理影像的瓦片模型。其类图如下。

     

    表面瓦片类SurfaceTile包含的主要的字段、属性和方法如下:

    int m_Level;//该瓦片所属金字塔影像的层级

    double m_North;//该瓦片北边界

    double m_South; //该瓦片南边界

    double m_West; //该瓦片西边界

    double m_East; //该瓦片东边界

    bool m_Initialized = false; //该瓦片是否已被初始化

    Device m_Device = null; //渲染该瓦片的设备对象

    Texture m_RenderTexture = null; //该瓦片所关联的纹理影像

    float[,] m_HeightData = null; //存储该瓦片所覆盖区域的高程数据的二维数组

    CustomVertex.TransformedColoredTextured[] m_RenderToTextureVertices = new CustomVertex.TransformedColoredTextured[4];//待渲染的纹理顶点坐标

    DynamicTexture m_DynamicTexture = null;//该瓦片所包含的动态纹理

    bool m_RequiresUpdate = false;//标志该瓦片是否需要更新

    float m_VerticalExaggeration = float.NaN;//该瓦片的竖直放大率

    System.DateTime m_LastUpdate = System.DateTime.Now;//瓦片最后更新时间

    WorldSurfaceRenderer m_ParentWorldSurfaceRenderer;//该瓦片所绑定的星球表面渲染类对象

    BoundingBox m_BoundingBox;//该瓦片的外包围盒

    short[] m_NwIndices = null;//该瓦片的西北顶点数组

    short[] m_NeIndices = null;//该瓦片的东北顶点数组

    short[] m_SwIndices = null;//该瓦片的西南顶点数组

    short[] m_SeIndices = null;//该瓦片的东南顶点数组

    SurfaceTile m_NorthWestChild;//该瓦片的西北孩子瓦片

    SurfaceTile m_NorthEastChild;//该瓦片的东北孩子瓦片

    SurfaceTile m_SouthWestChild;//该瓦片的西南孩子瓦片

    SurfaceTile m_SouthEastChild;//该瓦片的东南孩子瓦片

    short[] m_IndicesElevated;// 该瓦片的高程索引数组

    该类的方法都比较简单,不再赘述,有兴趣的读者可以阅读源码。感兴趣的读者可以直接阅读源码。建议阅读源码之前读者应具备一定的DirectX3D开发基础。

     

    调用关系:

    1)    SurfaceTile内部引用了SurfaceImage、WorldSurfaceRenderer 、TerrainTile、BoundingBox、DynamicTexture等类。

    2)    TerrainTileService内部引用了TerrainTile等类。

    3)    TerrainTile内部也引用了TerrainTileService、TerrainDownloadRequest等类。

    4)    TerrainAccessor内部引用了TerrainTile等类。

    5)    World派生于RenderableObject类,内部引用了WorldSettings、SettingsBase 、DrawArgs 、MathEngine 、TerrainAccessor、RenderableObjectList、WorldSurfaceRenderer、Quaternion 、ProjectedVectorRenderer、AtmosphericScatteringSphere、MeshSubset 、RenderableObject、SunCalculator、Frustum、ImageHelper 、RenderPriority、Angle、CameraBase等类。

  • 相关阅读:
    ASP.NET MVC搭建项目后台UI框架—3、面板折叠和展开
    ASP.NET MVC搭建项目后台UI框架—2、菜单特效
    ASP.NET MVC下使用文件上传
    为vs2012添加背景和皮肤
    ASP.NET Redis 开发
    Nginx详解-服务器集群
    6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式
    NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner
    .NET出现频率非常高的笔试题
    19、ASP.NET MVC入门到精通——Unity
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/4681426.html
Copyright © 2020-2023  润新知