Beispiel #1
0
    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);
    }
Beispiel #2
0
    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);
    }