3D-модель сетки (.obj) При импорте через vcglib проблема с утверждением 0 не удалась - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь импортировать файл 3D-сетки формата OBJ через библиотеку VCG с этим кодом ниже

vcg::tri::io::Importer<MyMesh>::Open(vcgMesh, path)

Почти все форматы 3D-сетки, которые поддерживает заголовок /wrap/io_trimesh/import.h, работают нормально. (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)

Дело в том, что я не могу дажепопробуй поймай ошибку. и я не мог найти никакого решения, чтобы предотвратить падение приложения из-за него.
Я пытался открыть файл в blender и MeshLab. Эти приложения импортируют файл OBJ без каких-либо проблем.
Вот некоторые связанные проблемы, но ни одно из решений не помогает в этом случае.
Не удалось упростить 3D-модели с помощью vcglib, сбой утверждения `0 '
Ошибка подтверждения при использовании примеров vcglib

Есть ли способ решитьЭта проблема? Даже если это проблема с самим vcglib, и ее трудно исправить, было бы замечательно, если бы я смог отловить ошибку и предотвратить сбой моего приложения. Пожалуйста помоги! Заранее спасибо.

1 Ответ

0 голосов
/ 29 октября 2019

Я пытался открыть файл в blender и MeshLab. Эти приложения импортируют файл OBJ без проблем.

Действительно? Ваш файл obj недействителен, невозможно, чтобы meshlab или blender обрабатывали файл .obj со строками как:

vt 0.349751 0.599421
vt 0.351053 0.607569
vt 0.369663 0.673393
vt nan nan
vt nan nan
vt nan nan

Кроме того, некоторые текстуры имеют абсолютные пути, например

map_Kd /C:/Documents and Settings/Jean-Marie/Mes documents/....
...