public Line Clone()
 {
     Line ret = new Line();
     int len = this.Points.Count;
     for (int i = 0; i < len; i++)
     {
         ret.Points.Add(this.Points[i]);
     }
     ret.m = this.m;
     ret.c = this.c;
     ret.isVert = this.isVert;
     return ret;
 }
 public bool Equals(Line other)
 {
     int pCount = this.Points.Count;
     if (pCount == 1)
     {
         if (pCount == other.Points.Count)
         {
             return this.Points[0] == other.Points[0];
         }
         else
         {
             return false;
         }
     }
     else
     {
         return this.m == other.m && this.c == other.c && this.isVert == other.isVert;
     }
 }