代码之家  ›  专栏  ›  技术社区  ›  Barnabé Faliu

CGAL联盟误解

  •  3
  • Barnabé Faliu  · 技术社区  · 7 年前

    我是那个 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 )以及提供的文件 斑点。关 八关 ,一切顺利。

    不幸的是,当我使用其他非文件时,我得到了我不理解的错误:

    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

    谢谢你的帮助。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Barnabé Faliu    7 年前

    这是sloriot的aswner:

    mesh2.off不是有效的输入网格(由于 重复的边)。如果你先打电话修理 CGAL::Polygon\u mesh\u processing::stitch\u borders(),您将获得 后果

    谢谢