StromanStroman 2023-03-10 16:14 采纳率: 45%
浏览 6
已结题

怎么构造Face_range?

请问CGAL中,我可以从Mesh中获取到Face_range,但是我无法自己构造它?

操作系统:Windows11
语言:C++
编译器:VS2022社区版

  • 写回答

2条回答 默认 最新

  • Deep rever 2023-03-10 16:20
    关注

    在CGAL中,'Face_rangeC3T3::Facet_iterator构成的一个迭代器范围。其中C3T3是三维三角剖分数据结构的一种类型,它存储了一个三角剖分的各种信息,包括点,三角形以及三角形之间的连接信息。

    要构造一个 'Face_range。

    下面是一个示例代码,它演示了如何从一个 C3T3对象Face_range。

    
    #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
    #include <CGAL/Triangulation_data_structure_3.h>
    #include <CGAL/Triangulation_vertex_base_with_info_3.h>
    #include <CGAL/Triangulation_cell_base_with_info_3.h>
    #include <CGAL/Delaunay_triangulation_3.h>
    #include <CGAL/iterator.h>
    
    typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
    typedef CGAL::Triangulation_vertex_base_with_info_3<unsigned int, K> Vb;
    typedef CGAL::Triangulation_cell_base_with_info_3<unsigned int, K> Cb;
    typedef CGAL::Triangulation_data_structure_3<Vb, Cb> Tds;
    typedef CGAL::Delaunay_triangulation_3<K, Tds> Delaunay;
    typedef Delaunay::Cell_handle Cell_handle;
    typedef Delaunay::Facet_iterator Facet_iterator;
    typedef CGAL::Iterator_range<Facet_iterator> Face_range;
    
    int main()
    {
        // 构造三角剖分
        Delaunay dt;
        // ...添加顶点和单元格...
        
        // 构造 Face_range
        std::vector<Facet_iterator> facets;
        for (Facet_iterator it = dt.facets_begin(); it != dt.facets_end(); ++it) {
            facets.push_back(it);
        }
        Face_range face_range(facets.begin(), facets.end());
        
        // 使用 Face_range 遍历所有的面
        for (Facet_iterator it = face_range.begin(); it != face_range.end(); ++it) {
            // ...处理面...
        }
    
        return 0;
    }
    
    

    注意,构造 'Face

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line