반응형
To from vertices 사용법
to_vertex_handle와 from_vertex_handle 함수는 OpenMesh에서 Edge 또는 Halfedge의 양 끝점(Vertex)을 조회하는 데 사용됩니다.
- from_vertex_handle: Halfedge의 시작점을 반환합니다.
- to_vertex_handle: Halfedge의 끝점을 반환합니다.
이 두 함수는 주로 Halfedge 구조를 탐색하거나, Edge에 연결된 Vertex 정보를 얻는 작업에 사용됩니다. OpenMesh의 Halfedge 기반 데이터 구조를 이해하고 활용하는 데 필수적인 함수들입니다.
C++ 예제 코드
아래 예제는 특정 Edge를 구성하는 두 Vertex를 from_vertex_handle과 to_vertex_handle을 사용해 출력하는 코드입니다.
MyMesh mesh;
if (!OpenMesh::IO::read_mesh(mesh, "example.obj"))
{
std::cerr << "Error: Cannot read mesh file." << std::endl;
return 1;
}
MyMesh::EdgeHandle eh = mesh.edge_handle(0);
MyMesh::HalfedgeHandle heh = mesh.halfedge_handle(eh, 0);
MyMesh::VertexHandle from_vh = mesh.from_vertex_handle(heh);
MyMesh::VertexHandle to_vh = mesh.to_vertex_handle(heh);
MyMesh::Point from_point = mesh.point(from_vh);
MyMesh::Point to_point = mesh.point(to_vh);
std::cout << "Edge " << eh.idx() << " connects vertices:" << std::endl;
std::cout << "From Vertex ID: " << from_vh.idx()
<< " Position: (" << from_point[0] << ", " << from_point[1] << ", " << from_point[2] << ")" << std::endl;
std::cout << "To Vertex ID: " << to_vh.idx()
<< " Position: (" << to_point[0] << ", " << to_point[1] << ", " << to_point[2] << ")" << std::endl;
from_vertex_handle와 to_vertex_handle 함수는 OpenMesh의 Halfedge 기반 데이터 구조를 이해하고 활용하는 데 중요한 함수입니다. 위 예제는 기본적인 사용법을 보여주며, 이를 확장해 메쉬 분석, 변형, 구조 탐색 등의 작업에 적용할 수 있습니다.
반응형
'OpenMesh' 카테고리의 다른 글
Incoming and outgoing halfedges (1) | 2024.11.22 |
---|---|
Normal (0) | 2024.11.21 |
FaceEdgeIter (0) | 2024.11.19 |
FaceVertexIter (0) | 2024.11.18 |
FaceFaceIter (2) | 2024.11.17 |