skyline_api详细使用说明手册

上传人:xzh****18 文档编号:34623369 上传时间:2018-02-26 格式:DOC 页数:157 大小:1.15MB
返回 下载 相关 举报
skyline_api详细使用说明手册_第1页
第1页 / 共157页
skyline_api详细使用说明手册_第2页
第2页 / 共157页
skyline_api详细使用说明手册_第3页
第3页 / 共157页
skyline_api详细使用说明手册_第4页
第4页 / 共157页
skyline_api详细使用说明手册_第5页
第5页 / 共157页
点击查看更多>>
资源描述

《skyline_api详细使用说明手册》由会员分享,可在线阅读,更多相关《skyline_api详细使用说明手册(157页珍藏版)》请在金锄头文库上搜索。

1、1 TerraExplorer API 简 介TerraExplorer API 提 供 了 一 套 强 大 的 接 口 用 来 集 成 TerraExplorer、 TerraExplorer Pro 和 用 户 自 定 义 应 用 。 它 提 供 了 一 些 访 问 外 部 信 息 扩 展 的 方 法, 比如: 访问数据库或基础地理空间数据。 所有这些以 COM 协议为基础的 API 接口都可以通过脚本语言操作 (例如 Javascript) , 也可以通过非脚本语言来控 制操作(例如:C+、VB、delphi 或者.net) 。TerraExplorer 也提供了一套 ActiveX 控

2、件, 可将 3D 窗口、 信息树和导航图 以控件对象的方式嵌入到用户自定义的可视化界面中, 其中, Runtime 模块使得 用户自定义的应用程序更易分发。1.1 ITerraExplorer5描述用户接口的相关细节, 例如当前用户使用的软件版本信息、 单位参数 (长 度单位、速度单位等) 、工程文件加载和保存等。ITerraExplorer属 性 : Type, FlyName, DisplayErrorMessages方 法 : Load, SetCPUSavingMode, GetUserUnits, GetTEVersion, LoadEx, Save, SaveAs, SetPara

3、m, GetParam(1)Load 方法:HRESULT Load(in BSTR URL) 其中 URL 是 fly 或 mpt 文件的 完整路径。C# : ( 第 一 次 举 例 是 完 整 代 码 , 主 要 部 分 为 粗 体 部 分 , 以 后 的 例 子 只 写 主 要 部 分 ,下 面 接口例子的其他代码与此例类似,其中加载保存路径读者可以自行设定)using System;using System.Windows.Forms; using TerraExplorerX; namespace Load_Testpublic partial class Form1 : Formp

4、rivate TerraExplorerClass objTerraExplorer;public Form1()InitializeComponent();private void Loadbutton_Click(object sender, EventArgs e)objTerraExplorer = new TerraExplorerClass();objTerraExplorer.Load(E:Skyline Pro Interface 数 据 数 据Default.fly);VBscript:(其中黑体部分是主要部分)LoadSub Load()set ITerraExplorer

5、5=TE.interface(ITerraExplorer5) ITerraExplorer5.load E:Skyline Pro Interface数 据 数 据Default.flyend Sub( 2) Save 方 法 :只能保存 fly 工程,mpt 工程不能保存C#:objTerraExplorer = new TerraExplorerClass();objTerraExplorer.Save();VBScript :Sub Save()Set ITerraExplorer=TE.interface(ITerraExplorer5) ITerraExplorer.SaveEnd

6、 Sub(3)Save As 方 法 : HRESULT SaveAs(in BSTR FileName)工程另存为C#:objTerraExplorer = new TerraExplorerClass(); objTerraExplorer.SaveAs(E:Skyline Pro Interface数据 数据Default88.fly ); VBScript :Sub SaveAs()Set ITerraExplorer=TE.interface(ITerraExplorer5)ITerraExplorer.SaveAs E:Skyline Pro Interface数据数据Defaul

7、t88.fly End Sub1.2 IPlane5控制飞机和摄像机的操作, 对于对象的飞行方式、 观看视角、 视野高度进行 控制, 可按照需求控制摄像机的方向、 倾角产生复杂的运动, 例如飞机起飞模拟。IPlane5属 性 : Speed, FieldOfView方 法 : FlyTo, SetPosition, MovePosition, GetPosition, FlyToObject, SetSpeed, GetSpeed, Zoom, GetPositionEx( 1) FlyTo 方 法 : 飞行 到指定的位置in double X, 水平方向 坐标 in double Z, 垂直

8、方向坐标 in double Height,高度in double Distance, 飞行 到后视点离位置的距离in double Yaw, 方 位角in double Pitch, 视角 上下倾斜角度in BSTR Pattern 视角 飞行到固定位置的模式C#:private TerraExplorerClass objTerraExplorer; IPlane5 objIPlane5=objTerraExplorer as IPlane5 ; objIPlane5.FlyTo(100.71729, 36.761361,40000, 100, 0, 0, FlyToTerrain);VB

9、Script :Sub FlyTo()Set IPlane5=TE.Interface(IPlane5)IPlane5.FlyTo 108,39,2000,50,0,0,FlyToLocation End Sub( 2) SetPosition 方 法 :设置跳转到视角的位置in double X in double Yin double Heightin double Yawin double Pitchin double Rollin double CameraDeltaYaw, in double CameraDeltaPitch, in, defaultvalue(0) long Fl

10、agsC#:IPlane5 objIPlane5 = objTerraExplorer as IPlane5;objIPlane5.SetPosition(100.71729, 36.761361, 40000,100,0, 0,0,0, 1024);VBScript :Sub SetPosition()Set IPlane5=TE.interface(IPlane5) IPlane5.SetPosition 108,39,2000,0,0,0,0,0,1End Sub( 3) GetPosition 方 法:out VARIANT* doubleX, 输出 视角所在的经度 out VARIA

11、NT* doubleY, 输出 视角所在的经度 out VARIANT* doubleHeight, 输 出视角所在的高度 out VARIANT* doubleYaw, 视 角方位角out VARIANT* doublePitch,视角 上下倾斜角度out VARIANT* doubleRoll, 视角 左右倾斜角度out VARIANT* doubleCameraDeltaYaw, out VARIANT* doubleCameraDeltaPitchC#:object x, y, h, yaw, pitch, roll, cdy, cdp;IPlane5 objIplane5 = obj

12、TerraExporer as IPlane5;objIplane5.GetPosition(out x,out y,out h, out yaw,out pitch,out roll,out cdy, out cdp); Xtext.Text = x.ToString ();Ytext.Text = y.ToString(); Htext.Text = h.ToString(); Yawtext.Text = yaw.ToString(); Pitchtext.Text = pitch.ToString(); Rolltext.Text = roll.ToString(); CDYtext.

13、Text = cdy.ToString(); CDPtext.Text = cdp.ToString();VBScript :Sub GetPosition()IPlane5.GetPosition x,y,height,yaw ,pitch,roll,camaraPicth,camaraRollXV.value=xYV.value=yHV.value=height YAWV.value=yaw PV.value=pitch RV.value=roll CPV.value=camaraPicth CRV.value=camaraRoll End Sub( 4) MovePosition 方 法

14、: 设置移动到视角的位置in double X, 水平方向坐标 in double Y, 垂直方向坐标 in double Height,高度in double Yaw, 视角方位角度in double Pitch, 视角上下倾斜角度in double Roll, 左右倾斜角度in double CameraDeltaYaw, in double CameraDeltaPitch, in, defaultvalue(0) long FlagsC#:IPlane5 objIPlane5 = objTerraExplorer as IPlane5;objIPlane5.MovePosition(1

15、11,39,4000,0,0,0,0,0,1024);VBScript :Sub MovePosition()Set IPlane5=TE.Interface(IPlane5) IPlane5.MovePosition 108,39,2000,0,0,0,0,0,1End Sub( 5) FlyToObject 方 法 : 飞行到物体in BSTR ObjectID 输 入物体 ID in ActionCode Code飞行到模式 C#:IInformationTree5 objIInformationTree5=objTerraExplorer as IInformationTree5;in

16、t ItemID=objIInformationTree5 .FindItem(TestGroupTest Building);string objID=objIInformationTree5.GetTerraObjectID (ItemID); IPlane5 objIPlane5 = objTerraExplorer as IPlane5; objIPlane5.FlyToObject(objID,0);VBScript :Sub FlyToObject()Set IPlane5=TE.interface(IPlane5)Set IInformationTree5 =TE.interface(IInfo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号