SkylineGlobe 从v6.1到v6.5 二次开发方面的变化参考
2.1关于 TerraExplorer v6.5 API
除了一些新的功能,API v6.5不同于API v6.1的最大改进是其对象ID系统。虽然在以前版本的API中,有两个ID系统,一个用于对象在工程树(ITreeItem61.ItemID)的和另一个在3D场景中的对象(ID),但在当前的API中,有且只有一个对象ID,它是识别对象的唯一方法。此ID是唯一的,并且它的值在TerraExplorer会话一直存在的,用于对象的持久性。所有对象被创建时就会返回这些ID,所有的项目树操作(如删除,选择,查询,移动的工程树节点)都是基于这个唯一的对象ID。
由于API v6.5的这一变化,影响到ITreeItem65接口去除了ITEMID参数(与长/int参数类型),进而在IProjectTree65和整个API中都要使用ID参数(一个BSTR/字符串参数类型)。
2.2更新C#程序
Step1:创建SGWorld65实例取代原来的创建SGWorld61实例。
Step2:使用新的类型来重命名所有的变量。
如:IPosition6pos=…修改为IPosition65pos=…
注:图形的相关接口,类似于IGeometry和ILinearRing原来没有
版本的号的不需要重命名。
Step3:重新编译代码。
2.3更新javascript程序
Step1:创建一个SGWorld65实例代替SGWorld61实例
在脚本中,这通常需要改变<OBJECT>标记from:
<objectid="globe"
classid="clsid:3a4f91b1-65a8-11d5-85c1-0001023952c1"/>
to:
<objectid="globe"classid="clsid:3a4f9197-65a8-11d5-85c1-0001023952c1"/>
Step2:修复任何修改/删除属性和方法的变化
由于在JavaScript中有没有类型,你只需要注意文件6.5版和6.1版之间切换。遗憾的是,不同于编译语言,你没有编译器帮助识别那些地方。请参阅:“属性和方法的变化在APIV6.5”本章中的更多细节。
2.4 属性、方法和事件函数的改变
属性:
ApplyTo
此属性标识地形修改对象应用于3DML
AddedtoITerrainModifier65.
Code
新值添加到Code属性
ModifiedinIAction65.
DataSourceFeatureID
此属性的功能分配由数据源返回的ID.
AddedtoIFeatures65.
ElevationOffset
这个属性决定高程偏移,使您能够调整参照不同的基线定义的高程来源.
AddedtoITerrainRasterLayer65.
ElevationScale
这个属性决定的比例因子海拔,让您调整参照不同的基线定义的高程来源
AddedtoITerrainRasterLayer65.
Features
此属性替换项目的属性和获得要素的方法,以及Count属性,作为一个功能组中访问各个功能的手段
AddedtoIFeatureGroup65.
ItemID(Deprecated)
此属性(它返回一个对象的项目树ID)被删除,因为不再使用v6.5以前版本的API项目的树ID。虽然在前面的API,有两个ID系统,一个用于资料在工程树(ITreeItem61.ItemID)的和其他在3D世界中的对象(ID),在当前的API,有一个单一的对象ID,它是识别对象的唯一手段。此ID是唯一的,并且它的值之间保持TerraExplorer会话,允许它被用于产品的持久性。对象被创建时,所有的项目树管理(如删除,选择,查询,移动的树元素)以及所有的返回值是基于这种独特的对象ID。
RemovedfromITreeItem65.
KeyStep
如果这个属性决定的一个步骤是关键的一步,用来标记“chapter”的标题,使用户可以快速跳转演示文稿中的一章,使用Previous和Next按钮在播放面板
AddedtoIPresentationStep65.
LocationSplineSpeed
这个属性决定位置提示步骤播放演示文稿时,用样条算法的速度。
AddedtoIPresentationStep65.
LocationSplineSpeedBehavior
这个属性决定如何实施的LocationSplineSpeed属性。
AddedtoIPresentationStep65.
NotInTreeID
这个属性返回的ID应该传递一个元素
ParentGroupID,如果你不想要的元素添加到树.
AddedtoIProjectTree65.
ObjectType
增加了两个额外的对象类型值:OT_CONTOUR_MAP=42和OT_SLOPE_MAP=43.
ModifiedinITerraExplorerObject65
ParentGroupID
此属性从ParentItemID重命名
ModifiedinIFeature65.
RootID
这个属性返回的项目树的根元素的ID.
AddedtoIProjectTree65.
Shadow(Deprecated)
此属性已被除去从各种ITerrainXXX对象。它被替换的阴影功能,适用于所有/选定的对象,并且可以使用Command.Execute激活。
ShowHideValue
这个属性决定是否显示或隐藏对象或组在演示过程中。
AddedtoIPresentationStep65.
方法:
Create3DViewshed
此方法创建的图形表示,所有地区的地形和3D模型和可见的对象,一个视野内,从一个给定的观赏点。
AddedtoIAnalysis65.
CreateAttribute
attrType参数更名为属性类型.
ModifiedinIAttributes65.
CreateContourMap
此方法创建一个描绘平等海拔等高线的连接点或着色地形地形高程差异,根据不同海拔的地形图。
AddedtoIAnalysis65.
CreateFloodContinuousWaterRise
该方法的返回值更名为“FloodGroupID”和改变一个BSTR/字符串类型的项目ID,因为不再使用6.5API项目的树ID.
ModifiedinIAnalysis65.
CreateFloodSingleWaterRise
该方法的返回值更名为“FloodGroupID”和改变一个BSTR/字符串类型的项目ID,因为不再使用6.5API项目的树ID。
ModifiedinIAnalysis65.
CreateKMLLayer
这种方法加载一个KML图层到项目。它取代LoadKMLLayer。
AddedtoICreator65.
CreateMeshLayerFromFile
此法加载一个的文件较统一,流优化的三维网状层(3DML)IMeshLayer65数据库。
AddedtoICreator65.
CreateMeshLayerFromSFS
此方法加载TerraGateSFSIMeshLayer65的较统一,流优化三维网状层(3DML)数据库。
AddedtoICreator65.
CreateSlopeMap
此方法创建一个地图上的地形,可以显示度(陡)和/或纵横坡(方向)
AddedtoIAnalysis65.
DisablePresentationControl
这个全局设置属性设置为true,指示,TerraExplorer隐藏屏幕上的演示控制播放介绍。
AddedtoIWindow65.
EndVisibilityQuery
这种方法释放一个新的StartXXXVisibilityQuery资源。
AddedtoIAnalysis65.
Execute
新的值被添加到的CommandID参数。
ModifiedinICommand65.
GetFeature(Deprecated)
此方法返回一组中的功能所取代GetObject
RemovedfromIFeatureGroup65.
GetTerraObjectID(Deprecated)
删除,因为这种方法检索对象的实际基于对象ID项目TreeID上,不再使用v6.5以前版本的API项目的树ID。
RemovedfromIProjectTree65.
GetXML2
替代弃用的GetXML方法,这种方法,它检索一个XML字符串,定义被添加到导航地图窗口中的地图列表。
AddedtoITENavigationMap5.
LoadKMLLayer(Deprecated)
这种方法加载一个KML层到项目中被删除,取而代之的CreateKMLLayer.
QueryPointVisibility
这种方法执行的最后StartXXVisibilityQuery呼叫。
AddedtoIAnalysis65.
SetOptionParam
新支持的参数字符串值增加了。
ModifiedinISGWorld65.
SetParent
该方法的返回值被删除。
ModifiedinIProjectTree65.
StartShadowVisibilityQuery
AddedtoIAnalysis65.
此方法初始化阴影可视性查询选定的位置和阴影效果。
StartViewshedVisibilityQuery
此方法初始化一个视域的能见度查询特定的视域。
AddedtoIAnalysis65.
事件:
OnProjectTreeAction
额外的值添加到Action参数。
ModifiedinISGWorld65.
2.5 新增加接口
I3DMLFeatureLayer65
这个接口提供点功能在3DML功能层交互的属性和方法。它使您可以访问数据源的信息的基础上,功能层和执行层的功能(如设置消息,工具提示,色调),以及执行空间查询。
I3DMLFeatureLayers65
此接口返回的功能层的数目在3DML数据集,并提供了每一层的索引,以允许访问的功能层。
I3DMLFeatureProperties65
此接口返回或设置特定的属性值中的所有功能本3DML的功能层。
I3DViewshed65
此接口提供了用于计算并创建地形和3D模型和对象是可见的从指定的位置上的区域的图形表示的属性和方法。
IClipboard65
此接口使您可以添加多个项目到剪贴板,然后访问这些项目。
IContourMap65
该接口提供了用于创建一个地形图,描绘平等海拔等高线的连接点,或根据不同高度着色地形地形高程差异的属性和方法。
IFeatureLayer65
由IFeatureLayer65替换ILayer61。现在IFeatureLayer65继承ITerraExplorerObject65。
IKMLLayer65
此接口可以访问到一个KML图层上可以执行的行动。KML图层加载到一个项目总是从本地或远程数据源直接读取,而不是进口飞文件存储在。
IMeshLayer65
该接口提供了统一,流优化3D的网状层(3DML)数据库的访问。可以创建3DML数据库TerraBuilderCityBuilder的通过三维网状城市模型合并图层(产生由TerraBuilderPhotoMesh),连同分类层,其他模型层,或者,在TerraExplorer建立一个统一的,流优化的三维网状层(3DML点图层个别引用的3D模型文件)数据库。
ISlopeMap65
这个接口提供的属性和方法创建一个斜坡地图上的地形,可以显示度(陡)和/或纵横(方向)
SkylineGlobe 从v6.1到v6.5 二次开发方面的变化参考的更多相关文章
- 基于V7的新版RL-USB V6.X + RL-FlashFS V6.X模板,操作CLASS10的SD卡速度12-15MB/S,含RTX5和FreeRTOS两版
说明: 1.如果需要RL-USB源码的话,将DAPLink(CMSIS-DAP)里面的USB代码导出来即可,DAPLink开源了RL-USB的Device代码. 也可以反过来,在工程模板的基 ...
- Inno Setup入门(二十二)——Inno Setup类参考(8)
: Install Setup 2013-02-02 11:31 477人阅读 评论(0) 收藏 举报 列表框 列表框(ListBox)是Windows应用程序中重要的输入手段,其中包括多个选项用户可 ...
- (转)Inno Setup入门(二十二)——Inno Setup类参考(8)
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17268473 列表框 列表框(ListBox)是Windows应用程 ...
- Inno Setup入门(二十二)——Inno Setup类参考(8)
http://379910987.blog.163.com/blog/static/33523797201121331832201/ 列表框 列表框(ListBox)是Windows应用程序中重要的输 ...
- C++实现二叉搜索书(参考算法导论)
1 #include <iostream> 2 using namespace std; 3 4 struct node 5 { 6 // 数据域 7 int data; 8 9 // 左 ...
- 2012高校GIS论坛
江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...
- 边看MHA源码边学Perl语言之一开篇
边看MHA源码边学Perl语言之一开篇 自我简介 先简单介绍一下自己,到目前为此我已经做了7年左右的JAVA和3年左右php开发与管理,做java时主要开发物流行业的相关软件,对台湾快递,国际快递,国 ...
- Angular v6 正式发布
Angular 6 正式发布 Angular 6 已经正式发布了!这个主要版本并不关注于底层的框架,更多地关注于工具链,以及使 Angular 在未来更容易快速推进. 作为发布的一部分,我们同步了主要 ...
- ThinkPHP v6.0.x 反序列化漏洞利用
前言: 上次做了成信大的安询杯第二届CTF比赛,遇到一个tp6的题,给了源码,目的是让通过pop链审计出反序列化漏洞. 这里总结一下tp6的反序列化漏洞的利用. 0x01环境搭建 现在tp新版本的官网 ...
随机推荐
- win10系统彻底卸载Mysql
本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1>停止MySQL服务 开始->所有应用->Windows管理工具->服务,将MySQL服务停止. 2& ...
- CMake笔记(一)
CMake,比makefile更方便,虽然手写makefile同样重要 CMake的所有命令均出现在CMakeList.txt中,注意名字不要写错,并置于源代码目录中 # CMake 最低版本号要求 ...
- 每篇半小时1天入门MongoDB——1. MongoDB介绍和安装
目录:ASP.NET MVC企业级实战目录 MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据 ...
- Salesforce的公式和验证规则
公式 在Salesforce中,有些功能不需要从数据库中直接读取的数据,而是基于这些数据之间的关系来做出判断.这种情况下就要用到"公式"功能. 公式的概念和Excel中的公式类似, ...
- TCP协议学习总结
1.TCP协议通过三次握手建连接,四次挥手断连接. 2.TCP的定时器都有哪些? 做什么用途? 3.TCP的慢启动是什么意思? 4.TCP的快速重传是什么意思?
- logcat use
将已经存在的工程导入到eclipse步骤: ①:首先复制当前工程所在的路径. ②:然后在eclipse,右键->Import->General->Existing Projects ...
- lombok的简单介绍(1)
一.项目背景 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法 lombok项目的产生就是为了省 ...
- MongoDB的基本操作:服务端启动,客户端连接,CRUD操作
本文内容: MongoDB的介绍 MongoDB服务端的启动 MongoDB客户端连接 SQL与MongoDB相关概念解释 什么是BSON 数据库操作 集合操作 文档操作 测试环境:win10 软件版 ...
- 用U盘制作EXSI启动盘
用U盘制作EXSI启动盘这是一个比较困难的事,一般的人会用UltraISO这个软件来制作.但是很遗憾,这样的方法很不好,我试了好几次都没有成功.主要是不能引导. 之后我换了一个刻录软件(rufus), ...
- AspNet Core2 浏览器缓存使用
Core2中使用Microsoft.AspNetCore.Mvc下的ResponseCacheAttribute特性来控制Http Get请求的缓存 原理是设置http请求 响应头的Cache-con ...