Esempio n. 1
0
        public void PutGFile(string filename, GFile geometry)
        {
            string extension = Path.GetExtension(filename).Substring(2);
            int    index     = extension.Length > 0 ? Int32.Parse(extension) : 0;

            while (Segments.Count < index)
            {
                Segments.Add(null);
            }
            Segments.Insert(index, geometry);
        }
Esempio n. 2
0
 public static Geometry GetPrimitive(string designID)
 {
     if (PrimitiveCache.ContainsKey(designID))
     {
         Geometry result = PrimitiveCache[designID];
         if (result == null)
         {
             result = new Geometry();
             foreach (string geofile in Directory.EnumerateFiles(Path.Combine(PartDBPath, "Primitives", "LOD0")).Where(s => Path.GetFileNameWithoutExtension(s) == designID))
             {
                 using (FileStream stream = new FileStream(geofile, FileMode.Open, FileAccess.Read, FileShare.Read))
                     using (BinaryReader reader = new BinaryReader(stream))
                     {
                         GFile geo = new GFile(reader);
                         result.PutGFile(geofile, geo);
                     }
             }
             PrimitiveCache[designID] = result;
         }
         return(result);
     }
     return(null);
 }