private void LoadPart(string partname) { var flstud = new DatLoader(RootPath, partname, HiQuality); var poly = flstud.LoadFromFile(); DatPart dt = new DatPart(); dt.Name = partname; dt.Polygones = poly; DatObj.Add(dt); }
public List <Polygone> LoadFromFile() { if (Loader.NoPolygone.Where(x => x == FileName).Any()) { return(Polygones); } Console.WriteLine($"Reading file {FileName}"); try { StreamReader file = new StreamReader(Path + FileName); while (!file.EndOfStream) { var strline = file.ReadLine(); strline = strline.CleanSpace(); var ret = DecryptLine(strline); if (ret.Any()) { Polygones.AddRange(ret); } } //Adding the new element to the main base // save only small sized elements, large ones take more time to be cloned if ((IsPart) && (Polygones.Count < 5000)) { DatPart dtobj = new DatPart(); Console.WriteLine($"Adding {FileName} to saved list"); dtobj.AddPolygones(Polygones.DeepClone <List <Polygone> >()); dtobj.Name = FileName; Loader.DatObj.Add(dtobj); } if (!Polygones.Any()) { Loader.NoPolygone.Add(FileName); } file.Close(); file.Dispose(); } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(Polygones); }