private static void ExecOptions(AbstractTriangleMesh mesh) { while (true) { if (mesh.GetType() == typeof(IFLTriangleMesh)) { Console.WriteLine("-------------------"); Console.WriteLine("Press (C) to convert mesh to laced ring or (E) to exit program"); String line = Console.ReadLine(); if (line.ToLower() == "c") { Console.WriteLine("-------------------"); Console.WriteLine("Start converting mesh"); IConverter<LRTriangleMesh> converter = Converter.GetSpecificConverter<IFLTriangleMesh, LRTriangleMesh>((IFLTriangleMesh)mesh); mesh = converter.Convert(); Console.WriteLine("-------------------"); Console.WriteLine("Mesh successfully converted "); } else if (line.ToLower() == "e") { Environment.Exit(0); } else { Console.WriteLine("-------------------"); Console.WriteLine("Command not recognized"); } } else if (mesh.GetType() == typeof(LRTriangleMesh)) { Console.WriteLine("-------------------"); Console.WriteLine("Press (S) to save mesh or (E) to exit program"); String line = Console.ReadLine(); if (line.ToLower() == "s") { Console.WriteLine("-------------------"); Console.WriteLine("Path were mesh should be saved:"); String path = Console.ReadLine(); Console.WriteLine("Filename:"); String fileName = Console.ReadLine(); Console.WriteLine("-------------------"); Console.WriteLine("Start writting mesh"); MeshWriter.WriteMesh(Path.Combine(path + fileName), mesh); Console.WriteLine("-------------------"); Console.WriteLine("Mesh successfully written"); } else if (line.ToLower() == "e") { Environment.Exit(0); } else { Console.WriteLine("-------------------"); Console.WriteLine("Command not recognized"); } } } }
private static void ExecOptions(AbstractTriangleMesh mesh) { while (true) { if (mesh.GetType() == typeof(IFLTriangleMesh)) { Console.WriteLine("-------------------"); Console.WriteLine("Press (C) to convert mesh to laced ring or (E) to exit program"); String line = Console.ReadLine(); if (line.ToLower() == "c") { Console.WriteLine("-------------------"); Console.WriteLine("Start converting mesh"); IConverter <LRTriangleMesh> converter = Converter.GetSpecificConverter <IFLTriangleMesh, LRTriangleMesh>((IFLTriangleMesh)mesh); mesh = converter.Convert(); Console.WriteLine("-------------------"); Console.WriteLine("Mesh successfully converted "); } else if (line.ToLower() == "e") { Environment.Exit(0); } else { Console.WriteLine("-------------------"); Console.WriteLine("Command not recognized"); } } else if (mesh.GetType() == typeof(LRTriangleMesh)) { Console.WriteLine("-------------------"); Console.WriteLine("Press (S) to save mesh or (E) to exit program"); String line = Console.ReadLine(); if (line.ToLower() == "s") { Console.WriteLine("-------------------"); Console.WriteLine("Path were mesh should be saved:"); String path = Console.ReadLine(); Console.WriteLine("Filename:"); String fileName = Console.ReadLine(); Console.WriteLine("-------------------"); Console.WriteLine("Start writting mesh"); MeshWriter.WriteMesh(Path.Combine(path + fileName), mesh); Console.WriteLine("-------------------"); Console.WriteLine("Mesh successfully written"); } else if (line.ToLower() == "e") { Environment.Exit(0); } else { Console.WriteLine("-------------------"); Console.WriteLine("Command not recognized"); } } } }
public static void WriteMesh(String filePath, AbstractTriangleMesh lrTriangleMesh) { if (lrTriangleMesh.GetType() == typeof(LRTriangleMesh)) { LRWriter lrWriter = new LRWriter((LRTriangleMesh)lrTriangleMesh); lrWriter.Execute(filePath); return; } throw new NotImplementedException("There is no writer for this type of mesh"); }