IfcLoader的setOnProgress方法用于设置在读取IFC文件时的进度回调函数。
setOnProgress(callback: (event: { loaded: number, total: number }) => void): void
参数callback为回调函数,接收一个event对象作为参数,event对象包含当前读取的字节数和总字节数。
参数名 | 类型 | 描述 |
---|---|---|
callback | (event: { loaded: number, total: number }) => void | 进度回调函数,接收一个event对象作为参数,event对象包含当前读取的字节数和总字节数。 |
以下示例代码演示了如何使用IfcLoader的setOnProgress方法,设置一个进度回调函数,并在回调函数中更新页面上的进度条。
const loader = new IfcLoader()
const progressBar = document.getElementById("progress-bar")
loader.setOnProgress((event) => {
const progress = (event.loaded / event.total * 100).toFixed(2)
progressBar.style.width = `${progress}%`
})
loader.load("example.ifc", (ifcModel) => {
// 加载完成后的回调函数
}, null, (error) => {
console.error("Failed to load IFC file", error)
})
在上述示例代码中,我们首先创建了一个IfcLoader的实例,然后获取了用来显示进度条的DOM元素progressBar。接着,我们调用了IfcLoader的setOnProgress方法,传入一个回调函数。在回调函数中,通过计算已加载的字节数和总字节数的比例,更新页面上的进度条。最后,我们调用IfcLoader的load方法加载IFC文件,并在加载完成后执行回调函数。如果加载失败,我们也提供了错误处理的回调函数。