// Make a deep copy of this object public override GroundedClause DeepCopy() { Segment other = (Segment)(this.MemberwiseClone()); other.Point1 = (Point)Point1.DeepCopy(); other.Point2 = (Point)Point2.DeepCopy(); return(other); }