Same Plane Mesh Optimization

I am currently working with a large deformable mesh environment. And would like to greatly simplify my mesh, without any loss. Here is what I have come up with.

Since I have ALOT of polys that reside next to one another on the same plane, I simply sorted all my triangles accourding to the plane they were on (thus making things 2D), then looked for shared lines of the polys, removed them and added the resulting new poly to a “form” then depending on if the new “form” was concave or convex, I broke the poly up into triangles, but MUCH larger triangles and MUCH fewer than before. Only problem is I am having LOTS of trouble attempting to manage any holes that may be within the forms.

Does anyone know of a Library, or algorithm, that will take a series of triangle indecies to a list of basicaly 2D points, and give me a revized list, of only the fewest largest (non destructive) polys?

Never mind, I think I have found the error in my method. But thanx for anyone was thinking about it. If it works, Ill keep ya posted.