使用我们的应用程序,我们将大型模型加载到查看器中,并在移动设备上体验问题。我们决定创建分解模型的视图,然后在需要时加载正确的可视视图。不过,我们至少需要查询一次整体模型,但我们遇到了问题。
一个问题是,我希望而不是加载几何图形,只加载特性数据库,并能够使用getBulkProperties
和其他model
方法。
是否有只加载属性数据库的选项
与之相反:const options = { skipPropertyDb: true}
如果这不可能,还有另一个解决方案,但我有一个问题。工作流程如下:
- 加载模型
- 等待对象树
- 查询我们需要的属性
- 取消模型负载
特性查询的结果相对较快,因为我不需要等待加载所有几何体。问题是查看器没有停止加载,当我尝试用viewer.tearDown(); viewer.finish();
取消加载时,我得到了很多Cannot read property 'findMaterial' of null
(来自SvfLoader.js
(。我也试过viewer.impl.cancelLoad(e)
,但没有任何效果。
如何正确取消正在进行的模型加载
最后,使用模型导数从服务器查询模型不是一种选择。
Viewer并不是专门用于此目的(数据导航(的,所以我建议下载属性数据库并创建自己的UI-请参阅此处了解详细信息。
但是,如果你坚持,也许只是尝试类似于skipProperty
的东西,只加载一个(几何体的(节点-在这里查看的实时演示