public void ConnectTo(int targetIndex, int weight) { if (weight != 0 && !IsNeighbor(targetIndex)) { Edges.AddLast(new Edge(targetIndex, weight)); } }
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); }