| 
														
															@@ -1390,6 +1390,14 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 渲染的格式svg/canvas/html,svg性能更优,兼容性更好 
														 | 
														
														 | 
														
															         // 渲染的格式svg/canvas/html,svg性能更优,兼容性更好 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         renderer: "svg", 
														 | 
														
														 | 
														
															         renderer: "svg", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }); 
														 | 
														
														 | 
														
															     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    var currentTargetType="FAC";//当前视图对象类型。FAC:厂房 IN02:2号楼内部  IN03:3号楼内部 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //切换点列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    var inPoints={ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        "IN02":{"Text001_002":1,"x1":-28.07801,"y1":37.95126,"x2":-23.32394,"y2":31.16921}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        "IN03":{"Text001_006":1,"x1":46.86921,"y1":24.87041,"x2":51.91054,"y2":17.87417}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        "IN04":{"Text001_004":1,"x1":-38.46275,"y1":35.65208,"x2":-44.94122,"y2":28.22142}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        "IN05":{"Text001_005":1,"x1":102.43050,"y1":38.96248,"x2":108.99212,"y2":30.86295} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var sam0023; 
														 | 
														
														 | 
														
															     var sam0023; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var modelsMap = {} 
														 | 
														
														 | 
														
															     var modelsMap = {} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var modelsAlarmColorMap = {}; 
														 | 
														
														 | 
														
															     var modelsAlarmColorMap = {}; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1397,6 +1405,7 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var ALARM_DEVS = [];  //未提醒的告警设备,将在模型加载完成时提醒 
														 | 
														
														 | 
														
															     var ALARM_DEVS = [];  //未提醒的告警设备,将在模型加载完成时提醒 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var OFFLINE_DEVS = {};  //未接入设备列表 
														 | 
														
														 | 
														
															     var OFFLINE_DEVS = {};  //未接入设备列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var LoadServerDataTimer = null; 
														 | 
														
														 | 
														
															     var LoadServerDataTimer = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    var zoomCount=0;//放大、缩小次数。为正表示放大次数,为负表示缩小次数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var DataFill = { 
														 | 
														
														 | 
														
															     var DataFill = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         devStopAutoLoadTimter: null,//停机原因自动切计时器 
														 | 
														
														 | 
														
															         devStopAutoLoadTimter: null,//停机原因自动切计时器 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         devAlarmAutoLoadTimter: null,//告警自动切计时器 
														 | 
														
														 | 
														
															         devAlarmAutoLoadTimter: null,//告警自动切计时器 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2327,6 +2336,22 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         isRTL: false 
														 | 
														
														 | 
														
															         isRTL: false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }; 
														 | 
														
														 | 
														
															     }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     $(document).ready(function () { 
														 | 
														
														 | 
														
															     $(document).ready(function () { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        $(window).on('wheel', function(event) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // 检查 event.originalEvent.deltaY 来判断滚动方向 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (event.originalEvent.deltaY > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                console.log('向下滚动:缩小'+zoomCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                zoomCount = zoomCount>0?-1:zoomCount-1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(zoomCount<=-3 && currentTargetType!="FAC"){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    zoomCount=0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    //切换在全厂视图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    loadFacModel(playerNative); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    backMasterViewByFac(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                console.log('向上滚动:放大'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                zoomCount = zoomCount<0?1:zoomCount+1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $.datepicker.setDefaults($.datepicker.regional['zh-CN']);  //设置日期控制语言 
														 | 
														
														 | 
														
															         $.datepicker.setDefaults($.datepicker.regional['zh-CN']);  //设置日期控制语言 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $("#datepicker1").datepicker({ 
														 | 
														
														 | 
														
															         $("#datepicker1").datepicker({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             dateFormat: "yy-mm-dd", 
														 | 
														
														 | 
														
															             dateFormat: "yy-mm-dd", 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2747,8 +2772,36 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }) 
														 | 
														
														 | 
														
															         }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    //最佳视图 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    function backMasterView() { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    function backMasterView() {     
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        zoomCount=0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        switch(currentTargetType){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            case "FAC": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                backMasterViewByFac(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            case "IN02": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                backMasterViewBy02(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            case "IN03": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                backMasterViewBy03(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //全局厂房最佳视图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    function backMasterViewByFac(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (AutoPlayer) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            const img = $("#autoplayer_btn").find("img"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            img.attr("src", "image/auto3d_stop.png"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                player.Native.CameraAnimation.stop(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } catch (e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        player.Native.Camera.moveTo([235.678127000173, 13.38107286701451, 74.13573809425804], [-1248.3191825020908, -262.59031050373517, -409.93944372657353], [-0.30023176822741604, -0.055832565112502126, 0.9522308596238611], 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //2号楼内部最佳视图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    function backMasterViewBy02() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (AutoPlayer) { 
														 | 
														
														 | 
														
															         if (AutoPlayer) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             const img = $("#autoplayer_btn").find("img"); 
														 | 
														
														 | 
														
															             const img = $("#autoplayer_btn").find("img"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             img.attr("src", "image/auto3d_stop.png"); 
														 | 
														
														 | 
														
															             img.attr("src", "image/auto3d_stop.png"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2785,6 +2838,8 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         maxTimeout: 1000, // 会话超时时间,允许掉线后引擎保存多久,在该时间内可重新连接到会话,否则会创建新的会话 
														 | 
														
														 | 
														
															         maxTimeout: 1000, // 会话超时时间,允许掉线后引擎保存多久,在该时间内可重新连接到会话,否则会创建新的会话 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         debug: false // 是否启用调试,开启后调用Native接口时会使用console.log进行记录 
														 | 
														
														 | 
														
															         debug: false // 是否启用调试,开启后调用Native接口时会使用console.log进行记录 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }); 
														 | 
														
														 | 
														
															     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    var modelLoadState={};//模型加载状态 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    var playerNative = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var playerConnState = false; 
														 | 
														
														 | 
														
															     var playerConnState = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var reconntimer = null; 
														 | 
														
														 | 
														
															     var reconntimer = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     //2.[可选]监听连接成功消息 
														 | 
														
														 | 
														
															     //2.[可选]监听连接成功消息 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2811,68 +2866,84 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         console.info(`用户长时间没有操作三维视图,会话即将退出,可调用player.resetTimer()取消退出`); 
														 | 
														
														 | 
														
															         console.info(`用户长时间没有操作三维视图,会话即将退出,可调用player.resetTimer()取消退出`); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (!AutoPlayer) $("#autoplayer_btn").trigger('click') //开启自动漫游 
														 | 
														
														 | 
														
															         if (!AutoPlayer) $("#autoplayer_btn").trigger('click') //开启自动漫游 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }); 
														 | 
														
														 | 
														
															     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    //6.监听远程过程调用加载完成消息 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    player.on("NativeLoad", async (Native) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var devAllCount = 6 * 12 * 2 - 4 //设备总数 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //var loadedcnt = document.getElementById("loadedcnt") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //var totalcnt = document.getElementById("totalcnt") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //totalcnt.innerText = devAllCount; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //loadedcnt.innerText="0"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var cf = "data://models/ALL.pr"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var t2File = "data://models/T2.pr"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //var SamplerFile = "data://models/sampler.pr"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // var errStr = await PlayerUtils.call(Native.NodeProxy.openProject, "data://pprj/test/test.pprj"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // 加载工程模型 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var errStr = await PlayerUtils.call(Native.Model.loadModel, "all", cf); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //let cfInfo=await player.Native.Model.getInfo("all"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //player.Native.NodeProxy.setNodeRotation(cfInfo.nodePtr, [0,0,90]); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var rootItem = await player.Native.ModelTree.getRootItems() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var rowItems = await player.Native.ModelTree.getSubItems(rootItem[0].item) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        for (var row = 0; row < rowItems.length; row++) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (rowItems[row].name.length < 2 || rowItems[row].name.substr(0, 1) != "R") continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            var devItems = await player.Native.ModelTree.getSubItems(rowItems[row].item) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            for (var i = 0; i < devItems.length; i++) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (devItems[i].name.length < 2 || devItems[i].name.substr(0, 2) != 'C_') continue 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var tmp = devItems[i];// await player.Native.ModelTree.findItemByName(name,0,true,3); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                //计算当前设备在世界坐标 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var xyz = await player.Native.ModelTree.calcItemAabb(tmp.item) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var xyz2 = [(xyz.aabb.max[0] + xyz.aabb.min[0]) * 0.5, (xyz.aabb.max[1] + xyz.aabb.min[1]) * 0.5, (xyz.aabb.max[2] + xyz.aabb.min[2]) * 0.5]; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                // 创建设备编号标记 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                /* 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var options = { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "text": devItems[i].name.replace("C_", "") + "#", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "visible": true, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "maxLod": 110, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "minLod": 0.1, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "textColor": parseInt("0xffffffff") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                }; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                options.pos = [xyz2[0] - 1.5, xyz2[1] - 3, 0] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var markPtr = await player.Native.GisMarker.create(options); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                player.Native.GisMarker.update(markPtr, options); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                */ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                modelsMap[tmp.name] = {item: tmp.item, xyz: xyz2, rowno: rowItems[row].name.substr(1)} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                //初始化设备状态颜色 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                ChangeModelAlarmState2(tmp.name); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                //创建指示灯标记 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                /* 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var alarmColorMarker = { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "text": "●", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "visible": true, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "maxLod": 110, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "minLod": 0.1, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "textFontSize": 14, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    "textColor": parseInt("0xffffff00") //透明色 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    async function loadFacModel(Native){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible("IN02",false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible("IN03",false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible("IN04",false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible("IN05",false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        currentTargetType="FAC"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(modelLoadState[currentTargetType]==null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var cf = "data://models/T_ALL.pr"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var errStr = await PlayerUtils.call(Native.Model.loadModel, currentTargetType, cf); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            modelLoadState[currentTargetType] = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible(currentTargetType,true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        player.Native.CameraAnimation.clearKeyFrame(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    async function loadIn02Model(Native){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        currentTargetType="IN02"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible("FAC",false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(modelLoadState[currentTargetType]==null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var cf = "data://models/ALL.pr"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var errStr = await PlayerUtils.call(Native.Model.loadModel, currentTargetType, cf); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            modelLoadState[currentTargetType]=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //let cfInfo=await player.Native.Model.getInfo("all"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //player.Native.NodeProxy.setNodeRotation(cfInfo.nodePtr, [0,0,90]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var rootItem = await player.Native.ModelTree.getRootItems() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //console.log(rootItem) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var rowItems = await player.Native.ModelTree.getSubItems(rootItem[0].item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (var row = 0; row < rowItems.length; row++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (rowItems[row].name.length < 2 || rowItems[row].name.substr(0, 1) != "R") continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                var devItems = await player.Native.ModelTree.getSubItems(rowItems[row].item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                for (var i = 0; i < devItems.length; i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (devItems[i].name.length < 2 || devItems[i].name.substr(0, 2) != 'C_') continue 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var tmp = devItems[i];// await player.Native.ModelTree.findItemByName(name,0,true,3); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    //计算当前设备在世界坐标 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var xyz = await player.Native.ModelTree.calcItemAabb(tmp.item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var xyz2 = [(xyz.aabb.max[0] + xyz.aabb.min[0]) * 0.5, (xyz.aabb.max[1] + xyz.aabb.min[1]) * 0.5, (xyz.aabb.max[2] + xyz.aabb.min[2]) * 0.5]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    // 创建设备编号标记 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    /* 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var options = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "text": devItems[i].name.replace("C_", "") + "#", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "visible": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "maxLod": 110, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "minLod": 0.1, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "textColor": parseInt("0xffffffff") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    options.pos = [xyz2[0] - 1.5, xyz2[1] - 3, 0] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var markPtr = await player.Native.GisMarker.create(options); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    player.Native.GisMarker.update(markPtr, options); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    modelsMap[tmp.name] = {item: tmp.item, xyz: xyz2, rowno: rowItems[row].name.substr(1)} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    //初始化设备状态颜色 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    ChangeModelAlarmState2(tmp.name); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    //创建指示灯标记 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    /* 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var alarmColorMarker = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "text": "●", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "visible": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "maxLod": 110, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "minLod": 0.1, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "textFontSize": 14, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        "textColor": parseInt("0xffffff00") //透明色 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    alarmColorMarker.pos = [xyz2[0] + 0.7, xyz2[1] - 3, 0] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    var colormarkPtr = await player.Native.GisMarker.create(alarmColorMarker); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    player.Native.GisMarker.update(colormarkPtr, alarmColorMarker); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    modelsAlarmColorMap[tmp.name] = {itemPtr: colormarkPtr, options: alarmColorMarker} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                alarmColorMarker.pos = [xyz2[0] + 0.7, xyz2[1] - 3, 0] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                var colormarkPtr = await player.Native.GisMarker.create(alarmColorMarker); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                player.Native.GisMarker.update(colormarkPtr, alarmColorMarker); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                modelsAlarmColorMap[tmp.name] = {itemPtr: colormarkPtr, options: alarmColorMarker} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                */ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //loadedcnt.innerText=totalcnt.innerText; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            MODEL_LOADED = 1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //loadedcnt.innerText=totalcnt.innerText; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        MODEL_LOADED = 1; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        for (var i in ANIMATION_DATA) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // 添加关键帧 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            player.Native.CameraAnimation.addKeyFrames([ANIMATION_DATA[i]]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        await player.Native.Model.setModelVisible(currentTargetType,true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (ALARM_DEVS.length > 0) { 
														 | 
														
														 | 
														
															         if (ALARM_DEVS.length > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             for (var i = 0; i < ALARM_DEVS.length; i++) { 
														 | 
														
														 | 
														
															             for (var i = 0; i < ALARM_DEVS.length; i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 var s = ALARM_DEVS[i].split(">") 
														 | 
														
														 | 
														
															                 var s = ALARM_DEVS[i].split(">") 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2883,11 +2954,16 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //获取在线设备列表 
														 | 
														
														 | 
														
															         //获取在线设备列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         GetOnlineDev(); 
														 | 
														
														 | 
														
															         GetOnlineDev(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        for (var i in ANIMATION_DATA) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            // 添加关键帧 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            player.Native.CameraAnimation.addKeyFrames([ANIMATION_DATA[i]]); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //6.监听远程过程调用加载完成消息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    player.on("NativeLoad", async (Native) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        playerNative =Native; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        var devAllCount = 6 * 12 * 2 - 4 //设备总数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //var loadedcnt = document.getElementById("loadedcnt") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //var totalcnt = document.getElementById("totalcnt") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //totalcnt.innerText = devAllCount; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //loadedcnt.innerText="0"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        loadFacModel(Native); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (document.getElementById("loading") != null) document.getElementById("loading").remove(true) //加载完成,移除Loading 
														 | 
														
														 | 
														
															         if (document.getElementById("loading") != null) document.getElementById("loading").remove(true) //加载完成,移除Loading 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (document.getElementById("loading_a1") != null) document.getElementById("loading_a1").remove(true) 
														 | 
														
														 | 
														
															         if (document.getElementById("loading_a1") != null) document.getElementById("loading_a1").remove(true) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //调整视角,使其达到最佳初始效果 
														 | 
														
														 | 
														
															         //调整视角,使其达到最佳初始效果 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2913,6 +2989,33 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 点击事件一般仅用于浏览工具,在点选工具下无效 
														 | 
														
														 | 
														
															         // 点击事件一般仅用于浏览工具,在点选工具下无效 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Native.Tools.setCurrentTool("system.Browse"); 
														 | 
														
														 | 
														
															         Native.Tools.setCurrentTool("system.Browse"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Native.ModelTree.EventBrowseLClick.connect((event) => { 
														 | 
														
														 | 
														
															         Native.ModelTree.EventBrowseLClick.connect((event) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(currentTargetType=="FAC"){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                var inTxt = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(inPoints[event.object.name]!=null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    //进入楼层内部 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                     inTxt = txt; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                }else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    for (var txt in inPoints) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        var item = inPoints[txt]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if(event.pos[1]>= item["x1"] && event.pos[2]<= item["y1"] &&event.pos[1]<= item["x2"] && event.pos[2]>= item["y2"]){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            inTxt = txt; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(inTxt!=""){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    currentTargetType=inTxt; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    switch(inTxt){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        case "IN02": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            loadIn02Model(Native); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        default: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    backMasterView();                
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             updateInfo("LClick", event) 
														 | 
														
														 | 
														
															             updateInfo("LClick", event) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); 
														 | 
														
														 | 
														
															         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Native.ModelTree.EventBrowseRClick.connect((event) => { 
														 | 
														
														 | 
														
															         Native.ModelTree.EventBrowseRClick.connect((event) => { 
														 |