Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }