Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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;
        }