zoukankan      html  css  js  c++  java
  • SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性

    测试模型类型选择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="500px;height:400px;"></object>
        <object id="TerraExplorerInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" style="300px;height:400px;"></object>
    </body>
    </html>
    
  • 相关阅读:
    标准差、方差、协方差的简单说明
    样本的均值和方差的无偏估计
    Network In Network——卷积神经网络的革新
    Rethinking the inception architecture for computer vision的 paper 相关知识
    VIM的自动补全
    substitute 命令与 global 命令
    两个月全马训练参照表
    初跑者秘诀
    python3入门教程
    使用Python3.x抓取58同城(南京站)的演出票的信息
  • 原文地址:https://www.cnblogs.com/yitianhe/p/5019970.html
Copyright © 2011-2022 走看看