Spline geometry singularities


I am performing shape optimization with Netgen in C++ with the SplineSeg3 class and I am wondering if there is a way to elegantly determine the “singularities” of a geometry, i.e. the points where the spline geometry is not C1 continuous.

For instance, in a square domain as the one that I attach to my post, is there a straightforward way to identify the 4 corner points? Or do I need to identify them manually?

Right now, I use a “hack” where I check if the tangential direction to the spline geometry is the same at the left and at the right of a given geometry point but this is not really elegant nor straightforward.

Thank you for your help,


Attachment: square_netgen.in2d