Exemplo n.º 1
0
        private double getDefaultRadius()
        {
            double maxDistance = 0d;

            foreach (var item in _items)
            {
                foreach (var innerItem in _items)
                {
                    var distance = new DistanceStrategy <T>().GetDistance(item, innerItem);
                    if (distance > maxDistance)
                    {
                        maxDistance = distance;
                    }
                }
            }
            return(maxDistance);
        }
Exemplo n.º 2
0
        private List <T> getItemsNear(Tuple <double, double> point, double radius, List <List <T> > excludeGroups)
        {
            var excludedItems = getItemsFromGroups(excludeGroups);
            var result        = new List <T>();

            foreach (var item in _items)
            {
                if (excludedItems.Contains(item))
                {
                    continue;
                }
                if (DistanceStrategy <T> .GetDistance(point, item) <= radius)
                {
                    result.Add(item);
                }
            }
            return(result);
        }