Skip to Content.
Sympa Menu

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

Subject: CGAL users discussion list

List archive

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


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] CGAL::Euler::collapse_edge use on CGAL::Surface_mesh
  • Date: Wed, 6 Sep 2017 15:37:44 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:0gVU3xOzHRwWAC3qAFUl6mtUPXoX/o7sNwtQ0KIMzox0K/T/rarrMEGX3/hxlliBBdydsK0UzbeO+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6a8TWO6msZFRz7cAZ0Pe/oAZX6jsKt1un09YeATR9PgW/3Wr54JQ6qrAjX/u0Rm4plNu5x5RbOp3ZUYfV4zGh0IkiC3ly0sty0+4Ri9DgWvvYJ+MtJUKG8dKM9G+8LRA86Onw4sZW4/SLIShGCsyMR
  • Organization: GeometryFactory

On 09/06/2017 03:32 PM, Iasonm wrote:
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?

Why do you want to call collect_garbage() at each step? Actually it is
not need. You can work with your mesh without calling it and simply call
garbage_collect() if you want to free some space.

Sebastien.



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





Archive powered by MHonArc 2.6.18.

Top of Page