internal void UpdateRegister(VertexRegister milestoneRegister, IEdge edge) { TotalWeight = milestoneRegister.TotalWeight + edge.Weight; EdgeTracks.Clear(); EdgeTracks = milestoneRegister.EdgeTracks.Select(et => et).ToList(); EdgeTracks.Add(edge); }
private void UpdateRelatedRegister(VertexRegister milestoneRegister) { var milestoneVertex = milestoneRegister.Vertex; foreach(var edge in milestoneVertex.OutDegreeEdge) { var targetRegister = _registerManager.GetRegister(edge.To); var attemtpWeight = milestoneRegister.TotalWeight + edge.Weight; if(attemtpWeight < targetRegister.TotalWeight) { targetRegister.UpdateRegister(milestoneRegister, edge); } } milestoneRegister.Registed = true; }
private void UpdateRelatedRegister(VertexRegister milestoneRegister) { var milestoneVertex = milestoneRegister.Vertex; foreach (var edge in milestoneVertex.OutDegreeEdge) { var targetRegister = _registerManager.GetRegister(edge.To); var attemtpWeight = milestoneRegister.TotalWeight + edge.Weight; if (attemtpWeight < targetRegister.TotalWeight) { targetRegister.UpdateRegister(milestoneRegister, edge); } } milestoneRegister.Registed = true; }