[前台] forge 突擊平面圖原點配合點位顏色
This commit is contained in:
		
							parent
							
								
									7a6b2068bd
								
							
						
					
					
						commit
						7169c33dc3
					
				
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3927
									
								
								Frontend/index.html
									
									
									
									
									
								
							
							
						
						
									
										3927
									
								
								Frontend/index.html
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -922,9 +922,9 @@ async function addHotPoint(data) {
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        spriteColor = new THREE.Color(0xffffff);
 | 
					        spriteColor = new THREE.Color(0xffffff);
 | 
				
			||||||
        spriteIcon = "/file/img/forge/hotspot.svg";
 | 
					        spriteIcon = "/file/img/forge/sensor_circle.svg";
 | 
				
			||||||
        if (location.href.indexOf("localhost:5966") != -1) {
 | 
					        if (location.href.indexOf("localhost:5966") != -1) {
 | 
				
			||||||
            spriteIcon = "/img/forge/hotspot.svg";
 | 
					            spriteIcon = "/img/forge/sensor_circle.svg";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -973,7 +973,7 @@ async function addHotPoint(data) {
 | 
				
			|||||||
                // console.log(`Sprite clicked: ${event.dbId}`);
 | 
					                // console.log(`Sprite clicked: ${event.dbId}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                for (let i = dbIdStart; i <= myDataList.length + 10; i++) {
 | 
					                for (let i = dbIdStart; i <= myDataList.length + 10; i++) {
 | 
				
			||||||
                    !alarmDbIdList.some((dbId) => dbId == i) &&
 | 
					                    !alarmDbIdList.some(({ spriteDbid }) => spriteDbid == i) &&
 | 
				
			||||||
                        pageAct.sysSubTag !== "L1" &&
 | 
					                        pageAct.sysSubTag !== "L1" &&
 | 
				
			||||||
                        changeColorForHotspot(i);
 | 
					                        changeColorForHotspot(i);
 | 
				
			||||||
                    changeScaleForHotspot(i, true);
 | 
					                    changeScaleForHotspot(i, true);
 | 
				
			||||||
@ -990,7 +990,7 @@ async function addHotPoint(data) {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
                $(selector).trigger("autodesk:click:sprite", { event, myData });
 | 
					                $(selector).trigger("autodesk:click:sprite", { event, myData });
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                !alarmDbIdList.some((dbId) => dbId == i) &&
 | 
					                !alarmDbIdList.some(({ spriteDbid }) => spriteDbid == event.dbId) &&
 | 
				
			||||||
                    pageAct.sysSubTag !== "L1" &&
 | 
					                    pageAct.sysSubTag !== "L1" &&
 | 
				
			||||||
                    changeColorForHotspot(event.dbId, null);
 | 
					                    changeColorForHotspot(event.dbId, null);
 | 
				
			||||||
                changeScaleForHotspot(event.dbId, false);
 | 
					                changeScaleForHotspot(event.dbId, false);
 | 
				
			||||||
@ -1038,25 +1038,47 @@ async function addHotPoint(data) {
 | 
				
			|||||||
    //}
 | 
					    //}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//hex -> rgbsensor_circle
 | 
				
			||||||
 | 
					function hexToRgb(hex) {
 | 
				
			||||||
 | 
					    return (
 | 
				
			||||||
 | 
					        "rgb(" +
 | 
				
			||||||
 | 
					        parseInt("0x" + hex.slice(1, 3)) +
 | 
				
			||||||
 | 
					        "," +
 | 
				
			||||||
 | 
					        parseInt("0x" + hex.slice(3, 5)) +
 | 
				
			||||||
 | 
					        "," +
 | 
				
			||||||
 | 
					        parseInt("0x" + hex.slice(5, 7)) +
 | 
				
			||||||
 | 
					        ")"
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 熱點 更換顏色
 | 
					// 熱點 更換顏色
 | 
				
			||||||
async function changeColorForHotspot(dbId, type = null, lightOn = false) {
 | 
					async function changeColorForHotspot(dbId, type = null, OnOff = false) {
 | 
				
			||||||
    const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization");
 | 
					    const dataVizExtn = await viewer.loadExtension("Autodesk.DataVisualization");
 | 
				
			||||||
    let spriteColorFocus = new THREE.Color(0xffffff);
 | 
					    let spriteColorFocus = new THREE.Color(0xffffff);
 | 
				
			||||||
    if (pageAct.sysSubTag == "L1") {
 | 
					
 | 
				
			||||||
        spriteColorFocus = lightOn
 | 
					    spriteColorFocus = OnOff
 | 
				
			||||||
            ? new THREE.Color(0xffd524)
 | 
					        ? pageAct.sysSubObj.device_normal_color
 | 
				
			||||||
            : new THREE.Color(0x40525e);
 | 
					            ? new THREE.Color(hexToRgb(pageAct.sysSubObj.device_normal_color))
 | 
				
			||||||
        if (lightOn) {
 | 
					            : new THREE.Color(0xffffff)
 | 
				
			||||||
            console.log(dbId);
 | 
					        : pageAct.sysSubObj.device_close_color
 | 
				
			||||||
        }
 | 
					            ? new THREE.Color(hexToRgb(pageAct.sysSubObj.device_close_color))
 | 
				
			||||||
    } else if (type == "focus" && pageAct.sysSubTag !== "M12") {
 | 
					            : new THREE.Color(0xffffff);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (type == "focus") {
 | 
				
			||||||
        spriteColorFocus = new THREE.Color(0x00ffe1);
 | 
					        spriteColorFocus = new THREE.Color(0x00ffe1);
 | 
				
			||||||
    } else if (type == "error") {
 | 
					    } else if (type == "error") {
 | 
				
			||||||
        spriteColorFocus = new THREE.Color(0xff0000);
 | 
					        spriteColorFocus = new THREE.Color(
 | 
				
			||||||
 | 
					            hexToRgb(pageAct.sysSubObj.device_error_color)
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        spriteErrIcon = baseForgeApiUrl + "/file/img/forge/sensor_circle.svg";
 | 
				
			||||||
 | 
					        if (location.href.indexOf("localhost:5966") != -1) {
 | 
				
			||||||
 | 
					            spriteErrIcon = baseForgeApiUrl + "/img/forge/sensor_circle.svg";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    const viewablesToUpdate = dbId;
 | 
					    const viewablesToUpdate = dbId;
 | 
				
			||||||
    dataVizExtn.invalidateViewables(viewablesToUpdate, (viewable) => {
 | 
					    dataVizExtn.invalidateViewables(viewablesToUpdate, (viewable) => {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
 | 
					            url: "/file/img/forge/sensor_circle.svg",
 | 
				
			||||||
            color: spriteColorFocus,
 | 
					            color: spriteColorFocus,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2153
									
								
								Frontend/js/site.js
									
									
									
									
									
								
							
							
						
						
									
										2153
									
								
								Frontend/js/site.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user