/// <summary> /// Determines whether this instance and another specified Berico.LinkAnalysis.Model.Node /// object have the same value. The main source for comparison is the nodes /// ID property. /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool Equals(RankingData obj) { if (obj == null) { return(false); } if (ReferenceEquals(this, obj)) { return(true); } if (this.GetHashCode() != obj.GetHashCode()) { return(false); } return(Score.Equals(obj.Score)); }
/// <summary> /// Determines whether this instance and another specified Berico.LinkAnalysis.Model.Node /// object have the same value. The main source for comparison is the nodes /// ID property. /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool Equals(RankingData obj) { if (obj == null) return false; if (ReferenceEquals(this, obj)) return true; if (this.GetHashCode() != obj.GetHashCode()) return false; return (Score.Equals(obj.Score)); }
private void RankingCompletedHandler(object sender, RankingEventArgs e) { // Remove event handler for currently selected ranker SelectedRanker.RankingCompleted -= RankingCompletedHandler; GraphComponents graph = GraphManager.Instance.DefaultGraphComponentsInstance; List<RankingData> data = new List<RankingData>(); if (_colorVisualizer == null) _colorVisualizer = new ColorVisualizer(e.Results.Values.Min(), e.Results.Values.Max()); else _colorVisualizer.Reset(e.Results.Values.Min(), e.Results.Values.Max()); _scaleVisualizer = new ScaleVisualizer(); foreach (INode node in e.Results.Keys) { RankingData rankingData = new RankingData { Score = e.Results[node], NodeCount = 1 }; if (data.Contains(rankingData)) data[data.IndexOf(rankingData)].NodeCount += 1; else data.Add(rankingData); NodeViewModelBase nodeVM = graph.GetNodeViewModel(node) as NodeViewModelBase; if (nodeVM != null) { if ((VisualizationOption & VisualizationOptions.Color) == VisualizationOptions.Color) { _colorVisualizer.Visualize(nodeVM, e.Results[node]); } else { _colorVisualizer.ClearVisualization(nodeVM); } if ((VisualizationOption & VisualizationOptions.Scale) == VisualizationOptions.Scale) { _scaleVisualizer.Visualize(nodeVM, e.Results[node]); } else _scaleVisualizer.ClearVisualization(nodeVM); } } Scores = new ObservableCollection<RankingData>(data.OrderBy(rankData => rankData.Score)); IsActive = true; }