internal override void Straighten() { PolygonRegularizer.Straighten(ref Vertices); // Recreate graphicspath. if (gp != null) { gp.Dispose(); gp = null; } UpdateGP(); }
// // Interface public static void Straighten(ref Point[] vertices) { PolygonRegularizer pr = new PolygonRegularizer(vertices); pr.CongealSideLengths(); pr.CongealVertexAngles(); pr.RescaleVertexAngles(); pr.ReconstructIdealizedPolygon(); pr.QuantizeSegmentOrientations(); vertices = pr.idealverts; }