void AddDownLine(PointData data, float span)
    {
        Vector3 bl = new Vector3(iright, down, back);
        Vector3 br = new Vector3(ileft, down, back);
        Vector3 fl = new Vector3(iright, down, front);
        Vector3 fr = new Vector3(ileft, down, front);

        data.AddPointData(bl, br, span);
        data.AddPointData(fl, fr, span);
    }
    void AddInnerRects(PointData data, float span)
    {
        for (float i = left + distence; i < iright; i += distence)
        {
            PointData.Rect rect = new PointData.Rect();
            rect.db = new Vector3(i, down, back);
            rect.ub = new Vector3(i, up, back);
            rect.uf = new Vector3(i, up, front);
            rect.df = new Vector3(i, down, front);
            data.AddPointData(rect, span, true);
        }

        for (float i = right - distence; i > ileft; i -= distence)
        {
            PointData.Rect rect = new PointData.Rect();
            rect.db = new Vector3(i, down, back);
            rect.ub = new Vector3(i, up, back);
            rect.uf = new Vector3(i, up, front);
            rect.df = new Vector3(i, down, front);
            data.AddPointData(rect, span, true);
        }
    }
    void AddLeftBox(PointData data, float span)
    {
        PointData.Box leftBox = new PointData.Box();
        leftBox.ldb = new Vector3(left, down, back);
        leftBox.lub = new Vector3(left, up, back);
        leftBox.rub = new Vector3(iright, up, back);
        leftBox.rdb = new Vector3(iright, down, back);
        leftBox.ldf = new Vector3(left, down, front);
        leftBox.luf = new Vector3(left, up, front);
        leftBox.ruf = new Vector3(iright, up, front);
        leftBox.rdf = new Vector3(iright, down, front);

        data.AddPointData(leftBox, span);
    }