From d4fe3902583e46bf4580ebfc7722008c2eb4d2c5 Mon Sep 17 00:00:00 2001 From: yanzexuan Date: Sat, 15 Jul 2023 11:25:33 +0800 Subject: [PATCH] Update some demo pages --- public/config.json | 3 ++ public/demo/bim_0.html | 53 +++++++------------- public/demo/bim_1.html | 66 +++++++++---------------- public/demo/bim_2_overlay_with_dxf.html | 5 +- 4 files changed, 43 insertions(+), 84 deletions(-) diff --git a/public/config.json b/public/config.json index 8551966..9c9f964 100644 --- a/public/config.json +++ b/public/config.json @@ -12,6 +12,9 @@ }, { "title": "Overlay 3d model with dxf", "url": "./demo/bim_2_overlay_with_dxf.html" + }, { + "title": "Model explode", + "url": "./demo/bim_3_explode.html" }] }, { "title": "2D drawings", diff --git a/public/demo/bim_0.html b/public/demo/bim_0.html index 5868c3f..1a75cba 100644 --- a/public/demo/bim_0.html +++ b/public/demo/bim_0.html @@ -25,28 +25,18 @@ ToolbarMenuId, } from "./demo/libs/gemini-viewer.esm.min.js"; - const project = { - "id": "rac_basic_sample_project", - "name": "Rac basic sample project", - "camera": { - "eye": [-70, 25, 50], - "look": [-35, 0, 35], - "up": [0, 1, 0], - "far": 10000 - }, - "models": [{ - "name": "Rac basic sample project", - "src": "./demo/models/gltf/rac_basic_sample_project.gltf", - "position": [0, 0, 0], - "rotation": [0, 0, 0], - "scale": [1, 1, 1], - "edges": true, - "visible": true - }] - } - const viewer = new BimViewer({ + const filename = "rac_basic_sample_project.gltf"; + const modelCfg = { + modelId: filename, + name: filename, + src: `./demo/models/gltf/${filename}`, + edges: true, + }; + const viewerCfg = { containerId: "myCanvas", - }, project.camera); + language: "en", + } + const viewer = new BimViewer(viewerCfg); const toolbar = viewer.toolbar; toolbar.updateMenu(ToolbarMenuId.BimTree, { visible: false }); @@ -60,21 +50,12 @@ const decoderPath = "./demo/three/js/libs/draco/gltf/"; viewer.setDracoDecoderPath(decoderPath); - // loadProjectModel - let counter = 0; // to indicate how many models are loading - project.models.forEach((modelCfg) => { - if (modelCfg.visible === false) { - // visible is true by default - return; // only load visible ones - } - counter++; - viewer.loadModel(modelCfg, (event) => { - console.log(`[Demo] Loading model ${modelCfg.src}`); - }, (event) => { - console.error("[Demo] Failed to load " + modelCfg.src + ". " + event.message); - }).then(() => { - console.log(`[Demo] Loaded model ${modelCfg.src}`); - }); + viewer.loadModel(modelCfg, (event) => { + console.log(`[Demo] Loading model ${modelCfg.src}`); + }, (event) => { + console.error("[Demo] Failed to load " + modelCfg.src + ". " + event.message); + }).then(() => { + console.log(`[Demo] Loaded model ${modelCfg.src}`); }); diff --git a/public/demo/bim_1.html b/public/demo/bim_1.html index c05b95c..8dc826e 100644 --- a/public/demo/bim_1.html +++ b/public/demo/bim_1.html @@ -25,36 +25,24 @@ ToolbarMenuId, } from "./demo/libs/gemini-viewer.esm.min.js"; - const project = { - id: "Duplex", - name: "Duplex", - models: [ - { - name: "Duplex", - src: "./demo/models/gltf/Duplex.gltf", - position: [0, 0, 0], - rotation: [0, 0, 0], - scale: [1, 1, 1], - instantiate: false, - merge: false, - edges: true, - visible: true, - }, - ], + const filename = "Duplex.gltf"; + const modelCfg = { + modelId: filename, + name: filename, + src: `./demo/models/gltf/${filename}`, + edges: true, }; - const viewer = new BimViewer( - { - containerId: "myCanvas", - language: "en", - toolbarMenuConfig: { - [ToolbarMenuId.Measure]: { visible: false }, - [ToolbarMenuId.Fullscreen]: { visible: false }, - [ToolbarMenuId.BimTree]: { visible: false }, - }, - enableContextMenu: true, + const viewerCfg = { + containerId: "myCanvas", + language: "en", + toolbarMenuConfig: { + [ToolbarMenuId.Measure]: { visible: false }, + [ToolbarMenuId.Fullscreen]: { visible: false }, + [ToolbarMenuId.BimTree]: { visible: false }, }, - project.camera - ); + enableContextMenu: true, + } + const viewer = new BimViewer(viewerCfg); new AxisGizmoPlugin(viewer); new BottomBarPlugin(viewer); @@ -66,22 +54,12 @@ const decoderPath = "./demo/three/js/libs/draco/gltf/"; viewer.setDracoDecoderPath(decoderPath); - // loadProjectModel - let counter = 0; // to indicate how many models are loading - project.models.forEach((modelCfg) => { - if (modelCfg.visible === false) { - // visible is true by default - return; // only load visible ones - } - counter++; - viewer.loadModel(modelCfg, (event) => { - console.log(`[Demo] Loading model ${modelCfg.src}`); - }, (event) => { - console.error("[Demo] Failed to load " + modelCfg.src + ". " + event.message); - } - ).then(() => { - console.log(`[Demo] Loaded model ${modelCfg.src}`); - }); + viewer.loadModel(modelCfg, (event) => { + console.log(`[Demo] Loading model ${modelCfg.src}`); + }, (event) => { + console.error("[Demo] Failed to load " + modelCfg.src + ". " + event.message); + }).then(() => { + console.log(`[Demo] Loaded model ${modelCfg.src}`); }); diff --git a/public/demo/bim_2_overlay_with_dxf.html b/public/demo/bim_2_overlay_with_dxf.html index 0355041..7b3dd0f 100644 --- a/public/demo/bim_2_overlay_with_dxf.html +++ b/public/demo/bim_2_overlay_with_dxf.html @@ -49,7 +49,7 @@ } const viewer = new BimViewer({ containerId: "myCanvas", - }, project.camera); + }); const toolbar = viewer.toolbar; toolbar.updateMenu(ToolbarMenuId.BimTree, { visible: false }); @@ -68,14 +68,11 @@ const decoderPath = "./demo/three/js/libs/draco/gltf/"; viewer.setDracoDecoderPath(decoderPath); - // loadProjectModel - let counter = 0; // to indicate how many models are loading project.models.forEach((modelCfg) => { if (modelCfg.visible === false) { // visible is true by default return; // only load visible ones } - counter++; viewer.loadModel(modelCfg, (event) => { console.log(`[Demo] Loading model ${modelCfg.src}`); }, (event) => {