Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] polygon_soup_to_nef3

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] polygon_soup_to_nef3


Chronological Thread 
  • From:
  • To:
  • Subject: Re: [cgal-discuss] polygon_soup_to_nef3
  • Date: Fri, 27 Mar 2009 12:01:38 -0400 (EDT)
  • Importance: Normal

> Hi Fred,
>
> I would have provided such an interface if I a) had the time, b) it were
> less delicate.

I have the impression that the SNC and SM decoration interfaces aren't
really intended to be exposed to users, as they are not documented and not
"foolproofed". Is the idea that enough higher-level construction
interfaces will be made available that low-level construction would not be
necessary?

In my case (triangle soup), the spheremap for each vertex boils down to a
planar graph of segments, where each segment comes from a triangle
incident to that vertex. In order to correctly build the SM, I believe I
need to identify all the facial cycles in this graph, create sfaces for
them, and link up the neighbouring sedges correctly. Unfortunately, the SM
link methods are a little obscure.

Another approach would be to build the SM by using Nef2 itself - by
creating an nary_union of Nef_S2s where each Nef_S2 represents a single
segment. I'm not sure however if it's possible thereafter to extract the
resulting SM and "assign" it to an SNC vertex. Also, I don't know if I
should be worried about performance here.

Am I on the right track?

> Also you must not forget that nested shells demand the
> use of ray shooting to obtain
> the nesting structure.

It seems to me that shell structure is something that is computed for me
in build_external_structure(). Are you just warning that this is
computationally expensive? I'd venture to point out that it is done no
matter how you constructed the SNC.

Regards,
Fred




>
> Peter
>
> -----
> wrote: -----
>
> To:
>
> From:
>
> Date: 03/25/2009 09:52PM
> Subject: [cgal-discuss] polygon_soup_to_nef3
>
>
> There are a number of converters, or helper classes, that construct a
> valid Nef3 from various types of geometry. (shell_to_nef_3.h for shells,
> vertex_cycle_to_nef_3.h for polygons, polyhedron_3_to_nef_3.h for CGAL
> polyhedrons).
>
> I myself have written something very similar to polyhedron_3_to_nef_3 for
> converting my own manifold mesh representations into Nef polyhedrons. It
> is quite delicate and involves getting all the incidence references,
> indices and marks correct.
>
> Now I'm thinking of supporting a more general class of input, namely sets
> of vertices and sets of polygons as references to these vertices, where
> the polygons can only intersect along their edge. Any spaces enclosed by
> the input polygons would be marked with mark_bounded_volumes.
>
> This seems like a pretty obvious class of input geometry for constructing
> a Nef, hence the questions:
>
> a) Is there any plan to provide this out-of-the-box? Of course you can
> achieve this with a nary_union of individual polygons, but that's very
> expensive.
> b) Has anybody else done this?
> c) Can anybody foresee any problems I may run into here?
>
> Regards,
> Fred
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://lists-sop.inria.fr/wws/info/cgal-discuss
>
>





Archive powered by MHonArc 2.6.16.

Top of Page