make_mesh_3 results in non-manifold edges in surface mesh

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

make_mesh_3 results in non-manifold edges in surface mesh

Patrick-2
Hi,

I've been using CGAL to mesh (approximations to) fattened gyroid surfaces, confined to a box from an implicit function. Attached is a simple example code. Unfortunately, this results in a surface mesh containing a non-manifold edge (with 4 faces attached to it). this problem seems to persist in the tet mesh that was generated (I wrote a little program to recalculate its surface mesh). Am I making some silly mistake here? Is there any way to fix it?

Thanks,
Patrick

3d_make_mesh.cpp (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make_mesh_3 results in non-manifold edges in surface mesh

Laurent Rineau (CGAL/GeometryFactory)

Le Sunday, November 20, 2016 7:35:56 PM CET Patrick a écrit :

> Hi,

>

> I've been using CGAL to mesh (approximations to) fattened gyroid surfaces,

> confined to a box from an implicit function. Attached is a simple example

> code. Unfortunately, this results in a surface mesh containing a

> non-manifold edge (with 4 faces attached to it). this problem seems to

> persist in the tet mesh that was generated (I wrote a little program to

> recalculate its surface mesh). Am I making some silly mistake here? Is

> there any way to fix it?

 

There is an undocumented parameter that you may want to try... Add `facet_topology=CGAL::MANIFOLD,` in the parameters of `Mesh_criteria_3`, to enforce the manifoldness of the output. However, if mesh domain has not a manifold surface, the execution may loop and eventually crash. Use it carefully.

 

--

Laurent Rineau, PhD

R&D Engineer at GeometryFactory http://www.geometryfactory.com/

Release Manager of the CGAL Project http://www.cgal.org/

 

Reply | Threaded
Open this post in threaded view
|

Re: make_mesh_3 results in non-manifold edges in surface mesh

Patrick-2


On Mon, Nov 21, 2016 at 11:57 AM, Laurent Rineau (CGAL/GeometryFactory) <[hidden email]> wrote: 

There is an undocumented parameter that you may want to try... Add `facet_topology=CGAL::MANIFOLD,` in the parameters of `Mesh_criteria_3`, to enforce the manifoldness of the output. However, if mesh domain has not a manifold surface, the execution may loop and eventually crash. Use it carefully.

 

--

Laurent Rineau, PhD

R&D Engineer at GeometryFactory http://www.geometryfactory.com/

Release Manager of the CGAL Project http://www.cgal.org/


Thanks for the advice, however, it seems that the non-manifoldness of the surface mesh is introduced somewhere in the optimization steps. Adding the manifold-parameter alone didn't help, but adding it together with "no_lloyd(), no_odt(), no_perturb(), no_exude()" produced a proper manifold mesh. Just exude alone also seems to be fine, still.

Best,
Patrick


Reply | Threaded
Open this post in threaded view
|

Re: make_mesh_3 results in non-manifold edges in surface mesh

aleph
Dear all,

I observed that: lloyd() and odt() introduces non-manifold edges, however perturb() and exude() worked fine for me when CGAL::MANIFOLD is used.

I notice also that the mesher tend to have issues with intel TBB when CGAL::MANIFOLD is used.

Best,
Adrien
Reply | Threaded
Open this post in threaded view
|

Re: make_mesh_3 results in non-manifold edges in surface mesh

Laurent Rineau (CGAL/GeometryFactory)
Le Wednesday, January 11, 2017 2:20:02 PM CET aleph a ?crit :
> Dear all,
>
> I observed that: lloyd() and odt() introduces non-manifold edges, however
> perturb() and exude() worked fine for me when CGAL::MANIFOLD is used.

That's true. Both Lloyd and ODT optimiser are global optimizers, that do not
check the topology of the resulting surface.

> I notice also that the mesher tend to have issues with intel TBB when
> CGAL::MANIFOLD is used.

Indeed. That is a known issue, and the main reason we have not yet
officialized the MANIFOLD option.

--
Laurent Rineau, PhD
R&D Engineer at GeometryFactory           http://www.geometryfactory.com/
Release Manager of the CGAL Project       http://www.cgal.org/


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss