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

69 lines
2.3 KiB
HTML
Raw Normal View History

<html>
<head>
2022-11-22 16:38:55 +08:00
<link rel="icon" href="./gemini-viewer-examples/demo/favicon.ico" />
<link rel="stylesheet" type="text/css" href="./gemini-viewer-examples/demo/global.css" />
</head>
<body>
<div id="viewerContainer">
<div id="myCanvas" class="renderer-container"></div>
</div>
<script type="module">
2022-11-22 16:38:55 +08:00
import { BimViewer, ToolbarMenuId } from "./gemini-viewer-examples/demo/libs/gemini-viewer.esm.min.js";
const project = {
id: "Duplex",
name: "Duplex",
models: [
{
name: "Duplex",
2022-11-22 16:38:55 +08:00
src: "./gemini-viewer-examples/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 viewer = new BimViewer(
{
containerId: "myCanvas",
enableAxisGizmo: true,
enableStats: true,
toolbarMenuConfig: {
[ToolbarMenuId.Measure]: { visible: false },
[ToolbarMenuId.Fullscreen]: { visible: false },
[ToolbarMenuId.BimTree]: { visible: false },
},
enableBottomBar: true,
enableNavCube: true,
enableContextMenu: true,
},
project.camera
);
// 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}`);
});
});
</script>
</body>
</html>