资源预览内容
第1页 / 共157页
第2页 / 共157页
第3页 / 共157页
第4页 / 共157页
第5页 / 共157页
第6页 / 共157页
第7页 / 共157页
第8页 / 共157页
第9页 / 共157页
第10页 / 共157页
亲,该文档总共157页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 TerraExplorer API 简 介TerraExplorer API 提 供 了 一 套 强 大 的 接 口 用 来 集 成 TerraExplorer、 TerraExplorer Pro 和 用 户 自 定 义 应 用 。 它 提 供 了 一 些 访 问 外 部 信 息 扩 展 的 方 法, 比如: 访问数据库或基础地理空间数据。 所有这些以 COM 协议为基础的 API 接口都可以通过脚本语言操作 (例如 Javascript) , 也可以通过非脚本语言来控 制操作(例如:C+、VB、delphi 或者.net) 。TerraExplorer 也提供了一套 ActiveX 控件, 可将 3D 窗口、 信息树和导航图 以控件对象的方式嵌入到用户自定义的可视化界面中, 其中, Runtime 模块使得 用户自定义的应用程序更易分发。1.1 ITerraExplorer5描述用户接口的相关细节, 例如当前用户使用的软件版本信息、 单位参数 (长 度单位、速度单位等) 、工程文件加载和保存等。ITerraExplorer属 性 : Type, FlyName, DisplayErrorMessages方 法 : Load, SetCPUSavingMode, GetUserUnits, GetTEVersion, LoadEx, Save, SaveAs, SetParam, 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 : Formprivate 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 ITerraExplorer5=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 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数据数据Default88.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, 垂直方向坐标 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);VBScript :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 FlagsC#: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 VARIANT* 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 = objTerraExporer 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.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 方 法: 设置移动到视角的位置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(111,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;int 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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号