【发布时间】:2020-02-22 20:29:09
【问题描述】:
我正在尝试使用以下代码通过 VCG 库导入 OBJ 格式的 3D 网格文件
vcg::tri::io::Importer<MyMesh>::Open(vcgMesh, path)
/wrap/io_trimesh/import.h 标头支持的几乎所有 3D 网格格式都可以正常工作。 (STL、PLY,甚至 OBJ!)
但只有某些特定的 OBJ 文件会导致错误并使应用程序完全崩溃。
例如,我从此链接获得的 OBJ 文件
https://free3d.com/3d-model/wwi-plane-pfalz-diii-a-90772.html
这是我收到的错误消息
/vcg/simplex/edge/component.h:46: typename T::VertexType*& vcg::edge::EmptyCore<T>::V(int) [with T = MyUsedTypes; typename T::VertexType = MyVertex]: Assertion `0' failed [1] 24708 abort (core dumped)
问题是我什至无法尝试捕捉错误。而且我找不到任何解决方案来防止我的应用程序崩溃。
我试图在搅拌机和 MeshLab 中打开文件。这些应用程序可以毫无问题地导入 OBJ 文件。
这里有一些相关的问题,但没有一个解决方案适用于这种情况。
Failed to to simplify 3D models with vcglib, Assertion `0' failed
Assertion Failure when using vcglib examples
有什么办法可以解决这个问题吗?即使这是 vcglib 本身的问题并且很难修复它,如果我能捕捉到错误并防止我的应用程序崩溃,那就太好了。请帮忙! 先感谢您。
【问题讨论】:
标签: c++ 3d meshlab wavefront vcg