gpt4 book ai didi

c++ - 将边添加到 Openmesh 网格

转载 作者:太空狗 更新时间:2023-10-29 21:37:09 29 4
gpt4 key购买 nike

刚开始使用 OpenMesh,到目前为止我已经能够添加顶点和制作面孔。 我现在对如何向网格添加边有疑问。

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

代码:

定义:

    Variables in header:
vector<OpenMesh::PolyMesh_ArrayKernelT<OpenMeshExt::MyOwnTraits>::VertexHandle> vHandlers;
OpenMesh::PolyMesh_ArrayKernelT<OpenMeshExt::MyOwnTraits> myMesh;

在 cpp 中:

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)
}

已搜索文档,但不能说我真的找到了答案..

最佳答案

您不必/您不能显式地创建或删除边。每当您修改网格时,例如通过使用 add_face 创建一个面,网格将创建(或删除)必要的(半)边。此外,它还会调整顶点、边和面之间的链接以反射(reflect)网格的拓扑结构。

关于c++ - 将边添加到 Openmesh 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234248/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com