How to draw practically any poly from verts????

I split a mesh into 2, my object is all over the

What i would like to do is draw a polygon with
all the vertices on the split(-its a flat plane-).
The problem is my vertices doesnt go from point1
to p2,p3 etc,. I have to sort them somehow so
my poly looks correct. I think the problem also
would be with concave polygons.

The way im doing it now:

center 2d vertices around 0,0
calculate arctan
sort by angle

but if its concave im stuffed.

Anyone help me please!!!

When you do the split, the order of the vertices is given through the order of the faces in the original body. If you have connectivity information of the mesh stored i think it could be better done.
One thing that comes into mind is, find a face that intersects with a plane, find the next neighbor of the face that intersects the plane, find the next neighbor of the last one, but not the original face, and so on, which ultimately should lead you back to the original face, and that’s where the “loop” is closed. Mark all those faces as intersected, and find the next face that is not yet marked as intersected and intersects the plane.
Okay, but i must say that i didnt think through it thoroughly.