Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Repair a self-intersecting triangle mesh
- Date: Wed, 19 Jul 2023 07:54:08 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:8Fb35qigpIOqxOmGM0U3BQkuX161rRQKZh0ujC45NGQN5FlHY01je htvWGmGM67fYGTzfYp+aIWzoE0HuMSAn4cxSlRk/CwzHyxjpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UqieUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tqaT/f3YTdJ4BYqdDpNg06/gEk35q+q52pJ5gVWic1j5TcyqVFFVPrzGonqdxMUcqEMdsamS uDKyq2O/2+x13/B3fv4+lpTWhRiro/6ZWBiuFIOM0SRqkQqShgJ70oOHKF0hXG7JNm+t4sZJ N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGFlwaILIjxLxLPk5g0 N4RDjYvTgu6iLfjqF67YrEEasULKcDqOMYAvyglw22DS/khRp/HTuPB4towMDUY3JgfW6aDI ZNDOXwzNnwsYDUXUrsTIIk6m/2pgWW5djlwp1ecpK5x6G/WpOB0+OG0YIKFIYHaG625mG6Bq HnlrmilBio1H8al2wDb6nG9oMjAyHaTtIU6TeXkrJaGmma7zWMaDFgaVECwvOKiolWvXspWb U0S4Csn66YonHFHVfH4Vhy85WGB51sSB4AWHOo95wWAjKHT5m51G1ToUBZbdfA7i/QIHwAV+ XGsvdrPAx5Pq4SaHCf1GqivkRu+Pi0cLGknbCACTBcY79SLnG3VpkKeJjqEOP7l5uAZCQ0c0 BjR83dj3+R7YdojkvTkrQqe0lpAs7CQFlZtjjg7SF5J+e+QWWJIT4mh6Fye8vMZaYjFFB+Ou 38Ln8XY5+cLZX1sqMBvaLVQdF1Kz6zdWNE5vbKJN8d6n9hK0yD/Fb28GBkkeC9U3j8sIFcFm nP7twJL/4N0N3C3d6JxaI/ZI510nfm/TYm9DaiLMYAmjn1NmOmvrHAGiam4jzCFraTQufxX1 WqzK5bxUypEV8yLMhLvG7ZNi9fHORzSNUuKHcyhp/hW+bWZY3GRRN843KimP4gEAFe/iFyNq b53bpPUoz0GCbGWSneMquY7cwtVRUXX8Lit96S7gMbYf1I6cIzgYteNqY4cl3tNz/8Jz7qXr yjVt40x4AOXuEAr4D6iMhhLAI4Dl74mxZ7iFX13ZQSbyDI4bJyx7awSUZIycPN1vKZg1PN4B b1NMcmJHv0FGHyN9iU/fKvNitVoVC2qogaSYAujQjw0JKB7SyLzp9TLQwrI9Qs1NBSRi/cQm bOa617kccIxfDg6VMfyQ9Cz/my1pkkYyb5TXVOXA9x9e3fM0YlNKg73hMAZO8sndBfJnGOb8 y20Ah4og/bHjKFo0dvOhIGC95yIFcknFGVkPmDr15SEHgiEwXiCmKhrT/StUQ3Gcl/N6IGOR Llw3u7tFv8qh3NIuNdMKKlqxqcA+Nffnb9W4QB6FnHtbV7wKLdfDlSZ/MtIpItf76R4vFaoZ 0ex5dVqA7WFF8f7Glo3JgB+TOCi1+kRqwbC/8YOP0T2yy9mzoWpCXwIEUG3txVcC79pPKcO4 +Qr4pcW4jPirCsaCI+NiyQM+lmcKnAFbb4ciagbJ43V2y4L0VBJZKLOBhDmuK+vb8p+CWh0A zu2qpebuZFi6BvjSUcjLVnMwutXuroWsj9o0lIpBgqEi/jFtNANzTxT9jU9cSpNxD4eiOhPF 3RZNXRkAaCC4T0yiNNxZD2uEVsZBTmy2E/4+30WnkL3EmiqUW3sKjUmGOCvpUo2zUNVTgJ5z pq5lln3dCnMfd7g+BcyVWpOie3RffYo+iLswMmYTtm4Rb8kaj/bs4qSTGsvqSq/J/guhUfC9 NJYzMwpZYLVbScv8rAGUa+E3rEtSTeBFmxIYddl2IgrRWj8WjWD6QKiGnCLWPFmBqL1qBejK slUOMhweQy013+OohAlFKc8GeJIs8Bz1uUSWIHABDAgg+OEoytLoaDg0HH0pFUWTuVElec/L YLsdAy+LFGAuEsMm0LwqJhrB2npR/gFewz2486t+sorCZ8okb9hYGMy4JSOrlSXNwpVpUuUt Tzcep6MnvBDyJttraToAK5sFwW5EvKtdeWqoSSYkcVCUsPLCujK7zgqk1jAOx9HG4ceQPFlv O2pnOOv+XjarZEadnv8maiRM4VovuKMBPF2NODzJ1lkxRqyYtfmuUY/yjrpOK53n8N4zej5Y hmzd++bV8MfAvVZz11rMxluKQ4XUfnLX/2xtBGGjqq+DzYG2lb6N/Khz3jiaF9begIuO5HTD gzVue6k1utHrbZjVQM1OPV7P6BWeFPTe7MqV9nUhwmqCmOFhlCjuLy7myR5uHuPQjOBHd3h6 J3IegnmeV7g8OvUxdVeqMppsgdREH95hvIqc1kA/8JtzQq3F3MCMf9XJKBu5ku4ScAu/MqQi PDxgGoe5eHVWD1FdVDj5Y2mUFvFQOMJPdj9K3oi+Eb8h+Jawm+fKOMJy8uiyy4elvjfICWPJ tQX+3m2NR+0qn2sbfhG/eS12I+L2duDrk/lOinBfwjaDBMXALFM33tkdOaIueorDOmV/Hj2y aMJqayoja11pYMd0SqtRpKNJCwkgQ==
- Ironport-hdrordr: A9a23:Wficx6Czksz/iNblHemP55DYdb4zR+YMi2TDpHoBMSC9Ffbo6/ xG/c5rqCMc7Qx6ZJhOo6HjBEDtewKmyXcx2/hqAV7AZniChILLFvAA0WKK+VSJcE3DH6xmpN 5dmsBFaeEYZmIK6voSjjPIderIjOP3lJxARt2z856ud2xXgm1bgDuRwzz0LnFL
- Ironport-phdr: A9a23:Y8FvaBxV0iiazBfXCzI4wFBlVkEcU1XcAAcZ59Idhq5Udez7ptK+Z hKZuagm3QCBdL6YwsoMs/DRvaHkVD5Iyre6m1dGTqZxUQQYg94dhQ0qDZ3NI0T6KPn3c35yR 5waBxdq8H6hLEdaBtv1aUHMrX2u9z4SHQj0ORZoKujvFYPekcW62/q99pDTbAlFgDiwaq5uI RurqgncqtMYipZ4JKYrzRvJrHpIe+BIym5tOFmegRXy6Nqu8ZB66yhftO4v+MBGUaXhYqQ3V qdYAyg8M2A0/8Lkqx/ORhaS63QGU2UWlh1IAxXZ7Bz/Q5z8vDf2uvZ71SKHO8D9ULI6Vim47 6pzSxHmhigIODAk/m/JhMx+jKBUrw6uqRFk347ZYpuYOOZicq7Tf94XQ3dKUMZLVyxGB4Oxd 5YBAPQaMulCtIn9u1oOogW4BQKxAu3vzSVIhn7x3a0mzu8sFhrG3AgnH9IUsXTUq8n1OL0XU eCx16TIwjDDYOlX2Tf58oTHbhchofSVUL92bMHexlUhGRnfgVWMtYzqISmV1uIVvmWY4eRsS +GihWE5pg1vozWi29kgh4bVio4I1l3K9SR0zYgrKNC2SUN2YtGqHIdRuiyaKYd7XM0sTm50t Ss+1LELv4OwciYNyJQi3RHfavqHfpCU7RLsTumRJS10hHV/eLKwgRu57EuuyvXkW8WqzFpHq jBJn9rMu3wXyhDf9MuKRuFy80u/wTqC1AHe5vtGLE01j6bXNZAszqAqmpYOsUnOESn7k1jsg qCMbEUr4O2o5vznYrr4op+cMJd5igTkPaQvnsyzGOo5Mg0TU2SC9+Sx26Pv8Vf2QLVNif02n a3Zv47AKcsHoa65BhdZ0ocl6xmhEzeryMoUkWUDIV5fex+Kj5LlN0zQLP37F/uyjEqgnC9ux //cP73hBpvNLmLEkLfkZbt98EpcyA0pzdBe4JJUFqsNIPf3WkLqu9zYCwU2Mw2ww+r9FNp90 YYeVXqJAqCCKKzSq0OH5vozI+mQY48YoCvxJ+A/5/HylX85hUMdfa6x0JQLZ3C3BPBmL1yEb nrtmdcODXoKvhElTOHxk12DUTtTZ26oUK4m5zE7DpimDYbZSYy3jryBxnTzIpoDbW9PDhWAE Gzjap6fc/YKciObZMF7wRIeUr30cIIr3AqytQL8g55gNOvT5mVMrpbkztly+6vWkTk98DV1C 4KW1GTbHDI8pX8BWzJjhPM3mkd60FrWicCQ4tRdHN1XvbZSVxsicITbxKp8AszzXQTIepGIT kynS5OoG2J5Vco/lvkJZUs1ANC+llbbxSP/GLsSjb2MGNox9orT2nHwI4B2zHOVnLI5gQweS 9BUfXajmrY58gHSA4DTlEDMjKKtb6UbwGjI8E+MyGOPuAdTVwsjGb7dUyU5YU3b5c/8+luET 7KqDuE/NRBdzMeZNqZQQtjgjFEDW/K6fdqCOSS+nGC/ARvOzbSJBGbzU0Ma2iiVSE0NkgRJu G2DKRB7HCCq5WTXED1pE1vrJULq6+h37n2hHAcyyEmRYktt2qDQmFZdjOGAS/4VwrMPuTsw4 zRyElGn2tvKCt2G7wN/daRYaNk57R9Jz2Xc/wB6O5WhKehliDt8O0xsu0T01hJrTIBEuccvp XIuigF1LOPQ0V9McS+ZwYGlIqfeeSH5+BGibbKT20mLio7HvPdSrq1i+xO/5lLMdAJq6Xhs3 thL3mHJ45zLCFBXSpftSgMt8BM8objGYy477oeS1Ht2MKDyvCWRvrBhTOYj1BukeM9Sda2eE wqnWdYeANKvL/BsnlyBYRcNPeQU/6kxdZDDFbPOyOuwMeBskSjzx39D55p81V7K8i5URevB3 pJDyPadlFjiNX+0nBKqtcb5nppBbDcZEz+kyCTqM4VWY7V7YYcBDWrGz9Sf/txlnNatXndZ8 ATmHFYawIqzfhHUaVXh3ApW3EBRoHq9mCL+wSYm2z0uq6Oe2mTJzYGAPFIcPmlRRW5+y1LoC YexhtEeGkOvakAlmQCk6kDz26VA7P4nfi+DHAERJXiwczsqW7D4rreYZs9T9J4k1EcfGP+xZ 1yXUP+1ohcX1T/iA3oLwTk6cz+wvZCq1xd+iW+bMDNytC+DIZA2lUqZvYaMA6ILjV9kDGFih DLaB0axJYys9NSQzdLYt/ymEnimXdtVeDXqyoWJsG2643drCFuxhaPW+JWvHA4k3Cv8z9QvW z/PqUO2eY3szaW9LaRiemFnAVb974xxHYQ0we5SzNkAnGMXgJmY5y9NimP0K9RcxeT7aFICQ DcKx5je5w2viygBZjqZgon+UHua2M5oYdK3N3gX1iwK5MdPEK6I7bZAkHg9sh+ioAnWe/Q4g iYFxK5k9isBm+9Q8llIrG3VEvUIEEJfJyCpixmY84X0svBMfGj2ObmoiBglwJb4XenE+F0DH i6+IMtqHDcsvJsjdgiXizuqtNmiIJ6JPLdx/lWVi0uS0bYTccpr0KJM3W09YSr8pSF3lbB91 0A/m8Hi+tDAcT0l/brlUEECcGSpIZpCoHe1yv8O+6Tel4G3Qsc+RnNSBsauFbTwV2tM/fX/a 1TXSG168yjEX+qZRUjFsQ9nty6dSs/wcSjGeD9Bi40lHUf4RgQXgRhIDm9iz9hpS0bznpynK AAguXgQ/gKq8EISjL84cUCuCCGH4175IjYsFMrFdUQQtFoToRyPd5TZt7MWfWkQ6JSlqEblx nWzQQNOAClJX0WFAwqmJbyy/Zza9OPeAOOiLvzIaLHIqOpEVv7Oy4j9mo1hty2BMMmCJBwAR 7Uyx1ZDUHZlGs/YhyRHSioZkDjIZtKaoxH08zN+r8S2+vDmEAz14o7HB7xXONRpsxe45MXLf /aXnzp8IC1E24kkwHbJzP0A2QdXhX00MTaqFrsEuGjGS6eR0q5bAhgHaj9iYctF66Vvu2sFc cXfi97zyvt5lqtvUwYDBQGnw5v5I5BQcATffBvdCU2GNaqLP2jOysDzO+anTKFIyf9TvFu2s CqaFEnqOnKCkSPoXlahK7Ip7mnTMRpAtYW6ahsoB3LkSYescRm8Kt5wkXszxZU7g3rLMSgXN j02ICYv5vWAqDhVhPlyATkL9n1+MeyNgDqU9cHdI5cS9ORuW2F6y7gc73M9xL9YqipDQbYm/ Uma5s4rqFagnO6VzzNhWxcbsTdHirWAukB6MLnY/J1NMZ4h1B0I5GSUTR8Nook9YjUAk69Vw 9nL0qn0LWUbmzo11c4VBsyRN8fedXR9a1zmHznbCAZDRjmuZzm3ug==
- Ironport-sdr: 64b77a82_9oAnY9ck7sAgoadmWDqqYW1dCmkKui9Mee9r+oyVRz8uLwr IpUWbwI5hLuebTJnWahVF79QcFpZy59dedv3E3g==
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.
- [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Sebastien Loriot, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Sebastien Loriot, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Bruno Levy, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Sebastien Loriot, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Sebastien Loriot, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Giles Puckett, 07/19/2023
- Re: [cgal-discuss] Repair a self-intersecting triangle mesh, Sebastien Loriot, 07/19/2023
Archive powered by MHonArc 2.6.19+.