Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Progressive Mesh

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Progressive Mesh


Chronological Thread 
  • From: Rob Patro <>
  • To:
  • Subject: Re: [cgal-discuss] Progressive Mesh
  • Date: Wed, 28 Jan 2009 20:02:39 -0500
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=nO0KgnwHqgnv9huH66M1SBIAf4sue7l3a6TAzOx014FBqxiTHC/RUR4Gua50X9j3JX iz7jK1MJddd2ncYRb06osOscRtw5lS6dO8+c4RvML/zVhV/NppulTzQPuroaJzW8VVGp RUKvkja8cvzgOZhNl89zrgzULafxYhuNgg2+o=

Fernando,

I think I may have hacked up some code that works; however it's
*incredibly slow* because it requires a linear search through the list
of vertices for each vertex split. Is there a quick way to go from an
id to a handle? It seems as if the edge_collapse utilized by the
surface simplification package discards/destructs the vertex which is
removed in the halfedge collapse. However, since the vertex which is
kept in one halfedge collapse may itself be merged in another, I need
some way to go back and forth between a stable identifier (id) and an
unstable one (handle). This might work if I used a polyhedron based on
a vector and just assured that the discarded vertices aren't actually
deconstructed. Is this possible?

Thanks,
Rob


Fernando Cacciola wrote:
> Rob,
>
>> Fernando,
>>
>> I see what you are suggesting. Very clever indeed! My only question
>> is on the ability to *throw away* M1. Since the decimation works on the
>> actual surface, with vertex and halfedge handles which point to the
>> actual surface, won't you lose M0 during the decimation process?
>
> Hmm, actually you are correct I'm afraid. There was a bell ringing loud
> as I was writting that but I kept ignoring it ;)
>
>> Is there a way to run the simplification forward and to collect
> handles (as
>> you did in your pseudo code) which reference the original, as opposed to
>> simplified, mesh?
>>
> I'm afraid this is getting complex :(
>
> You would have to operate on a copy of M0 to collect the steps, and then
> "animate" the decimation over the original M0. Unfortunately, AFAICT,
> the Polyhedron_3 doesn't have a copy operation, so you would have to
> construct two in the same way (say reading an off file twice or so) to
> end up with identical copies.
>
> Then the steps would have to denote the mesh elements by some stable id
> via some map from id to handle.
>
> HTH
>
> Fernando
>




Archive powered by MHonArc 2.6.16.

Top of Page