Esempio n. 1
0
 public ModelData LoadSTLBinary(string filename)
 {
     try
     {
         var    verticies = new LinkedList <Vector3>();
         byte[] buffer    = new byte[80];
         using (var fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read))
         {
             using (var binaryReader = new BinaryReader(fileStream))
             {
                 binaryReader.Read(buffer, 0, 80);
                 var num1 = binaryReader.ReadInt32();
                 for (var index = 0; index < num1; ++index)
                 {
                     binaryReader.BaseStream.Seek(12L, SeekOrigin.Current);
                     verticies.AddLast(new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()));
                     verticies.AddLast(new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()));
                     verticies.AddLast(new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()));
                     var num2 = (int)binaryReader.ReadInt16();
                 }
                 binaryReader.Close();
             }
             fileStream.Close();
         }
         return(ModelData.Create(verticies, null, null));
     }
     catch (Exception ex)
     {
     }
     return(null);
 }
Esempio n. 2
0
 public ModelData Load(string filename)
 {
     try
     {
         var verticies        = new LinkedList <Vector3>();
         var triangleIndecies = new LinkedList <int[]>();
         using (var fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read))
         {
             using (var binaryReader = new BinaryReader(fileStream))
             {
                 var num1 = binaryReader.ReadInt32();
                 for (var index = 0; index < num1; ++index)
                 {
                     var y = binaryReader.ReadSingle();
                     var x = -binaryReader.ReadSingle();
                     var z = binaryReader.ReadSingle();
                     verticies.AddLast(new Vector3(x, y, z));
                 }
                 var num2 = binaryReader.ReadInt32();
                 binaryReader.BaseStream.Seek(12 * num2, SeekOrigin.Current);
                 var num3 = binaryReader.ReadInt32();
                 for (var index = 0; index < num3; ++index)
                 {
                     var num4 = binaryReader.ReadInt32();
                     var num5 = binaryReader.ReadInt32();
                     var num6 = binaryReader.ReadInt32();
                     triangleIndecies.AddLast(new int[3]
                     {
                         num4,
                         num5,
                         num6
                     });
                     binaryReader.BaseStream.Seek(12L, SeekOrigin.Current);
                 }
                 binaryReader.Close();
             }
             fileStream.Close();
         }
         return(ModelData.Create(verticies, triangleIndecies, null));
     }
     catch (Exception ex)
     {
     }
     return(null);
 }
Esempio n. 3
0
        static void Main()
        {
            CacheManager.LoadAll();

            var targets = new[] { "config.BulkData.bloodlineNames",
                                  "config.BulkData.locationscenes",
                                  "config.BulkData.overviewDefaults",
                                  "config.BulkData.schematicspinmap",
                                  "config.BulkData.overviewDefaultGroups",
                                  "config.BulkData.schematics",
                                  "config.BulkData.schematicstypemap",
                                  "config.BulkData.sounds",
                                  "config.BulkData.invtypematerials",
                                  "config.BulkData.ownericons" };

            foreach (var target in targets)
            {
                var cache = CacheManager.Get(target);
                if (cache == null)
                {
                    Console.WriteLine("Couldn't find cache file for target \"" + target + "\", skipping");
                    continue;
                }

                using (var sw = File.CreateText(cache.FileName + "-" + ShortenName(target) + ".sql"))
                {
                    sw.WriteLine("# Generated by CacheToSQL on " + DateTime.UtcNow + " (UTC)");
                    sw.WriteLine("# Source: " + cache.Name);
                    sw.WriteLine("# File: " + cache.FileName);
                    sw.WriteLine();

                    var modelData = ModelData.Create(cache);
                    sw.WriteLine(modelData.CreationQuery);
                    CreateData(modelData, sw);
                    sw.Flush();
                }
                Console.WriteLine("Processed " + target);
            }

            Console.WriteLine("All done");
            Console.ReadLine();
        }
Esempio n. 4
0
 public ModelData LoadSTLASCII(string filename)
 {
     try
     {
         var verticies = new LinkedList <Vector3>();
         using (var streamReader = new StreamReader(filename))
         {
             var     num1     = 0;
             float[] numArray = new float[3];
             string  str;
             while ((str = streamReader.ReadLine()) != null)
             {
                 if (str.Contains("vertex"))
                 {
                     string[] strArray = str.Substring(str.IndexOf("vertex") + 7).Split(' ');
                     var      num2     = 0;
                     for (var index = 0; index < strArray.Length; ++index)
                     {
                         if (strArray[index].Length > 0)
                         {
                             numArray[num2++] = float.Parse(strArray[index], M3DGlobalization.SYSTEM_CULTURE);
                         }
                     }
                     verticies.AddLast(new Vector3(numArray[0], numArray[1], numArray[2]));
                 }
                 else if (str.Contains("endfacet"))
                 {
                     ++num1;
                 }
             }
             streamReader.Close();
         }
         return(ModelData.Create(verticies, null, null));
     }
     catch (Exception ex)
     {
     }
     return(null);
 }
Esempio n. 5
0
        public ModelData Load(string filename)
        {
            try
            {
                var verticies        = new LinkedList <Vector3>();
                var triangleIndecies = new LinkedList <int[]>();
                using (var streamReader = new StreamReader(filename))
                {
                    string str;
                    while ((str = streamReader.ReadLine()) != null)
                    {
                        if (str.Length >= 2)
                        {
                            if (str[0] == 'v' && str[1] == ' ')
                            {
                                string[] strArray = str.Split(ModelOBJImporter.mVecSeparator, StringSplitOptions.RemoveEmptyEntries);
                                verticies.AddLast(new Vector3((float)Convert.ToDouble(strArray[1], M3DGlobalization.SYSTEM_CULTURE), (float)Convert.ToDouble(strArray[2], M3DGlobalization.SYSTEM_CULTURE), (float)Convert.ToDouble(strArray[3], M3DGlobalization.SYSTEM_CULTURE)));
                            }
                            if (str[0] == 'f' && str[1] == ' ')
                            {
                                string[] strArray = str.Split(ModelOBJImporter.mFaceSeparator);
                                switch (strArray.Length)
                                {
                                case 4:
                                    var num1 = Convert.ToInt32(strArray[1], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num2 = Convert.ToInt32(strArray[2], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num3 = Convert.ToInt32(strArray[3], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    triangleIndecies.AddLast(new int[3]
                                    {
                                        num1,
                                        num2,
                                        num3
                                    });
                                    continue;

                                case 7:
                                case 8:
                                    var num4 = Convert.ToInt32(strArray[1], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num5 = Convert.ToInt32(strArray[3], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num6 = Convert.ToInt32(strArray[5], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    triangleIndecies.AddLast(new int[3]
                                    {
                                        num4,
                                        num5,
                                        num6
                                    });
                                    continue;

                                case 10:
                                case 11:
                                    var num7 = Convert.ToInt32(strArray[1], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num8 = Convert.ToInt32(strArray[4], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    var num9 = Convert.ToInt32(strArray[7], M3DGlobalization.SYSTEM_CULTURE) - 1;
                                    triangleIndecies.AddLast(new int[3]
                                    {
                                        num7,
                                        num8,
                                        num9
                                    });
                                    continue;

                                default:
                                    continue;
                                }
                            }
                        }
                    }
                    streamReader.Close();
                }
                return(ModelData.Create(verticies, triangleIndecies, null));
            }
            catch (Exception ex)
            {
            }
            return(null);
        }