public static Path Load(string filePath)
        {
            Path path = new Path();
            try
            {
                using (StreamReader file = new StreamReader(filePath))
                {
                    string line;
                    while((line = file.ReadLine()) != String.Empty && line != null)
                    {
                        try
                        {
                            double[] coords = Array.ConvertAll<string, double>(line.Substring(line.IndexOf("{") + 1).Split(new char[]{';','}'}, StringSplitOptions.RemoveEmptyEntries), double.Parse);
                            Point3D point = new Point3D(coords[0], coords[1], coords[2]);
                            path.AddPoint(point);
                        }
                        catch
                        {
                            throw new FormatException(String.Format("Invalid format of coordinates in the file {0}", filePath));
                        }

                    }
                }
            }
            catch(FileNotFoundException)
            {
                throw new FileNotFoundException("File {0} not found", filePath);
            }
            return path;
        }
 public static Path LoadPathFromFile(string file)
 {
     Path path3D = new Path();
     string[] pointsFromText = File.ReadAllText(file).Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
     
     for (int i = 0; i < pointsFromText.Length; i++)
     {
         string[] coordinates = pointsFromText[i].Split(Separators, StringSplitOptions.RemoveEmptyEntries).ToArray();
         
         path3D.AddPoint(new Point3D( double.Parse(coordinates[1]), double.Parse(coordinates[3]), double.Parse(coordinates[5])));
     }
         
     return path3D;
 }
        public static Path LoadPath(string filePath)
        {
            var path = new Path();
            using (var reader = new StreamReader(filePath))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    Point3D point = Point3D.Parse(line);
                    path.AddPoint(point);
                }
            }

            return path;
        }