Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Repair a self-intersecting triangle mesh

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Repair a self-intersecting triangle mesh


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] Repair a self-intersecting triangle mesh
  • Date: Wed, 19 Jul 2023 09:22:35 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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 IT+eYyIrIxXh6I8/QaMtkO5wC0kgQ4=
  • Ironport-hdrordr: A9a23:OuNg7qk2aj37dYgIxT8ef71AEM/pDfIP3DAbv31ZSRFFG/Fw5P re+sjzsiWE9Ar5OUtQ5OxoXZPrfZqyz+8W3WB8B8bYYOCighrTEGgA1/qG/9SDIVycygc178 4JGMhD4Z/LfCBHZK7BgTVQeOxQp+VvnprY/Ns2g00dKT2CqJsN0+66MGum+4FNKzWuzKBWKK ah
  • Ironport-phdr: A9a23:ulvSeRVGKvK7Fk2QrkRMu2749dfV8KwWXzF92vMcY1JmTK2v8tzYM VDF4r011RmVB9udt68P0rOL+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpV O5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxtJiTanbr5/L Bq6oRjMusQWnIBvNrs/xhzVr3VSZu9Y33loJVWdnxb94se/4ptu+DlOtvwi6sBNT7z0c7w3Q rJEAjsmNXs15NDwuhnYUQSP/HocXX4InRdOHgPI8Qv1Xpb1siv9q+p9xCyXNtD4QLwoRTiv6 bpgRRn1gykFKjE56nnahM9+gq1Urh2vugJxw4DUbo6XKPVwcbjQfc8YSGdbQspdSyJMD4G6Y oASD+QBJ+FYr4zlqlUTsxSxHhOjBPjzyj9JmHD227Ax3eImEQHc3QwgGM4Ou2nTodXuMKcSV vq1zKjPzTXfdf9W3DP95ZPHchAku/6MXLZwfdDNxkkoEgPIl1OdopHqMD2JzOoCqXSb7/Z+W uK1jW4qswJ8rDaxysovhYfEmJwZx1HZ+Clnz4s5OcC0RVJ7b9OlHpZdqS+XOop1T80tX21lu SY3xqMYtJC1cyUH1JAqywDZZveafYaI5RfjW/yQITd+nH9qZL2/iAy28US6ze38TMa03VBXp SRGitnBrm4B2wDX58SdSfZw/l2t1SiR2wzO8O1JIVw4mbLYJpMg2LI9lJsevV7dEiL4hkn6l rKae0Ur9+Wu9u/peK/ppoWGOI9xkgz+Mrohmsi4AekgNwgBRWmb+eCl2Lzt5031XaxGjvM2n 6XFqpzaKsMbpqm2Aw9RzIkv8QqwDzCj0NgAnHkHKkxKeA6fgoT3J13DJOr0APS/jli2jjtn2 e3KMqfhD5nRNnTDla3ufbd5605S0gozytVf6opPCrEFJ/LzQE7xtNvEDhMjNgy0x/3qCNp41 owEWGKPBrWVP7/VsV+N/u4vJfKDa5cPuDnhM/gl++LujXghlFMAZaWpx4cYaGikHvR6JEWUe WbjgtgbHmcOpwYxUe3qiEaeXj5OfHayRLkx5io7CYKjFYfMXJqhgL2H3CehH51ZfHpKCl6WE SSgS4LRUPgFbGeeI9RqjycffbmnUY4okx+05yHgzL8yFefe8zYEtJ/lnPxy/ezUiVlm7jhzF cWazyeIS0l7m2oJQ3k926Up8h818UuKzaUt268QLtdU/f4cCm/SVLbZxu1+UJXpXx7ZO8yOU BCgS8mnBjc4SpQwxcUPagBzAYbqlQjNigytBbJdjLmXHNos6KuJxHz2Pcd61zDD0IEuilAnR o1EMmj1zrVn+V3rDpXS216ci77scK0d2CDX82LW1m6JpkBfTEh1VY3KWHkeYg3dqtGqrljaQ eqIDrIqehBE1dbEKqZObYjxik5aQf74JNnES2e4mmP1GgzRg73RNMzlfGIS2CibA08B++wK1 VCBMwV2RiKoomaFSSdrCUqqeET0t+93tHK8SEYwiQCMdUxokbSvqFYTgrSHRvUf06hh2m9po ihoHFu7w9PdCsaR7wtncqJGZNoh4VBBnWvHvg15N5akIuhsnFkbOwhwukrv0V1wBOAi2YAxq HQwzQ1ub6ec+FxEfjKcm5v3P/yfK2X/+gyud7+DwkvXg56d/qYC7uh9qk225ln4UBp/tS89i p8Iiyj5hN2CFgcZXJPvX1xi8hF7o+qfeSwh/8bP0mUqN6CoszjE0tZvBe0/yx/mcc0MVcHMX AL0DcAeANCjbeIwnF38JAkAO/pT87JyOseOeP6P2artN+Fl1mHD7ywP8MVm30SA+jApAPXM2 IwExO3e2w+vWDL1jVPnucfy09MhB3laDi+0zi7qA5RUb6t5cNMQCGugFMaww813m5/nX3MwG EeLP1odw4fpfBOTawe4xghMzQEMpmThnyKkzjtymjVvr6yF3SWIzf6wPBYAP2dKQiFlgzKOa cCvi9cAXU+0KQ0tvBSg7Ef+gaNcoexzInLSTkFBYyXtZzs6A+3g6/zYOZcJtctguD4fSOmmZ FGGVrPxxnlSmzjuGWdT3nFzdj2nvIn4gw0vjWucKHhpq3+KMcp0xBrZ+JndXasLhmtAFHQ+0 2OOQAXkbLzLtZ2OmpzOs/6zTTekX5xXKmzwyJ+Y8TC8/StsCAG+mPa6npvmFxI72Gn1zYoPN 22AoRDib43sz6n/P/hgexwiH1v78ct9Bsd7lqM/gZgR3T4RgZDfrh9l2S/jdM5W367zdi9HX joM2d/S/E7g3GVsK3uIw8TyUXDXka4DL5GqJ2gR3Cw69cVDDqyZuadFkSVCqV29tQvNYPJ5k 2RV2b405XUdme1MpBs1w3DXHOUJBUcBd3+J9VzA/5Wkoa5QfmrqbbWgyB80g4W6FL/b6gBEB CSiJ9F7THc2tJkgdgqLiiG765m4KoeMK4hI7VvNzU+G168MefdT3rILnXY1Zzy75CV/jbZ91 Vs0hdm7pNTVdTsrpv7oRE4AcGWyPZtb+ymx3/kE2J/Kmdn+RNM5XWxbOfmgBfOwTGBN6bK+b VvISHtk7S7FUbvHQV3GsBcg9i2QVcDtbzbNfTEY1YkwHUbGYhUO3EZMGm19x8BcdEjixdS9I h0ht3ZBuxih8EsKkqUxaFH+SjuN/l72LGpkDsHOdlwOqVgTr0bNbZ7Et7w1RXoJuMb76lTKc z3+BUwAG2gNXgbs60nLGL6o6JGA9uGZArH7NP7SefCVrvQYUf6UxJWp248g/jCWN8zJMGMwR /s8klFOW3x0AaG7030GVjAXmiTRbsWauAb0+yt5qdq6+ejqXwSn7JWGCr9bO9Fisx6shqLLO +mVjSd/YTFWs/FEjWfP06Qa1UUOhjtGcjCsFfEfr3eIQv+I3KBQCBEfZmV4M84Jp6Mw0w9RO NLK39P40rkr65x9Q1xBVFHnhoSofZlQezD7ZA6BXhzScunedlipi4ntbKixSKNdlrBRvhy04 nOAFlP7ey+Ej3/vXgyuNudFiGeaOgZfscezaEUIayCrQdT4Zxm8KNIygycxxOh+nXfNL28bL X55d2tCq7SR6WVThfA1SAkjpjJ1aPKJnSqU9bySMpENrf5iGTh5jcpf6XU+jqRPtWRKGaQzl yzVodpj5Vqhl6Pcr1gvGAoLoTFNioWRuExkMqiM7ZhMV0HP+xcV5HmRARAHzzOKItLqsqFUj NPIkfCqQN+j29fd/M9ZGNKNbczaaDwuNh3mHDOSBwwAH2bD3YT3iElUkfXU/XqQ/MBSlw==
  • Ironport-sdr: 64b78f3c_vk1dNOMrVu1HdtJqnX41ygkdDB+LLo3pm4Rco7JlBYAjFkF 8IQAFXFOdie35ExI7jAiYDkRwYSP0vANJNWFiCA==

Could you share the mesh?

Best,

Sebastien.

On 7/19/23 09:15, Giles Puckett wrote:
Thanks Sebastien,

Unfortunately remove_self_intersections returns false (and the mesh is unchanged, still returning the same self intersections as before). This is with CGAL 5.5.1, if anything has changed since.

G.

On 19/07/2023 3:54 pm, Sebastien Loriot ( via cgal-discuss Mailing List) wrote:
Hello,

you can try CGAL::Polygon_mesh_processing::experimental::remove_self_intersections()
provided by CGAL/Polygon_mesh_processing/repair_self_intersections.h.

If you only have local self-intersection, it usually works very well.

For listing all intersecting triangles use `self_intersection()`
https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__intersection__grp.html#ga6c5bed399d14ddbba820ce50d3145712

HTH,

Sebastien.

On 7/19/23 07:04, Giles Puckett wrote:
Hello all,
I have a triangle mesh that contains self-intersections (PMP::does_self_intersect returns true) but it is otherwise manifold. Is there an easy way to repair these meshes?

If not, would it work to enumerate all the self-intersecting triangles, delete them from the mesh, and fill the holes left behind? Is there a good way to do this, or would some other method work better?

I suspect that the affected area is very small, so gross physical distortion is unlikely to result.







Archive powered by MHonArc 2.6.19+.

Top of Page