Exemple #1
0
 public void ConnectTo(int targetIndex, int weight)
 {
     if (weight != 0 && !IsNeighbor(targetIndex))
     {
         Edges.AddLast(new Edge(targetIndex, weight));
     }
 }
Exemple #2
0
 public void AddEdge(Vertex to)
 {
     if (!Edges.Any(
             t => t.Name.Equals(
                 to.Name,
                 StringComparison.InvariantCultureIgnoreCase)))
     {
         Edges.AddLast(to);
     }
 }
        private void AddEdgesAndVerticesFrom(IEnumerable <Face> faces)
        {
            var verticesSet = new HashSet <Vertex>();

            foreach (var face in faces)
            {
                Edges.AddLast(face.Edges);
                foreach (var edge in face.Edges)
                {
                    verticesSet.Add(edge.Vertex1);
                    verticesSet.Add(edge.Vertex2);
                }
            }
            Vertices.AddLast(verticesSet);
        }