Files
gemini-viewer-examples/public/demo/bim_0.html

70 lines
2.3 KiB
HTML
Raw Normal View History

2022-11-04 11:39:56 +08:00
<html>
<head>
<link rel="icon" href="./demo/favicon.ico">
<link rel="stylesheet" type="text/css" href="./demo/global.css">
2023-05-15 19:30:47 +08:00
<style>
2022-11-04 11:39:56 +08:00
#myCanvas {
2023-05-15 19:30:47 +08:00
width: 100%;
height: 100%;
2022-11-04 11:39:56 +08:00
}
2023-05-15 19:30:47 +08:00
</style>
2022-11-04 11:39:56 +08:00
</head>
<body>
<div id="app">
<div id="myCanvas" class="container"></div>
2022-11-04 11:39:56 +08:00
</div>
<script type="module">
import { BimViewer, ToolbarMenuId } from "./demo/libs/gemini-viewer.esm.min.js";
2022-11-04 11:39:56 +08:00
const project = {
"id": "rac_basic_sample_project",
"name": "Rac basic sample project",
2022-11-04 11:39:56 +08:00
"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",
2022-11-04 11:39:56 +08:00
"position": [0, 0, 0],
"rotation": [0, 0, 0],
"scale": [1, 1, 1],
"edges": true,
"visible": true
}]
}
const viewer = new BimViewer({
containerId: "myCanvas",
}, project.camera);
const toolbar = viewer.toolbar;
toolbar.updateMenu(ToolbarMenuId.BimTree, { visible: false });
2023-04-10 17:23:36 +08:00
// draco decoder path is needed to load draco encoded models.
// gemini-viewer js sdk user maintains draco decoder code somewhere, and provides the path here.
2023-06-16 12:09:03 +08:00
const decoderPath = "./demo/three/js/libs/draco/gltf/";
2023-04-10 17:23:36 +08:00
viewer.setDracoDecoderPath(decoderPath);
2022-11-04 11:39:56 +08:00
// 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);
2022-11-04 11:39:56 +08:00
}).then(() => {
console.log(`[Demo] Loaded model ${modelCfg.src}`);
});
});
</script>
</body>
</html>