CGAL中有效Nef_polyhedron_3凸分解触发断言错误求助
CGAL Nef_polyhedron_3凸分解触发断言错误排查
问题概述
- 刚接触CGAL,已确认
Nef_polyhedron_3对象有效,但调用convex_decomposition_3()时触发断言错误,需要排查问题原因。
详细处理流程与错误情况
- 模型处理步骤:读取.obj文件转为多边形汤 → 完成定向、修复操作后转换为
Polyhedron→ 复制非流形顶点后转为Nef_polyhedron_3 - 有效性验证:已确认生成的
Nef_polyhedron_3有效,且为2-流形结构 - 触发的断言错误:
CGAL error: assertion violation!
Expression : sf_old->mark()
File : C:\dev\CGAL\include\CGAL/Convex_decomposition_3/SM_walls.h
Line : 560
...
- 错误代码位置:对应
SM_walls.h第553-563行的分割面处理逻辑 - 对比情况:其他模型可正常完成凸分解,检查出错模型未发现明显异常
核心疑问
有效状态的Nef_polyhedron_3执行convex_decomposition_3()时,触发该断言错误的可能条件有哪些?
环境配置
- CGAL 6.0
- Boost 1.72.0
- Windows 10 64位
- MSVC 17.10.0
内容的提问来源于stack exchange,提问作者Mjball
相关产品推荐
相关产品推荐

