public static void ParseToObject() { LoadObjFileHandler Obj = new LoadObjFileHandler("cube.obj"); Console.WriteLine("Result: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); _WaveService.LookForVertexs(); _WaveService.LookForNormals(); _WaveService.LookForTextureVertex(); _WaveService.LookForFaces(1); SimpleWaveFront waveFront = _WaveService.WaveFront; var vertexs = waveFront.Vertexs; var normals = waveFront.Normal; var textVertexs = waveFront.TexVertexs; var faces = waveFront.Faces; var i = 1; foreach (var face in faces) { Console.WriteLine($"\n\nFace {i}"); Console.WriteLine("Vertexs:"); face.VertIndicies.ForEach(a => Console.Write(a + ", ")); Console.WriteLine("\nNormals:"); face.NormIndicies.ForEach(a => Console.Write(a + ", ")); Console.WriteLine("\nTextureVertexs:"); face.TexIndicies.ForEach(a => Console.Write(a + ", ")); i++; } }
public static void Interpolation() { LoadObjFileHandler Obj = new LoadObjFileHandler("cube.obj"); Console.WriteLine("Result: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); _WaveService.LookForVertexs(); _WaveService.LookForNormals(); _WaveService.LookForTextureVertex(); _WaveService.LookForFaces(1); SimpleWaveFront waveFront = _WaveService.WaveFront; var vertexs = waveFront.Vertexs; var normals = waveFront.Normal; var textVertexs = waveFront.TexVertexs; var faces = waveFront.Faces; var i = 1; foreach (var face in faces) { Console.WriteLine($"\n\nFace {i}"); Console.WriteLine("Vertexs:"); face.VertIndicies.ForEach(a => { Console.WriteLine($"{a}. x={vertexs[a].XAxis}, y={vertexs[a].YAxis}, z={vertexs[a].ZAxis}"); }); Console.WriteLine("\nNormals:"); face.NormIndicies.ForEach(a => { Console.WriteLine($"{a}. x={normals[a].XAxis}, y={normals[a].YAxis}, z={normals[a].ZAxis}"); }); Console.WriteLine("\nTextureVertexs:"); face.VertIndicies.ForEach(a => { Console.WriteLine($"{a}. x={textVertexs[a].XAxis}, y={textVertexs[a].YAxis}"); }); i++; } }
public static void FindTextureVertexs() { LoadObjFileHandler Obj = new LoadObjFileHandler("cube.obj"); Console.WriteLine("Result: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); List <TextureVertex> texVerts = new List <TextureVertex>(); texVerts = _WaveService.LookForTextureVertex(); var i = 1; Console.WriteLine("Founded Vertexes: \n"); foreach (var texVert in texVerts) { Console.WriteLine($"{i}. x={texVert.XAxis}, y={texVert.YAxis}"); i++; } }
public static void FindNormals() { LoadObjFileHandler Obj = new LoadObjFileHandler("cube.obj"); Console.WriteLine("Result: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); List <Normal> normals = new List <Normal>(); normals = _WaveService.LookForNormals(); var i = 1; Console.WriteLine("Founded Vertexes: \n"); foreach (var normlas in normals) { Console.WriteLine($"{i}. x={normlas.XAxis}, y={normlas.YAxis}, z={normlas.ZAxis}"); i++; } }
public static void FindVertexs() { LoadObjFileHandler Obj = new LoadObjFileHandler("cube.obj"); Console.WriteLine("Result: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); List <Vertex> vertexs = new List <Vertex>(); vertexs = _WaveService.LookForVertexs(); var i = 1; Console.WriteLine("Founded Vertexes: \n"); foreach (var vertex in vertexs) { Console.WriteLine($"{i}. x={vertex.XAxis}, y={vertex.YAxis}, z={vertex.ZAxis}"); i++; } }
static void Main(string[] args) { //Presentation.FindVertexs(); //Presentation.ParseToObject(); //Presentation.Interpolation(); string name_ = "ZROBOT"; for (var i = 0; i <= 5; i++) { work(name_ + i); } work("ZROBOT"); void work(string name) { LoadObjFileHandler Obj = new LoadObjFileHandler(name + ".obj"); Console.WriteLine("File Loaded: " + Obj.LoadObj().ToString()); SimpleWaveFrontService _WaveService = new SimpleWaveFrontService(Obj); FileStreamHandler FileNormal = new FileStreamHandler(name + "Normals.txt"); FileStreamHandler FileVertex = new FileStreamHandler(name + "Vertex.txt"); FileStreamHandler FileFaces = new FileStreamHandler(name + "Faces.txt"); FileStreamHandler FileTextures = new FileStreamHandler("Textures.txt"); FileStreamHandler Stats = new FileStreamHandler(name + "Stats.txt"); _WaveService.LookForVertexs(); _WaveService.LookForNormals(); //_WaveService.LookForTextureVertex(); _WaveService.LookForFaces(2); SimpleWaveFront waveFront = _WaveService.WaveFront; var vertexs = waveFront.Vertexs; var normals = waveFront.Normal; var textVertexs = waveFront.TexVertexs; var faces = waveFront.Faces; #region normals Console.WriteLine("\nNomals:\n"); StringBuilder nr = new StringBuilder(); foreach (var norm in normals) { //Console.Write($"{norm.XAxis}, {norm.YAxis}, {norm.ZAxis}, | "); nr.Append($"{norm.XAxis}, {norm.YAxis}, {norm.ZAxis}, "); } FileNormal.AppendTextToFIle(nr.ToString()); Console.WriteLine("\n" + String.Concat(Enumerable.Repeat("_", 120))); #endregion Console.WriteLine("\nVertex:\n"); StringBuilder sb = new StringBuilder(); foreach (var vert in vertexs) { //Console.Write($"{vert.XAxis}, {vert.YAxis}, {vert.ZAxis}, | "); //sb.Append($"{{ {vert.XAxis}, {vert.YAxis}, {vert.ZAxis} }}, "); sb.Append($"{vert.XAxis} {vert.YAxis} {vert.ZAxis} "); } FileVertex.AppendTextToFIle(sb.ToString()); Console.WriteLine("\n" + String.Concat(Enumerable.Repeat("_", 120))); #region texture //Console.WriteLine("\nVerTexture:\n"); //foreach (var tVert in textVertexs) //{ // Console.Write($"{tVert.XAxis}, {tVert.YAxis} | "); // FileTextures.AppendTextToFIle($"{tVert.XAxis} {tVert.YAxis} "); //} //Console.WriteLine("\n" + String.Concat(Enumerable.Repeat("_", 120))); #endregion Console.WriteLine("\nIndicies:\n"); StringBuilder sa = new StringBuilder(); foreach (var face in faces) { face.VertIndicies.ForEach(a => { //Console.Write($"{a}, "); //sa.Append(a.ToString() + ", "); sa.Append(a.ToString() + " "); }); // Console.Write(" | "); } FileFaces.AppendTextToFIle(sa.ToString()); Console.WriteLine("\n" + String.Concat(Enumerable.Repeat("_", 120)) + "\n"); Stats.AppendTextToFIle($"Vertex: {(vertexs.Count * 3).ToString()} \n"); Stats.AppendTextToFIle($"Indicies: {(faces.Count * 3).ToString()}"); Stats.AppendTextToFIle($"Normals: {(normals.Count * 3).ToString()}"); } }