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); }
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); }
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(); }
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); }
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); }