Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] CGAL::Euler::collapse_edge use on CGAL::Surface_mesh

Subject: CGAL users discussion list

List archive

[cgal-discuss] CGAL::Euler::collapse_edge use on CGAL::Surface_mesh


Chronological Thread 
  • From: Iasonm <>
  • To:
  • Subject: [cgal-discuss] CGAL::Euler::collapse_edge use on CGAL::Surface_mesh
  • Date: Wed, 6 Sep 2017 06:32:12 -0700 (MST)
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=SoftFail ; spf=Pass
  • Ironport-phdr: 9a23:U/a8QBzGpdFj2QHXCy+O+j09IxM/srCxBDY+r6Qd0uweIJqq85mqBkHD//Il1AaPBtqLra8cw8Pt8IneGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2UXSJ/Cz3tGZaWk6nbUsmbtjyT4XdhsDy2+Gp8IDIeC1JgiC8aPV8NkaYtwLU4+gfmoxkL+5l0wLVpX9Ffel+ymZhJFbVlBH5sJTjtKV/+jhd7qtyv/VLVr/3Kv9gFbE=

Hello,

I have some questions regarding the use of collapse_edge on a surface_mesh.

*Why I need it*
I am implementing this
<http://visgraph.cse.ust.hk/projects/skeleton/skeleton_sig08.pdf> for
educational purposes. The part 5 of this paper is called connectivity
surgery and it simplifies a previously contracted 2D mesh (after the
contraction process the volume of the mesh is so small that the mesh is
considered to lay on a plane). This connectivity surgery is in fact a mesh
simplification process using edge collapsing until no faces are left. On
each iteration of this process an edge is chosen based on some cost function
and it gets collapsed. I am thinking of using CGAL's collapse_edge function
to make the collapse.

*My questions*
Since collapse_edge alters the connectivity of the mesh after each call to
collapse_edge I will need to call collect_garbage.
1. In the reference manual of collect_garbage it is stated: "By garbage
collecting elements get new indices. In case you store indices in an
auxiliary data structure or in a property these indices are potentially no
longer referring to the right elements.". *Will collect_garbage() alter
parts of the mesh that are not in the 1-ring area of the collapsed edge?
*This is important to me since if it doesn't I can just update the cost
matrix (the one that is used to choose which edge will be collapsed on the
next iteration) to match the changes in the mesh. Otherwise I will need to
update the whole cost matrix which will be computationally costly.

2. Do you think there are other problems in using CGAL::Euler::collapse_edge
on a CGAL::Surface_mesh?



--
Sent from: http://cgal-discuss.949826.n4.nabble.com/



Archive powered by MHonArc 2.6.18.

Top of Page