距離上次用OpenMesh已經有好段日子了
現在突然作業需要用到又開始寫
好多地方忘記了
這次想到問題是
我已經擁有兩個VertexHandle了,我該如何找出他們的HalfEdge
以及如何利用這個HalfEdge 環繞出一個三角形
先說說如何找出HalfEdge
OMT::VHandle vh1,vh2;
OMT::HEHandle he = m_Mesh->find_halfedge(vh1,vh2);
he就是我們要的
接下是為何要提到利用這個HalfEdge 環繞出一個三角形
因為我用一般的做法next_halfedge_handle()他不是跑出該Face的halfedge 而是跑到下一個Face的halfedge了
所以要利用到opposite_halfedge_handle();
用一個vector把找到的he先存下來
std::vector<OMT::HEHandle> hehs;
OMT::HEHandle he = m_Mesh->find_halfedge(vh1,vh2);
hehs.push_back(he);
he = m_Mesh->next_halfedge_handle(m_Mesh->opposite_halfedge_handle(he));
hehs.push_back(he);
he = m_Mesh->next_halfedge_handle(he);
hehs.push_back(he);
這樣就可以利用halfedge找出來了
因為我正在做點對點求一些角度問題 就用此方式了~~
以後如果想到有更好的方式再提出來
留言列表