public void Add(Vertice vv) { LVerticesFace.Add(vv); }
//Adiciona Vértice public void Add(Vertice V) { LVFace.Add(V); }
//------------------------------- public bool LerFicheiro(string ficheiro) { Console.WriteLine("lerFicheiro", ficheiro); // Formato OBJ // codigo de leitura do ficheiro!!! // Abrir o Ficheiro // # comentário - esquecer a linha // v x y z try { using (StreamReader sr = new StreamReader(ficheiro)) { string linha; bool Primeira_Passagem = true; // Lê linha por linha até o final do arquivo while ((linha = sr.ReadLine()) != null) { //Console.WriteLine(linha); string[] Dados = linha.Split(' '); if (Dados.Length != 0) { /* * for (int i = 0; i< Dados.Length;i++) * { * Console.WriteLine("Dados[" + i + "]=" + Dados[i]); * } * Console.WriteLine(); */ switch (Dados[0]) { case "v": // Console.WriteLine("Tenho um vertice"); double X = Convert.ToDouble(Dados[1], System.Globalization.CultureInfo.InvariantCulture); double Y = Convert.ToDouble(Dados[2], System.Globalization.CultureInfo.InvariantCulture); double Z = Convert.ToDouble(Dados[3], System.Globalization.CultureInfo.InvariantCulture); Vertice V = new Vertice(X, Y, Z); LV.Add(V); if (Primeira_Passagem) { Xmin = Xmax = X; Ymin = Ymax = Y; Zmin = Zmax = Z; //******* Primeira_Passagem = false; } else { Xmin = Math.Min(Xmin, X); Xmax = Math.Max(Xmax, X); Ymin = Math.Min(Ymin, Y); Ymax = Math.Max(Ymax, Y); Zmin = Math.Min(Zmin, Z); Zmax = Math.Max(Zmax, Z); // Y, Z } break; case "f": Face F = new Face(); for (int i = 1; i < 4; i++) { string[] linha_face = Dados[i].Split('/'); int V1 = Convert.ToInt32(linha_face[0]); int ft1 = Convert.ToInt32(linha_face[1]); F.Add(LV[V1 - 1]); F.AddTexture(LT[ft1 - 1]); } LF.Add(F); break; case "vt": Textura textura = new Textura(Convert.ToDouble(Dados[1], System.Globalization.CultureInfo.InvariantCulture), Convert.ToDouble(Dados[2], System.Globalization.CultureInfo.InvariantCulture)); LT.Add(textura); break; case "#": //Console.WriteLine("Nao faças nada comentário"); break; default: break; } } //Console.WriteLine(teste); } sr.Close(); } } catch (Exception ex) { Console.WriteLine("Problema: " + ex.Message); Console.WriteLine("Problema: " + ex); } //Console.WriteLine("XMin = " + Xmin); //Console.WriteLine("XMax = " + Xmax); // Fechar o Ficheiro return(true); }
public Triangulo(Vertice Ap, Vertice Bp, Vertice Cp) { P1 = Ap; P2 = Bp; P3 = Cp; }