[Frontend][系統監控] 增加讀取 forge 3D Loading 遮罩 | 總攬及電梯系統隱藏全部物件(不包含設備)程序建置 | [圖資管理] 階層新增選擇程序調整 | [全域功能] forge3D 增加讀取失敗回調 Callback | hideAllObjects 隱藏全物件 不包含某些 dbid 程序調整
This commit is contained in:
parent
dd2a66075c
commit
58c95ae806
@ -16,7 +16,7 @@
|
|||||||
<div class="d-flex" id="graTree"></div>
|
<div class="d-flex" id="graTree"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-10">
|
<div class="col-10">
|
||||||
<div class="row my-2">
|
<div class="row my-2 mx-0">
|
||||||
<a href="javascript:;" id="creGraMan" class="btn btn-success">
|
<a href="javascript:;" id="creGraMan" class="btn btn-success">
|
||||||
+新增
|
+新增
|
||||||
</a>
|
</a>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12 mt-2">
|
<div class="col-md-12 mt-2">
|
||||||
<label>原設計</label>
|
<label>檔案</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
@ -278,8 +278,8 @@
|
|||||||
let dowLoaEle = YT.Alert.Tip("準備下載中...", "show", true);
|
let dowLoaEle = YT.Alert.Tip("準備下載中...", "show", true);
|
||||||
let rowData = graTable.row($(this).closest("tr")).data();
|
let rowData = graTable.row($(this).closest("tr")).data();
|
||||||
let apiUrl = baseApiUrl + `/File/Download?type=graph&savename=${rowData.oriSavName}&oriname=${rowData.oriOrgName}`;
|
let apiUrl = baseApiUrl + `/File/Download?type=graph&savename=${rowData.oriSavName}&oriname=${rowData.oriOrgName}`;
|
||||||
let extname = rowData.oriOrgName?.split(".").slice(-1) || "dwg";
|
|
||||||
download(token, apiUrl, rowData.name + "_原設計圖" + "." + extname, function () {
|
download(token, apiUrl, rowData.oriOrgName, function () {
|
||||||
$(dowLoaEle.ele).YTAlert().hide();
|
$(dowLoaEle.ele).YTAlert().hide();
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
@ -390,8 +390,8 @@
|
|||||||
Create: {
|
Create: {
|
||||||
label: "新增",
|
label: "新增",
|
||||||
_disabled: function (data) {
|
_disabled: function (data) {
|
||||||
if (depth >= 3) {
|
if (depth >= 4) {
|
||||||
return true; //第五層後無法新增
|
return true; //第三層後無法新增
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
@ -405,6 +405,12 @@
|
|||||||
},
|
},
|
||||||
Rename: {
|
Rename: {
|
||||||
label: "重新命名",
|
label: "重新命名",
|
||||||
|
_disabled: function (data) {
|
||||||
|
if ($node.id == "0") {
|
||||||
|
return true; //最上層無法編輯
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
action: function (obj) {
|
action: function (obj) {
|
||||||
tree.edit($node);
|
tree.edit($node);
|
||||||
/* tree.sort($node, true)*/
|
/* tree.sort($node, true)*/
|
||||||
@ -412,6 +418,12 @@
|
|||||||
},
|
},
|
||||||
Remove: {
|
Remove: {
|
||||||
label: "移除",
|
label: "移除",
|
||||||
|
_disabled: function (data) {
|
||||||
|
if ($node.id == "0") {
|
||||||
|
return true; //最上層無法移除
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
action: function (obj) {
|
action: function (obj) {
|
||||||
tree.delete_node($node);
|
tree.delete_node($node);
|
||||||
}
|
}
|
||||||
@ -426,18 +438,27 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function treeEvent() {
|
function treeEvent() {
|
||||||
|
let selectedNode = [];
|
||||||
$('#graTree').on("loaded.jstree", function (e, data) {
|
$('#graTree').on("loaded.jstree", function (e, data) {
|
||||||
let topNode = $('#graTree').jstree(true).get_node("#");
|
let topNode = $('#graTree').jstree(true).get_node("0");
|
||||||
$('#graTree').jstree(true).select_node(topNode.children[0]);
|
$('#graTree').jstree(true).select_node(topNode.children[0]);
|
||||||
$("#graTree").jstree("open_node", 0);
|
$("#graTree").jstree("open_node", 0);
|
||||||
})
|
})
|
||||||
$('#graTree').on("select_node.jstree", function (e, data) {
|
$('#graTree').on("select_node.jstree", function (e, data) {
|
||||||
dtAjaxResetSendData(graTable, { layer_id: parseInt(data.node.id) });
|
if (data.node.id != "0") {
|
||||||
graTable.ajax.reload();
|
dtAjaxResetSendData(graTable, { layer_id: parseInt(data.node.id) });
|
||||||
|
graTable.ajax.reload();
|
||||||
curLayerId = parseInt(data.node.id);
|
selectedNode.unshift(data.node.id);
|
||||||
$("#graLayer").text(levelNameByNodeId(data.node));
|
if (selectedNode.length > 3) {
|
||||||
$("#curLevText").text(levelNameByNodeId(data.node));
|
selectedNode.splice(selectedNode.length - 1, 1);
|
||||||
|
}
|
||||||
|
curLayerId = parseInt(data.node.id);
|
||||||
|
$("#graLayer").text(levelNameByNodeId(data.node));
|
||||||
|
$("#curLevText").text(levelNameByNodeId(data.node));
|
||||||
|
} else {
|
||||||
|
$("#graTree").jstree(true).deselect_node(data.node);
|
||||||
|
$("#graTree").jstree(true).select_node(selectedNode[0]);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
$("#graTree").on('create_node.jstree', function (e, data) {
|
$("#graTree").on('create_node.jstree', function (e, data) {
|
||||||
let main = {};
|
let main = {};
|
||||||
@ -537,14 +558,14 @@
|
|||||||
let names = [];
|
let names = [];
|
||||||
let curNode = $('#graTree').jstree(true).get_node(node);
|
let curNode = $('#graTree').jstree(true).get_node(node);
|
||||||
let parents = curNode.parents.reverse();
|
let parents = curNode.parents.reverse();
|
||||||
|
|
||||||
for (let i = parents.length - 1; i >= 0; i--) {
|
for (let i = parents.length - 1; i >= 0; i--) {
|
||||||
if (parents[i] != "#") {
|
if (parents[i] != "#") {
|
||||||
let node = $('#graTree').jstree(true).get_node(parents[i]);
|
let node = $('#graTree').jstree(true).get_node(parents[i]);
|
||||||
names.push(node.text);
|
names.push(node.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
names.push(curNode.text);
|
names.push(curNode.text);
|
||||||
return names.join("/");
|
return names.join("/");
|
||||||
|
|
||||||
|
@ -2371,8 +2371,9 @@
|
|||||||
|
|
||||||
//載入3D模型
|
//載入3D模型
|
||||||
function load3DModel() {
|
function load3DModel() {
|
||||||
|
|
||||||
launchViewer(pageAct.urn, (viewer) => {
|
launchViewer(pageAct.urn, (viewer) => {
|
||||||
|
|
||||||
|
|
||||||
let elevOption = {
|
let elevOption = {
|
||||||
selector: "#forgeViewer",
|
selector: "#forgeViewer",
|
||||||
viewer: viewer,
|
viewer: viewer,
|
||||||
@ -2382,12 +2383,16 @@
|
|||||||
// 電梯移動訂閱程序載入
|
// 電梯移動訂閱程序載入
|
||||||
let forge3DElev = new Forge3DElevFull(elevOption);
|
let forge3DElev = new Forge3DElevFull(elevOption);
|
||||||
forge3DElev.bajaEndCallback = function () {
|
forge3DElev.bajaEndCallback = function () {
|
||||||
|
debugger
|
||||||
|
hideAllObjects(this.getNodeIds());
|
||||||
endPageLoading();
|
endPageLoading();
|
||||||
}
|
}
|
||||||
forge3DElev.bajaChaCallback = function (data) {
|
forge3DElev.bajaChaCallback = function (data) {
|
||||||
subDeviceSetStatus(data);
|
subDeviceSetStatus(data);
|
||||||
}
|
}
|
||||||
forge3DElev.init();
|
forge3DElev.init();
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -45,9 +45,7 @@
|
|||||||
setLightColor();
|
setLightColor();
|
||||||
}
|
}
|
||||||
if (arr.indexOf(3) != -1) {
|
if (arr.indexOf(3) != -1) {
|
||||||
|
|
||||||
getHotspotPoint(() => {
|
getHotspotPoint(() => {
|
||||||
getLightDevice();
|
|
||||||
show3DModel(data.urn_3D);
|
show3DModel(data.urn_3D);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -264,7 +262,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function show3DModel(urn) {
|
function show3DModel(urn) {
|
||||||
|
$(loadEle).Loading("start");
|
||||||
launchViewerForHotspot(urn, (viewer, nodeIds) => {
|
launchViewerForHotspot(urn, (viewer, nodeIds) => {
|
||||||
|
let devDbIds = allDevList.map(x => x.forge_dbid);
|
||||||
|
hideAllObjects(devDbIds);
|
||||||
|
$(loadEle).Loading("close");
|
||||||
let devices = allDevList.map(x => {
|
let devices = allDevList.map(x => {
|
||||||
return {
|
return {
|
||||||
roomDbId: !isNaN(parseInt(x.room_dbid)) ? parseInt(x.room_dbid) : -1,
|
roomDbId: !isNaN(parseInt(x.room_dbid)) ? parseInt(x.room_dbid) : -1,
|
||||||
@ -300,6 +302,8 @@
|
|||||||
endPageLoading();
|
endPageLoading();
|
||||||
}
|
}
|
||||||
forge3DElev.init();
|
forge3DElev.init();
|
||||||
|
}, () => {
|
||||||
|
$(loadEle).Loading("close");
|
||||||
}, "[name=forgeViewer]");
|
}, "[name=forgeViewer]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -337,50 +341,11 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getLightDevice() {//callback = null
|
|
||||||
getLightData(null);
|
|
||||||
let url = baseApiUrl + "/api/GetDevNodeForCor";
|
|
||||||
let sendData = {
|
|
||||||
"device_area_tag": pageAct.AreaTag,
|
|
||||||
"device_building_tag": pageAct.buiTag,
|
|
||||||
"device_system_tag": pageAct.sysMainTag,
|
|
||||||
"device_name_tag": pageAct.sysSubTag,
|
|
||||||
};
|
|
||||||
objSendData.Data = sendData;
|
|
||||||
ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
|
|
||||||
if (!res || res.code != "0000" || !res.data) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
let myLightList = [];
|
|
||||||
$.each(res.data, (idx, data) => {
|
|
||||||
let item = {};
|
|
||||||
item.position = {};
|
|
||||||
if (data.device_node_coordinate_3d != null && isJSON(data.device_node_coordinate_3d)) {
|
|
||||||
item.position = JSON.parse(data.device_node_coordinate_3d);
|
|
||||||
}
|
|
||||||
$.extend(item, data);
|
|
||||||
myLightList.push(item);
|
|
||||||
})
|
|
||||||
|
|
||||||
console.log("2", myLightList);
|
|
||||||
setLightList(myLightList);
|
|
||||||
//callback ? callback() : "";
|
|
||||||
}
|
|
||||||
}, null, "POST").send();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function setHotspotPoint(myDataList = []) {
|
function setHotspotPoint(myDataList = []) {
|
||||||
console.log(myDataList)
|
console.log(myDataList)
|
||||||
getHopspotPoint(myDataList);
|
getHopspotPoint(myDataList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function setLightList(myDataList = []) {
|
|
||||||
console.log(myDataList);
|
|
||||||
getLightData(myDataList);
|
|
||||||
}
|
|
||||||
|
|
||||||
var parentEle = "";
|
var parentEle = "";
|
||||||
onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
|
onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
|
||||||
forgeUnFocusAll();
|
forgeUnFocusAll();
|
||||||
|
@ -1034,10 +1034,11 @@
|
|||||||
|
|
||||||
// show 3D 模型
|
// show 3D 模型
|
||||||
function show3DModel(urn) {
|
function show3DModel(urn) {
|
||||||
|
$(loadEle).Loading("start");
|
||||||
launchViewerForHotspot(urn, (viewer, nodeIds) => {
|
launchViewerForHotspot(urn, (viewer, nodeIds) => {
|
||||||
let nextFloor = getNextFloor(pageAct.floGuid);
|
let nextFloor = getNextFloor(pageAct.floGuid);
|
||||||
let curFloTag = pageAct.floTag;
|
let curFloTag = pageAct.floTag;
|
||||||
debugger
|
|
||||||
if (!nextFloor) {
|
if (!nextFloor) {
|
||||||
toast_warning("超出樓層範圍");
|
toast_warning("超出樓層範圍");
|
||||||
return;
|
return;
|
||||||
@ -1050,7 +1051,9 @@
|
|||||||
nextFloor = nextFloor.split("U")[1];
|
nextFloor = nextFloor.split("U")[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
getLevelsData(curFloTag, nextFloor);
|
getLevelsData(curFloTag, nextFloor, function () {
|
||||||
|
$(loadEle).Loading("close");
|
||||||
|
});
|
||||||
setHeatMap();
|
setHeatMap();
|
||||||
|
|
||||||
let elevOption = {
|
let elevOption = {
|
||||||
@ -1066,6 +1069,8 @@
|
|||||||
endPageLoading();
|
endPageLoading();
|
||||||
}
|
}
|
||||||
forge3DElev.init();
|
forge3DElev.init();
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
<!--we need this logo when user switches to nav-function-top-->
|
<!--we need this logo when user switches to nav-function-top-->
|
||||||
<div class="page-logo">
|
<div class="page-logo">
|
||||||
<a href="javascript:;" name="topFunBtn" data-page="dashboard" class="page-logo-link press-scale-down d-flex align-items-center position-relative">
|
<a href="javascript:;" name="topFunBtn" data-page="dashboard" class="page-logo-link press-scale-down d-flex align-items-center position-relative">
|
||||||
<img name="webLogo" src="img/logo.png" alt="SmartAdmin WebApp" aria-roledescription="logo">
|
<img src="img/logo.png" alt="SmartAdmin WebApp" aria-roledescription="logo">
|
||||||
|
|
||||||
<!--<span class="page-logo-text mr-1">SmartAdmin WebApp</span>-->
|
<!--<span class="page-logo-text mr-1">SmartAdmin WebApp</span>-->
|
||||||
<!--<span class="position-absolute text-white opacity-50 small pos-top pos-right mr-2 mt-n2"></span>
|
<!--<span class="position-absolute text-white opacity-50 small pos-top pos-right mr-2 mt-n2"></span>
|
||||||
@ -824,7 +824,6 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
function isValidLogin() {
|
function isValidLogin() {
|
||||||
$("#app").load("_dashboard.html", loadCallback);
|
$("#app").load("_dashboard.html", loadCallback);
|
||||||
|
|
||||||
getLogo();
|
|
||||||
getUserInfo();
|
getUserInfo();
|
||||||
iniFroList();
|
iniFroList();
|
||||||
showMainSys();
|
showMainSys();
|
||||||
@ -1457,7 +1456,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
}
|
}
|
||||||
|
|
||||||
let li = creEle("li");
|
let li = creEle("li");
|
||||||
let a = creA(subSysObj.full_name, { "href": "javascript:;" }, [], `subSysBtn${subSysObj.sub_system_tag}`, { page: page, tabname: page }, "topFunBtn");
|
let a = creA(subSysObj.full_name, { "href": "javascript:;" }, [], `subSysBtn${subSysObj.sub_system_tag}`, { page: page, tabname: "systemMonitor" }, "topFunBtn");
|
||||||
li.append(a);
|
li.append(a);
|
||||||
a.data("subSysObj", subSysObj)
|
a.data("subSysObj", subSysObj)
|
||||||
subSysObj.main_system_tag = mainSysObj.main_system_tag;
|
subSysObj.main_system_tag = mainSysObj.main_system_tag;
|
||||||
@ -1468,17 +1467,6 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
|
|||||||
}, null, "POST").send();
|
}, null, "POST").send();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLogo() {
|
|
||||||
$.ajax({
|
|
||||||
method: "post",
|
|
||||||
url: 'api/GetLogo',
|
|
||||||
async: false,
|
|
||||||
success: function (rel) {
|
|
||||||
$('[name=webLogo]').attr('src', 'img/' + rel);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getUserInfo() {
|
function getUserInfo() {
|
||||||
let url = baseApiUrl + varApiUrl + "getUserFull";
|
let url = baseApiUrl + varApiUrl + "getUserFull";
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ var levels;//剖面用
|
|||||||
var lowerIdx;//剖面的下方樓層
|
var lowerIdx;//剖面的下方樓層
|
||||||
var upperIdx;//剖面的上方樓層
|
var upperIdx;//剖面的上方樓層
|
||||||
|
|
||||||
function launchViewer(urn, callback, _selector = "#forgeViewer") {
|
function launchViewer(urn, callback,failCallback, _selector = "#forgeViewer") {
|
||||||
selector = _selector;
|
selector = _selector;
|
||||||
var options = {
|
var options = {
|
||||||
env: 'AutodeskProduction',
|
env: 'AutodeskProduction',
|
||||||
@ -29,7 +29,9 @@ function launchViewer(urn, callback, _selector = "#forgeViewer") {
|
|||||||
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
||||||
callback ? callback(viewer, nodeIds) : "";
|
callback ? callback(viewer, nodeIds) : "";
|
||||||
})
|
})
|
||||||
|
$(selector).on("autodesk:loaded:fail", function (e) {
|
||||||
|
failCallback ? failCallback(viewer) : "";
|
||||||
|
})
|
||||||
|
|
||||||
//test
|
//test
|
||||||
// for (let i = 0; i < urn.length; i++) {
|
// for (let i = 0; i < urn.length; i++) {
|
||||||
@ -58,7 +60,7 @@ function launchViewer(urn, callback, _selector = "#forgeViewer") {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function launchViewerForHotspot(urn, callback, _selector = "#forgeViewer") {
|
function launchViewerForHotspot(urn, callback, failCallback, _selector = "#forgeViewer") {
|
||||||
selector = _selector;
|
selector = _selector;
|
||||||
var av = Autodesk.Viewing;
|
var av = Autodesk.Viewing;
|
||||||
var options = {
|
var options = {
|
||||||
@ -80,10 +82,14 @@ function launchViewerForHotspot(urn, callback, _selector = "#forgeViewer") {
|
|||||||
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
||||||
callback ? callback(viewer, nodeIds) : "";
|
callback ? callback(viewer, nodeIds) : "";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(selector).on("autodesk:loaded:fail", function (e) {
|
||||||
|
failCallback ? failCallback(viewer) : "";
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function launchViewerNoTools(urn, callback, _selector = "#forgeViewer") {
|
function launchViewerNoTools(urn, callback, failCallback, _selector = "#forgeViewer") {
|
||||||
selector = _selector;
|
selector = _selector;
|
||||||
var options = {
|
var options = {
|
||||||
env: 'AutodeskProduction',
|
env: 'AutodeskProduction',
|
||||||
@ -101,6 +107,10 @@ function launchViewerNoTools(urn, callback, _selector = "#forgeViewer") {
|
|||||||
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
$(selector).on("autodesk:loaded", function (e, nodeIds) {
|
||||||
callback ? callback(viewer, nodeIds) : "";
|
callback ? callback(viewer, nodeIds) : "";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(selector).on("autodesk:loaded:fail", function (e) {
|
||||||
|
failCallback ? failCallback(viewer) : "";
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,7 +505,7 @@ function getAllDbIds(viewer) {
|
|||||||
* Autodesk.Viewing.Document.load() failuire callback.
|
* Autodesk.Viewing.Document.load() failuire callback.
|
||||||
*/
|
*/
|
||||||
function onDocumentLoadFailure(viewerErrorCode) {
|
function onDocumentLoadFailure(viewerErrorCode) {
|
||||||
$(selector).trigger("autodesk:loaded");
|
$(selector).trigger("autodesk:loaded:fail");
|
||||||
console.error("onDocumentLoadFailure() - errorCode:" + viewerErrorCode);
|
console.error("onDocumentLoadFailure() - errorCode:" + viewerErrorCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1001,7 +1011,7 @@ async function getRemoteLevels() {
|
|||||||
return levels2;
|
return levels2;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getLevelsData(lowerFloor, upperFloor) {
|
async function getLevelsData(lowerFloor, upperFloor, callback = null) {
|
||||||
// 樓層正規化 取得樓層
|
// 樓層正規化 取得樓層
|
||||||
const floorRegex = /[\d|\w]+F/gmi;
|
const floorRegex = /[\d|\w]+F/gmi;
|
||||||
const data = await this.getRemoteLevels();
|
const data = await this.getRemoteLevels();
|
||||||
@ -1015,7 +1025,7 @@ async function getLevelsData(lowerFloor, upperFloor) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.levels = data;
|
this.levels = data;
|
||||||
profile();
|
profile(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCutPlaneParam(idx, n) {
|
function getCutPlaneParam(idx, n) {
|
||||||
@ -1036,12 +1046,13 @@ function getCutPlaneParam(idx, n) {
|
|||||||
return new THREE.Vector4(0, 0, n, d);
|
return new THREE.Vector4(0, 0, n, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
function profile() {
|
function profile(callback = null) {
|
||||||
//const upperIdx = 6;
|
//const upperIdx = 6;
|
||||||
const upperCutPlaneParam = this.getCutPlaneParam(upperIdx, 1);
|
const upperCutPlaneParam = this.getCutPlaneParam(upperIdx, 1);
|
||||||
//const lowerIdx = 7;
|
//const lowerIdx = 7;
|
||||||
const lowerCutPlaneParam = this.getCutPlaneParam(lowerIdx, -1);
|
const lowerCutPlaneParam = this.getCutPlaneParam(lowerIdx, -1);
|
||||||
this.viewer.setCutPlanes([upperCutPlaneParam, lowerCutPlaneParam]);
|
this.viewer.setCutPlanes([upperCutPlaneParam, lowerCutPlaneParam]);
|
||||||
|
callback ? callback() : "";
|
||||||
}
|
}
|
||||||
//----------------- end -----------------------------------------------
|
//----------------- end -----------------------------------------------
|
||||||
//新增燈光
|
//新增燈光
|
||||||
@ -1090,12 +1101,16 @@ function changeColorTransparency(nodeId, color) {//變綠色
|
|||||||
viewer.setThemingColor(nodeId, color);
|
viewer.setThemingColor(nodeId, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
//隱藏全物件
|
//隱藏全物件 (篩選 dbids 除外)
|
||||||
function hideAllObjects() {
|
function hideAllObjects(filDbids = []) {
|
||||||
//viewer.hide(4);//只針對一個物件(dbid為4)做隱藏
|
//viewer.hide(4);//只針對一個物件(dbid為4)做隱藏
|
||||||
for (var i = 0; i < allDbIdsStr.length; i++) {
|
for (var i = 0; i < allDbIdsStr.length; i++) {
|
||||||
viewer.hide(parseInt(allDbIdsStr[i]));
|
viewer.hide(parseInt(allDbIdsStr[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < filDbids.length; i++) {
|
||||||
|
viewer.show(parseInt(filDbids[i]), viewer.model);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//顯示全物件
|
//顯示全物件
|
||||||
function showAllObjects() {
|
function showAllObjects() {
|
||||||
|
@ -604,4 +604,8 @@ class Forge3DElevFull {
|
|||||||
}
|
}
|
||||||
}, null, "POST").send();
|
}, null, "POST").send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getNodeIds = function () {
|
||||||
|
return this.elev3DObj.map(x => x.nodeId);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user