Merge pull request #78 from pattern-x/feature/support-draco

Set draco decoder path for viewer
This commit is contained in:
pattern-x
2023-04-10 17:30:10 +08:00
committed by GitHub
3 changed files with 16 additions and 3 deletions

View File

@ -50,6 +50,11 @@
const toolbar = viewer.toolbar;
toolbar.updateMenu(ToolbarMenuId.BimTree, { visible: false });
// 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.
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) => {

View File

@ -45,6 +45,10 @@
},
project.camera
);
// 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.
const decoderPath = "demo/three/js/libs/draco/gltf/";
viewer.setDracoDecoderPath(decoderPath);
// loadProjectModel
let counter = 0; // to indicate how many models are loading

View File

@ -78,7 +78,7 @@
"visible": false
}],
};
const bimViewer = new BimViewer(
const viewer = new BimViewer(
{
containerId: "myCanvas",
enableAxisGizmo: true,
@ -91,6 +91,10 @@
},
project.camera
);
// 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.
const decoderPath = "demo/three/js/libs/draco/gltf/";
viewer.setDracoDecoderPath(decoderPath);
// loadProjectModel
let counter = 0; // to indicate how many models are loading
@ -100,7 +104,7 @@
return; // only load visible ones
}
counter++;
bimViewer.loadModel(modelCfg, (event) => {
viewer.loadModel(modelCfg, (event) => {
console.log(`[Demo] Loading model ${modelCfg.src}`);
}, (event) => {
console.error(`[Demo] Failed to load ${modelCfg.src}. " + event.message`);
@ -110,7 +114,7 @@
});
});
const modelUploader = new LocalModelUploader(bimViewer);
const modelUploader = new LocalModelUploader(viewer);
document.getElementById("uploadModelFile").onclick = function() {
modelUploader.openFileBrowserToUpload();
}