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;
    }
Example #3
0
    //
    // 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;
    }