标签:
测试模型类型选择TerrainModel和Feature两种,测试代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>选择TerrainModel对象</title> <script type="text/javascript"> function StartF() { try { var sg = CreateSGObj(); sg.AttachEvent("OnLButtonDown", OnLButtonDown); } catch (e) { alert(e); } } function EndF() { var sg = CreateSGObj(); sg.DetachEvent("OnLButtonDown", OnLButtonDown); } function OnLButtonDown(Flags, X, Y) { try { var sg = CreateSGObj(); var iwp = sg.Window.PixelToWorld(X, Y, 1 + 8192); if (iwp != null) { alert(iwp.ObjectID); var oModel = sg.Creator.GetObject(iwp.ObjectID); var oBBox = null; if (oModel.ObjectType == 17) // TerrainModel { oModel.Terrain.Tint.abgrColor = 0x66FF0000; oBBox = oModel.Terrain.BBox; } else if (oModel.ObjectType == 33) // Feature { oModel.Tint.abgrColor = 0x66FF0000; //alert(oModel.Geometry.Wks.ExportToWKT()); var statisticsgPolyObj = sg.Creator.CreatePolygon(oModel.Geometry, sg.Creator.CreateColor(255, 0, 0, 255), sg.Creator.CreateColor(0, 255, 0, 26), 0, "", "temp"); //oBBox = oModel.BBox; // ? } else { } if (oBBox != null) { var myGeometry = sg.Creator.GeometryCreator.CreateLinearRingGeometry([oBBox.MaxX, oBBox.MaxY, 0, oBBox.MaxX, oBBox.MinY, 0, oBBox.MinX, oBBox.MinY, 0, oBBox.MinX, oBBox.MaxY, 0]) var statisticsgPolyObj = sg.Creator.CreatePolygon(myGeometry, sg.Creator.CreateColor(255, 0, 0, 255), sg.Creator.CreateColor(0, 255, 0, 26), 0, "", "temp"); } } } catch (e) { alert(e); } return false; } //------------------------------------------------------------ // 创建sgworld对象 赵贺 2015.06.09. TEPro6.6 //------------------------------------------------------------ function CreateSGObj() { var obj = $("sgworld"); if (obj == null) { obj = document.createElement(‘object‘); document.body.appendChild(obj); obj.name = "sgworld"; obj.id = "sgworld"; obj.classid = "CLSID:3A4F9199-65a8-11d5-85c1-0001023952c1"; } return obj; } function $(id) { return window.document.getElementById(id); } </script> </head> <body> <input id="Button1" type="button" value="开始" onclick="StartF()" /> <input id="Button2" type="button" value="结束" onclick="EndF()" /> <div id="res"></div> <object id="TerraExplorer3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" style="width:500px;height:400px;"></object> <object id="TerraExplorerInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" style="width:300px;height:400px;"></object> </body> </html>
SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性
标签:
原文地址:http://www.cnblogs.com/yitianhe/p/5019970.html