public static Dictionary <int, List <int> > CreateIndexNeighborDictionary(Model model) { Dictionary <int, List <int> > indexNeighborDict = new Dictionary <int, List <int> >(); List <Vector3> vertices = model.vertices; List <int> triangles = model.triangles; for (int i = 0; i < vertices.Count; i++) { Vector3 vertex = vertices[i]; List <int> neighboringVertexIndeces = VertexHelper.FindNeighboringVertexIndeces(vertices, triangles, vertex); indexNeighborDict.Add(i, neighboringVertexIndeces); } return(indexNeighborDict); }
public void FindNeihboringVertices() { Vector3 lineStart = new Vector3(0f, 0f, 0f); Vector3 lineMiddle = new Vector3(0f, 0.7f, 0f); Vector3 lineEnd = new Vector3(0f, 1f, 0f); List <int> triangles = new List <int> { 0, 1, 2 }; List <Vector3> vertices = new List <Vector3> { lineStart, lineMiddle, lineEnd }; List <int> expected = new List <int> { 0, 2 }; List <int> actual = VertexHelper.FindNeighboringVertexIndeces(vertices, triangles, lineMiddle); Assert.AreEqual(expected, actual); }