Skyline TerraExplorer V7 二次开发新功能

概述

TerraExplorer 7.0基于原生的64位软件来设计,这样就可以最大化的去利用可用的内存。这个变化对原来的API有一定的影响,需要生成64位的应用程序。如果想用32位的程序比如IE去访问创建好的应用程序,需要在VisualStudio添加TEX32to64.dll,而不是TerraExplorerX.dll。这样32位的应用程序就可以访问三维窗口控件和信息树控件,也能够在VisualStudio(32位)中使用TerraExplorer控件。除了新的功能,API v7.0相对于APIv6.6只做了细微的改动。这样,客户既可以使用新的功能,又能很容易的去更新基于6.6写得的代码。

C#环境中,修改步骤如下:

1、配置工程的生成目标平台为64位。

打开Visual Studio 配置管理器:在可用的目标平台列表中,选择64位,然后关闭

2、 创建SGWorld70实例代替SGWorld66

创建SGWorld70实例代替SGWorld66

3、重命名所有的类型为v7.0

例如,重命名:

IPosition66 pos =…

为:

IPosition70 pos =…

注:Geometry相关的对象(如:IGeometry 和ILinearRing)没有版本号,所以不必修改。

4、重新编译代码

大多数的编译错误有可能是忘记修改为70,如果还有错误,请考虑6.6到7.0修改了的属性和方法,有的属性和方法可能被废弃了。具体详情参考下节。

Javascript中,修改步骤如下:

1.        创建SGWorld70实例代替SGWorld66

将<object id="globe" classid="clsid: 3A4F9199-65A8-11D5-85C1-0001023952C1"/>修改为<object id="globe" classid="clsid: 3A4F919A-65A8-11D5-85C1-0001023952C1" />

2.        修改变化了的方法和属性

新增属性

属性

接口

更新内容

说明

CameraDeltaPitch

IRouteWaypoint70

删除

CameraDeltaYaw

IRouteWaypoint70

删除

Flags

IPopupMessage70

修改

新增_HTML_POPUP_FLAGS

LimitScreenSize

ITerrainDynamicObject70

新增

获取和设置标签是否随着视角的远近而变化大小

LineToGround

ILabelStyle70

删除

LineToGroundLength

ILabelStyle70

新增

获取和设置标签线延伸到地面的长度

LineToGroundType

ILabelStyle70

新增

获取和设置标签延伸到地面的类型  (无,自定义长度或者到地面)

MeshGroundOffset

IMeshLayer70

新增

设置mesh图层的偏移

Opacity

ISlopeMap70

新增

设置坡度图的透明度

增加该属性

Oversampling

IMeshLayer70

新增

获取和设置mesh图层的LOD

Property

IFeature70

删除

这个属性被 GetProperty 方法代替

ReplaceTerrainWithMesh

IMeshLayer70

新增

获取和设置3DML是否和mpt融合

Settings

IProject70

修改

增加了一些值

TargetFrameRate

IApplication70

新增

获取和设置TE的刷新帧率

Time

IRouteWaypoint70

新增

设置飞机在特定节点的时间

TrackLineStyle

ITerrainDynamicObject70

新增

是否显示动态对象的路径

新增方法

方法

接口

更新内容

说明

CalculateVolume

IAnalysis70

删除

CanExecute

ICommand70

修改

CommandID新增值

CreateRouteWaypoint

ICreator70

修改

删除掉两个参数:CameraDeltaYaw 和CameraDeltaPItch

EditItem

IProjectTree70

修改

Flags新增参数

Execute

ICommand70

修改

CommandID新增值

ExecuteQuery

IFeatureLayer70 I3DMLFeatureLayer70

新增

该方法返回图层中的所有属性。支持属性SQL和空间查询

GetAvailableCodecs

IMovieWriter70

修改

返回支持wmv格式的编码器。还有AVI 格式

GetFeather

ITerrainModifier70

新增

返回羽化值

GetPopups

IWindow70

新增

返回所有打开pop消息的标题

GetProperty

IFeature70

新增

返回对象属性表中的属性值

HideCrossSectionBox

IAnalysis70

新增

隐藏剖面分析的结果

IsWmv

ICodecInfo70

新增

确定选择是解码器是否是WMV解码器

LoadFiles

IProject70

新增

可以加载多个不同类型的文件

Reconnect

ISGServer70

新增

重新连接SkylineGlobe 服务

RemoveFeature

IFeatureGroup70

修改

ObjectIdStr 命名为ObjectID

Search

IApplication70

新增

返回搜索对象,OnSGWorld 返回搜索结果

SetHUDLayer

IWindow70

删除

ShowCrossSectionBox

IAnalysis70

新增

显示三维对象的横截面

ShowTrack

ITerrainDynamicObject70

新增

显示动态对象的路径

新增事件

事件

接口

更新内容

说明

OnKeyboard

ISGWorld70

新增

键盘事件

新增接口

接口

说明

IMovieWriter70

该接口替换了 IAviWriter70

ISGServer70

访问SkylineGlobe Server的接口

猜你喜欢

转载自blog.csdn.net/xiaofan5546/article/details/73163344