From c7b64addec9246add7d616e38b3bff67d5af3107 Mon Sep 17 00:00:00 2001 From: Max Limper Date: Tue, 3 May 2016 16:02:59 +0200 Subject: [PATCH] Copy per-halfedge and per-face properties to new elments during triangulation --- src/OpenMesh/Core/Mesh/PolyConnectivity.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/OpenMesh/Core/Mesh/PolyConnectivity.cc b/src/OpenMesh/Core/Mesh/PolyConnectivity.cc index 045f9709..efea0e3f 100644 --- a/src/OpenMesh/Core/Mesh/PolyConnectivity.cc +++ b/src/OpenMesh/Core/Mesh/PolyConnectivity.cc @@ -1032,6 +1032,7 @@ void PolyConnectivity::triangulate(FaceHandle _fh) HalfedgeHandle base_heh(halfedge_handle(_fh)); VertexHandle start_vh = from_vertex_handle(base_heh); + HalfedgeHandle prev_heh(prev_halfedge_handle(base_heh)); HalfedgeHandle next_heh(next_halfedge_handle(base_heh)); while (to_vertex_handle(next_halfedge_handle(next_heh)) != start_vh) @@ -1051,6 +1052,10 @@ void PolyConnectivity::triangulate(FaceHandle _fh) set_face_handle(next_heh, new_fh); set_face_handle(new_heh, new_fh); + copy_all_properties(prev_heh, new_heh, true); + copy_all_properties(prev_heh, opposite_halfedge_handle(new_heh), true); + copy_all_properties(_fh, new_fh, true); + base_heh = opposite_halfedge_handle(new_heh); next_heh = next_next_heh; }