private void DrawOuter()
    {
        Mesh mesh = EdgeExtruder.LinearMesh(outer, CurveResolution * ControlPoints.Count, thickness, 2);

        GameObject piece = new GameObject("Outer Edge");

        piece.transform.SetParent(transform);
        piece.transform.position = transform.position;

        piece.AddComponent <MeshFilter>().sharedMesh = mesh;
        MeshRenderer rend = piece.AddComponent <MeshRenderer>();

        rend.sharedMaterial       = new Material(Shader.Find("Standard"));
        rend.sharedMaterial.color = Color.white;
    }
    public void GenerateMesh()
    {
        for (int i = transform.childCount - 1; i >= 0; i--)
        {
            if (transform.GetChild(i).gameObject.name != "Control Points")
            {
                DestroyImmediate(transform.GetChild(i).gameObject);
            }
        }

        Mesh combinedMesh = EdgeExtruder.LinearMesh(points, CurveResolution * ControlPoints.Count, thickness, 3);

        GetComponent <MeshFilter>().sharedMesh = combinedMesh;


        if (drawEdges)
        {
            DrawInner();
            DrawOuter();
        }
    }