Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Union of balls and self-intersecting mesh

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Union of balls and self-intersecting mesh


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] Union of balls and self-intersecting mesh
  • Date: Thu, 2 Dec 2021 17:52:20 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23:h0nnuqkz+M9nzIzP0ISQDqXo5gzsJ0RdPkR7XQ2eYbTBsI5bpzAPyGJNCzqDOf3fYjeheYgiat628R4G7JSDm94ySFQ+3Hw8FHgiRejtVY3IdB+oV8+xBpSeFxw/t512huEtnanYd1eEzvuWGuWn/SYUOZ2gHOKmUbeeYnopH2eIdQ944f5ds75h6mJXqYPha++9kYuaT/z3YDdJ6RYsWo4nw/7rRCdUgRjHkGhwUmrSyhx8lAS2e3E9VPrzLEwqRpfyatE88uWSH44vwFwll1418SvBCvv9+lr6WkgDQ7qXIhLXz3QKBO6thR9NoiF02aE+XBYeQR0P2nPZwpYrkowL6cPYpQQBZsUgnMwGVx5CEiZie6hC0LDCKHm798eUyiUqdlOzkqU0XRtmVWEf0r8vXTsmGeYjADsCZxTGi+Oty6+gUcF3l8E7JY/qOpkeszdu11nk4VwOVciWGeOV8YYNhHFokpobRbCENptAfWE6NFKdd0IaE0kzI5casOeMp3DZTyd8llOwsfNvtjaXkxgZPKPFNdPUfpmVX5wQkBrH4G3B+Gv9D1cRM9n39NZMyVr07senoM8xcNl6+HyEGv9WbJm7w2USDFgJTwL+r6XmzEG5XN1bJgof/S9GQW0anKC0ZoGVYvF6iCfsUt0gtx54HOgz6QXLwa3Ri+pcLnZRVSZPMbTKq+dvLQHHFTa1cxfBCjlmsbnTQnWYnltRhVteJgBNRVI/ieQ4ocfpLjUtTEzfTv4Cczq7LJOIsw==
  • Ironport-hdrordr: A9a23:d7BayaBFGDDGKp/lHemP55DYdb4zR+YMi2TDpHoBNCC9Ffbo6/xG/c5rryMc7Qx6ZJhOo6HnBEDtewK5yXcx2/hrAV7AZnifhILLFvAE0WKK+VSJcE3DH6xmpMJdmsBFaeEYZmIK7voSjjPIcerIjOP3iZxARt2z856ud2xXgm1bgDuRwzz0LnFL
  • Ironport-phdr: A9a23:GaWYSBD4s4tjSCmqAakWUyQUNUQY04WdBeb1wqQuh78GSKm/5ZOqZBWZua80ygGUFtSBo9t/yMPu+5j6XmIB5ZvT+FsjS7drEyE/tMMNggY7C9SEA0CoZNTjbig9AdgQHAQ9pyLzPkdaAtvxaEPPqXOu8zESBg//NQ1oLejpB4Lelcu62/6v95HJYghFhDWxbLdsIB6rsQjfq84ajJd4JK0s0BXJuHxIe+pXxWNsO12emgv369mz8pB+7Sleouot+MFcX6r0eaQ4VqFYAy89M28p/s3rtALMQhWJ63ABT2gZiBtIAwzC7BHnQpf8tzbxu+Rh1CWGO8D9ULY5Uimg4ah2Uh/lkDoJOSA38G/XicJ+gqxUrx2jqBNjzIDZe52VOflkc6/BYd8XS2hMU8BMXCJBGIO8aI4PAvIcM+lGtIbyvUAOrQe/BQayAuPk1zlGhnjs3a071OQhDRzN0Qs7H9IKt3TUttT1NKAOUeyvyanIyS7Ob/xT2Tjn6YjIdgotru2LXbJ1aMfcz1QkGAzZgFuKs4PlIy+V2foXs2id9+dsS/+ihm86pw9+vDSj28cihpfXiowVyF3K+jl1zYc2KNGmR0N2Y8OoHZ9QuSyEM4Z7XsMsTm5ptSomxLMLpYK3cS4Xw5opwB7fbuaIc4mO4h/7W+aRICt4hHJ4eL2knRq97U+gyujkWsm11lZKtCtFncPWunADzRze7NWMRPhl/kq5xzqDywTe5vtHLE00j6bXNYAtzqMqmpccs0nPBiz7lUbsgKOIa0kp/vKk5/r5brn4vJOQKox5hh/4P68zgMKwG/44PRILX2WD+eSzyrnj/UrhTbVPlPI2k63ZvInUJMQBu6K1GgFV34kh5hqlADem19MYnXYDLF1bYh6Ik4/pO1TWLPD5C/ewnUisnS91y/zaOrDtGJbAI3jZnLv/Y7px9lRQxQUxwNxH4pJbELABIPb9Wk/rs9zYCwc0Mxeww+bgEtV914QeWX6VDq+cNKPfqlCI5uc1LOmNYI8ZoiryK/8g5/L2l382hUcdfbW13ZsQcH23AvtmLF+dYXb1n9gBEHwKsRYjTOzxk12PSiVTZna3X6Ik/D43EoOmDYHZRoCsmrONxim7HocFLl1AEU2GRHf0a52fCbBLczOXOsYnkzoeVLHnRZVmzgCrrAa9yrxpKa3f9SQc8J7iz9No/PaAqBcp6DZIAtSBhmGRU3lvzCRPXC4zxKk5oEpny17F37I/mO1dDdUU5vVHVUAxOpfYiuB7ENvvQRmSQtDcQ1mvRpCqACo6U8kq694IeUd0Xdu43T7Z2C//OLIfnqeXBZEyuobbxXn2O44p0HLBzqgmkx8jRuNAMGSnguh08A2FVN2BqFmQi6v/LfdU5yXK7mrWlQJmXWldWQ90FLrfBDUROhSQotP+6UfPCbSpDOZ/WuOk4cGHI6pOLNbuiAceLB8MENvbamO13Wy3AETRro4=

The best workaround I could advise is to perturb the input point.

Postprocessing the mesh requires removing degenerate faces first
(PMP::remove_degenerate_faces()) before calling the other function.

Best,

Sebastien.

On 11/25/21 6:58 PM, Bruno Manganelli ( via cgal-discuss Mailing List) wrote:
Hi Sebastien,

Glad you could reproduce the issue. Do you have any suggestions for workarounds for the time being?
I tried using PMP::experimental::autorefine_and_remove_self_intersections but I get an assertion violation.

Thanks,
Bruno

On Wed, Nov 24, 2021 at 8:26 AM Sebastien Loriot < <>> wrote:

Thanks I could reproduce the issue.
So it turns out that this function does not use the mesher but a
dedicated code.

As it is based on the dual of the Delaunay triangulation and that your
points are on a grid, I suspect that the dedicated code does not handle
correctly degenerate cases. To check that, I added some noise to the
input points and that removed the self-intersecting faces (mostly
because of degenerate faces).

I opened the following issue to track the patching:
https://github.com/CGAL/cgal/issues/6147
<https://github.com/CGAL/cgal/issues/6147>

Best,

Sebastien.

On 11/23/21 8:55 PM, Bruno Manganelli (
<> via
cgal-discuss Mailing List) wrote:
> Here is a somewhat minimal example.
> Hope it's good enough!
> Bruno
>
>
> On Tue, Nov 23, 2021 at 5:55 PM Sebastien Loriot
< <>
> < <>>> wrote:
>
>     It should not happen. IIRC, it is the output from the
Surface_mesher
>     so it should be clean.
>     Would you have a minimal example showing the problem?
>
>     Best,
>
>     Sebastien.
>
>     On 11/23/21 6:44 PM, Bruno Manganelli
( <>
>     <
<>> via
>     cgal-discuss Mailing List) wrote:
>      > Hi,
>      >
>      > I am using the Union_of_balls_3 class and
the mesh_union_of_balls_3
>      > function.
>      > However, in certain scenarios, the resulting mesh contains
>      > self-intersections (PMP::does_self_intersect(mesh) returns
true).
>      > Is this expected?
>      > I can provide an example if required.
>      >
>      > Thanks!
>      > Bruno
>      >
>      > --
>      > You are currently subscribed to cgal-discuss.
>      > To unsubscribe or access the archives, go to
>      > https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>
>     <https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>>
>      >
>
>     --
>     You are currently subscribed to cgal-discuss.
>     To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>
>     <https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>>
>
>
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>
>

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



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



  • Re: [cgal-discuss] Union of balls and self-intersecting mesh, Sebastien Loriot, 12/02/2021

Archive powered by MHonArc 2.6.19+.

Top of Page