首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGAL曲面去网格面

CGAL曲面去网格面
EN

Stack Overflow用户
提问于 2017-08-25 06:33:49
回答 1查看 899关注 0票数 1
  1. remove_face方法是否改变了网格索引?

我发现这个代码有一个分段错误:

代码语言:javascript
复制
        auto face_iterator = m.faces_around_target(m.halfedge(v3));

            for (auto i=face_iterator.begin(); i!=face_iterator.end(); i++) {
                m.remove_face(*i);
            }

根据我对文档的理解,只要我不调用collect_garbage,脸就只被标记为已删除,因此不会更改索引。这是怎么回事?

  1. remove_face是否也会移除脸上的半衰期\使其指向null_face?它似乎不这样做,我也不明白为什么不。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-25 07:08:59

脸确实被简单地标记为已删除,但是它的迭代器由于删除而失效(请记住迭代器只对未删除的元素执行)。

文档中所述:在不调整任何内容的情况下,从halfedge数据结构中移除f面。您需要使用更高级别的函数,如CGAL::Euler::remove_face()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45875622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档