CGAL工会误解
CGAL union misunderstanding
我正在使用 CGAL::Polygon_mesh_processing::corefine_and_compute_union(),
函数来计算 2 个网格的并集。
当我使用网站 (https://cgal.geometryfactory.com/CGAL/doc/master/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_mesh_union_8cpp-example.html) 中的代码示例和提供的关闭文件时 blobby.off 和 eight.off,一切顺利
不幸的是,当我使用其他关闭文件时,我收到了我不理解的错误:
CGAL error: assertion violation!
Expression : it_poly_hedge!=edge_to_hedge.end()
File : /usr/local/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Visitor.h
Line : 1008
这是 Visitor.h 中的相关代码:
//WARNING: in few case this is needed if the marked edge is on the border
//to optimize it might be better to only use sorted pair. TAG_SLXX1
Node_id_pair opposite_pair(node_id_pair.second,node_id_pair.first);
it_poly_hedge=edge_to_hedge.find(opposite_pair);
CGAL_assertion( it_poly_hedge!=edge_to_hedge.end() );
你可以在这里找到我使用的文件:
https://pool234.seedbox.fr/files/index.php/s/H87xL0Ema9HC44P
(密码:分享)
谢谢你的帮助。
这是来自 sloriot 的 aswner:
mesh2.off is not a valid input mesh (self-intersections due to
duplicated edges). If you first fix it by calling
CGAL::Polygon_mesh_processing::stitch_borders(), you'll get your
result.
感谢
我正在使用 CGAL::Polygon_mesh_processing::corefine_and_compute_union(),
函数来计算 2 个网格的并集。
当我使用网站 (https://cgal.geometryfactory.com/CGAL/doc/master/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_mesh_union_8cpp-example.html) 中的代码示例和提供的关闭文件时 blobby.off 和 eight.off,一切顺利
不幸的是,当我使用其他关闭文件时,我收到了我不理解的错误:
CGAL error: assertion violation!
Expression : it_poly_hedge!=edge_to_hedge.end()
File : /usr/local/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Visitor.h
Line : 1008
这是 Visitor.h 中的相关代码:
//WARNING: in few case this is needed if the marked edge is on the border
//to optimize it might be better to only use sorted pair. TAG_SLXX1
Node_id_pair opposite_pair(node_id_pair.second,node_id_pair.first);
it_poly_hedge=edge_to_hedge.find(opposite_pair);
CGAL_assertion( it_poly_hedge!=edge_to_hedge.end() );
你可以在这里找到我使用的文件: https://pool234.seedbox.fr/files/index.php/s/H87xL0Ema9HC44P (密码:分享)
谢谢你的帮助。
这是来自 sloriot 的 aswner:
mesh2.off is not a valid input mesh (self-intersections due to duplicated edges). If you first fix it by calling CGAL::Polygon_mesh_processing::stitch_borders(), you'll get your result.
感谢