Added a chapter about the navigation on a mesh.
git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@231 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
19
Doc/Examples/nav_code1.cc
Normal file
19
Doc/Examples/nav_code1.cc
Normal file
@@ -0,0 +1,19 @@
|
||||
[...]
|
||||
|
||||
TriMesh::HalfedgeHandle heh, heh_init;
|
||||
|
||||
// Get the halfedge handle assigned to vertex[0]
|
||||
heh = heh_init = mesh.halfedge_handle(vertex[0].handle());
|
||||
|
||||
// heh now holds the handle to the initial halfedge.
|
||||
// We now get further on the boundary by requesting
|
||||
// the next halfedge adjacent to the vertex heh
|
||||
// points to...
|
||||
heh = mesh.next_halfedge_handle(heh);
|
||||
|
||||
// We can do this as often as we want:
|
||||
while(heh != heh_init) {
|
||||
heh = mesh.next_halfedge_handle(heh);
|
||||
}
|
||||
|
||||
[...]
|
||||
13
Doc/Examples/nav_code2.cc
Normal file
13
Doc/Examples/nav_code2.cc
Normal file
@@ -0,0 +1,13 @@
|
||||
// Test if a halfedge lies at a boundary (is not adjacent to a face)
|
||||
bool is_boundary (HalfedgeHandle _heh) const
|
||||
|
||||
// Test if an edge lies at a boundary
|
||||
bool is_boundary (EdgeHandle _eh) const
|
||||
|
||||
// Test if a vertex is adjacent to a boundary edge
|
||||
bool is_boundary (VertexHandle _vh) const
|
||||
|
||||
// Test if a face has at least one adjacent boundary edge.
|
||||
// If _check_vertex=true, this function also tests if at least one
|
||||
// of the adjacent vertices is a boundary vertex
|
||||
bool is_boundary (FaceHandle _fh, bool _check_vertex=false) const
|
||||
14
Doc/Examples/nav_code3.cc
Normal file
14
Doc/Examples/nav_code3.cc
Normal file
@@ -0,0 +1,14 @@
|
||||
[...]
|
||||
|
||||
// Get some vertex handle
|
||||
PolyMesh::VertexHandle v = ...;
|
||||
|
||||
for(PolyMesh::VertexIHalfedgeIter vih_it = mesh.vih_iter(v); vih_it; ++vih_it) {
|
||||
// Iterate over all incoming halfedges...
|
||||
}
|
||||
|
||||
for(PolyMesh::VertexOHalfedgeIter voh_it = mesh.voh_iter(v); voh_it; ++voh_it) {
|
||||
// Iterate over all outgoing halfedges...
|
||||
}
|
||||
|
||||
[...]
|
||||
11
Doc/Examples/nav_code4.cc
Normal file
11
Doc/Examples/nav_code4.cc
Normal file
@@ -0,0 +1,11 @@
|
||||
// Get the face adjacent to the opposite halfedge
|
||||
OpenMesh::PolyConnectivity::opposite_face_handle();
|
||||
|
||||
// Get the handle to the opposite halfedge
|
||||
OpenMesh::Concepts::KernelT< FinalMeshItems >::opposite_halfedge_handle();
|
||||
|
||||
// Get the opposite vertex to the opposite halfedge
|
||||
OpenMesh::TriConnectivity::opposite_he_opposite_vh();
|
||||
|
||||
// Get the vertex assigned to the opposite halfedge
|
||||
OpenMesh::TriConnectivity::opposite_vh();
|
||||
Reference in New Issue
Block a user