I require a utility that will go through each quad in a mesh, and potentially change the order of the points based on custom criteria, which will essentially change how the quad is triangulated. It is for optimizing a low polygon mesh to favor quads such that the surface looks as smooth and round as possible. So it will always favor a convex surface rather than concave. I have done this in a custom solution using OBJ files, but I would like to have a script in Blender do it so I can preserve multiple UV sets, UV pins, and other data that is blender specific.
The example scripts I found refer to the mesh.polygons collection which contains indices to the mesh.loops collection, which is read-only, so I cannot edit it.
So, given all the quads in a mesh with points {A,B,C,D}, how would I edit it in a script such that the ones that meet the criteria becomes {B,C,D,A}?
p.s. Please note that the solution I require is not quite the same as faces->triangulate faces->beauty