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新版本的官网 ...
随机推荐
- 洛谷P4007 小 Y 和恐怖的奴隶主(期望dp 矩阵乘法)
题意 题目链接 Sol 首先不难想到一种暴力dp,设\(f[i][a][b][c]\)表示还有\(i\)轮没打,场上有\(a\)个1血,\(b\)个2血,\(c\)个三血 发现状态数只有\(s = 1 ...
- 如何将web项目部署到Ubuntu服务器上
情景回顾: 前几天在下本着人道主义原则帮我老师的一个朋友做了个小网页,(啥人道不人道的,主要是给钱了),做完之后本来是想偷懒直接把网页扔给他自己部署去吧,结果让我帮忙部署一下,得,偷懒也偷不成了,搞吧 ...
- 微信小程序踩过的一些坑
前言 迄今为止,正儿八经的上线了真正意义上的程序,但是这个小程序却着实不小. 之所以不小,是因为这个类似于社区的小程序,已经做了大部分都有的功能了 举例说明,具体的一些功能点: 1.帖子列表页面:会有 ...
- 微软Azure AspNetCore微服务实战 第二期
2018新年快乐!继第1期微服务技术交流活动后(http://www.huodongxing.com/event/4403161781600),本次我们将与上海的小伙伴们继续深入分享微服务技术的应用实 ...
- 使用反射修改final属性
情型1:static final属性,无法修改其值. package m5.d7; import java.lang.reflect.Field; public class FieldTest { p ...
- Video.js web视频播放器
免费视频播放器videojs中文教程 Video.js是一款web视频播放器,支持html5和flash两种播放方式.更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于vide ...
- python2 与 python3 如何实现共存
1.现在我本机系统已内置python2.6 2.下载进行源码安装 复制链接下载到 /root/mypackage,解压 接着 mkdir /usr/local/python3 然后在解压后的文件夹内执 ...
- C#语言————选择结构
int[] num = new int[] {23,76,54,87,51,12 }; //冒泡排序 for (int i = 0; i < num.Length - 1; i++) { for ...
- Linux系统根据端口号来查看其进程并杀死进程
1.首先是查看某个端口号,(以httpd服务为例) 2.查看此端口下进程以及进程号 3.我们使用awk命令过滤出第二列,即进程号 4.杀死进程 报错的这一行表示,要杀死的进程PID为3754,但是没有 ...
- Linux 小知识翻译 - 「桌面环境」
这次聊聊桌面环境. 上次聊了 X Window System 相关的内容,虽然令人意外,但X Window System 和桌面环境不是一回事.请大家稍微考虑一下. X Window System 是 ...