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: Bruno Manganelli <>
  • To:
  • Subject: Re: [cgal-discuss] Union of balls and self-intersecting mesh
  • Date: Thu, 25 Nov 2021 17:58:48 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23:7ChGCqqK479VtSrhnyoMc6unppJeBmJyZBIvgKrLsJaIsI5as4F+vjRKUDrXOP7cYjH3eIx1PNuy9U4D78PUzNFjSwU5/ysxZn8b8sCt6faxfh6hZXvKRiHgZBs6tJtGMoGowPjZ/xYwnz/1WlTahSQ6hf7gqobUUraeY3koH1I8Ek/NtDo68wIHqt4w6TSGK1jV0T/Ci5W31G6Ng1aYAEpMg06wgE8HUMDJhd8tlgdWicanE7PpvyJ94Jo3fcldJpZjK2VeNrbSq+3rlNlV8o5FlirBBO9Jkp6jGqELarvbPAzLk2YPHqb73UUEqSs13aI2cvEbbC+7iR3Tx4E3mIgL7MLoD152Y8Ugm8xFO/VcOytkIKtBvrrOJ3e24JG7wEjPcn+qyPJrZK0zFdNBoLonXj8mGfswcWhRNHhvndmey72yTqxgh98oMdLwFJgOv2lpizDfF/cvB57ZK5gmT/dMhGJqwJ9aRKOGIZINM283Kk6RMkRbYQJPTs8qw7KBmF3Udhl0qHa0rIwL+UztzSllieC4bp6KbrRmXu1Ql0ec43vapiH3W05HctOYzjWB/zSngeqnoM8yY6pKfJXQyxKgqAT7Kq0v5BwquZ+TpPC4jgunR4saJRVLp2whqq898EHtRd74N/F9iBZooTZEM+e80cVjgO1O9kYQywmcD2kACDVGbbTKcecoECcy2Abhc8zBXFRSXX78dZ5Z3riRpDK2fyMSKAfuoAdsoRQtu7HenW34sv4DohuP3kJ4Yh0Z1AwcGwy3kRU=
  • Ironport-hdrordr: A9a23:58oF6K6ICNVE3Ju9pAPXwN/XdLJyesId70hD6qm+c203TiX4rayTdZsgtCMc5Ax6ZJhko7C90de7LE80hKQb3WB5B97LNzUO+lHYSb2KhrGN/9SPIVydygck79YFT5RD
  • Ironport-phdr: A9a23:IEKOIR+ELa3hF/9uWSi7ngc9DxPPW53KNwIYoqAql6hJOvz6uci4ZQqCvb401AOBdL6YwsoMs/DRvaHkVD5Iyre6m1dGTqZxUQQYg94dhQ0qDZ3NI0T6KPn3c35yR5waBxdq8H6hLEdaBtv1aUHMrX2u9z4SHQj0ORZoKujvFYPekdm72/qy9pHPbAlEmSaxbLxvJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLnhykHODw5/m/ZicJ+kbxVrw66qhNl34LZepuYOOZicq7fe94RWGpPXtxWVyxEGo6xcpEPD/cHPeZfsoLzoEEBrR2xBQa2AuPg1DtIhnv33aYn1OkuChvG3BEmH9IJqnjUqc/6NKEdUe+vyKTFzS7Ob/xT2Tjn6YjIdgotru2LXbJ1aMfcz1QkGAzZgFuKs4PlIy+V2foXs2id9+dsS/6jhmEnpQxtrTaixcQhh4nVi48I1FzI6yt3zJs7K9C2RkN2YtCqHZVRui+UM4Z6Xs0vTnxqtSs0yLALt4O2cS4Xw5opwB7fbuaIc4mO4h/7W+aRICt4hHJ4eL2knRq97U+gyujkWsm11lZKtCtFncPWunADzRze7NWMRPhl/kq5xzqDywTe5vtHLE00j6bXNp8szqIqmpYOs0nOHin7k1jsgqCMbEUr4O2o5vznYrr4op+cMJd5igTkPaQvnsyzGP04MhQTU2SC9+Swyb/u8E3jTLVFif02labZsJTEKsgBuqG5BApV3p4i6xa5ETimzMwVkWcbIF9BYh6KjIjkN0vTLP35EfuzmUmgnTVryvzeO73uGJTNLnzNkLf7erZ97lZRxxEpzdBC4ZJUDasNIPfpVU/3u9zXFBs0PgyvzuboDdVyzIIeWWaVDqCFN6PStEeE5vgzLOmUeI8VpDH9JuA56P7hl3A5nUYRcrSo3ZsMdH+4A+9mI16CbHr3gtYBFH8KsRAkQOzrjl2CSz9TaGyoU6Iy/DFoQL+gFprJE4CxnKSajmD8BYxTfmkAC1aWEH6ueZ/DQOYJcCvVI8lvlXsPWrGlDoMgzhqzrxSp9rx8M+D05igc4JL/yMButaqUjgA37TUyDsKH0mjLQXszhXINXzZx3aZxpgt2xV6HlKR5mPdFDscA2vVSTw0GOI7AmuxmF8jpCEWGZcaMUF/gQ9O8ADh3QMh22M4Le086GtOsiVfI0COuRrMUjLeWH4dnzqWJ1Hf4I4Nxym3NybI6p1ggWMpGc2O81YBl8A2GLZTUlULRsq+seq0a0SrJ9S/Xx3CTukYeVQd2XqyUAFgQY0LXqZLy4UaUHOzmMqguLgYUkZ3KEaBNcNC81T2uod/sPd3fZyS6nGLiXX5gKZuDaYPrfyMW2yCPUSDscigW9HeCcBEiX2Kv+j2DSjNpEl3rbgXn9uws8BuG

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

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 <
> <mailto:>> 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 (
>     <mailto:> 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>
>      >
>
>     --
>     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
>

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





Archive powered by MHonArc 2.6.19+.

Top of Page