首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Openmesh网格中添加边

向Openmesh网格中添加边
EN

Stack Overflow用户
提问于 2016-07-06 21:41:06
回答 1查看 1.1K关注 0票数 3

刚从OpenMesh开始,到目前为止,我已经能够添加顶点,并生成面孔。我现在很难理解如何在网格中添加一个边缘。

我知道openMesh使用的半边数据结构,但我真的不明白该如何添加边缘..

代码:

定义:

代码语言:javascript
复制
    Variables in header:
    vector<OpenMesh::PolyMesh_ArrayKernelT<OpenMeshExt::MyOwnTraits>::VertexHandle> vHandlers;
    OpenMesh::PolyMesh_ArrayKernelT<OpenMeshExt::MyOwnTraits> myMesh;

在cpp中:

代码语言:javascript
复制
typedef OpenMesh::PolyMesh_ArrayKernelT<OpenMeshExt::CustomTraits> OpnMesh;
typedef OpnMesh::VertexHandle vertexHandle;

void Mesh::addVertexFromPoint(Point& position){
    float x = static_cast <float> (position.x());
    float y = static_cast <float> (position.y());
    vertexHandle vhand= myMesh.add_vertex(OpnMesh::Point(x,y,.0f));
    vHandlers.push_back(vhand);
}

void Mesh::makeFace(){
    if(vHandlers.size()<=2){
        return;
    }
    myMesh.add_face(vHandlers);
//Add edges between eg vertex 0 and 1 in vHandlers (vector with VertexHandlers) 
}

已经查过文件了,但不能说我找到了答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-07 00:24:06

您不必/不能显式地创建或删除边缘。每当你修改网格时,比如用add_face创建一个脸,网格就会创建(或删除)必要的(一半)边缘。同时,它将调整顶点、边和面之间的链接,以反映网格的拓扑结构。

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

https://stackoverflow.com/questions/38234248

复制
相关文章

相似问题

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