Пример #1
0
        /// <summary>
        /// Find elements matching selector.
        /// </summary>
        /// <param name="query">CSS selector</param>
        /// <param name="roots">root elements to descend into</param>
        /// <returns>matching elements, empty if not</returns>
        public static Elements Select(string query, IEnumerable <Element> roots)
        {
            Validate.NotEmpty(query);
            Validate.NotNull(roots);
            LinkedHashSet <Element> elements = new LinkedHashSet <Element>();

            foreach (Element root in roots)
            {
                elements.AddRange(Select(query, root));
            }
            return(new Elements(elements));
        }
Пример #2
0
        public HashSet <EnvironmentObject> getObjectsNear(Agent agent, int radius)
        {
            HashSet <EnvironmentObject> objsNear = new LinkedHashSet <EnvironmentObject>();

            XYLocation agentLocation = getCurrentLocationFor(agent);

            foreach (XYLocation loc in objsAtLocation.keySet())
            {
                if (withinRadius(radius, agentLocation, loc))
                {
                    objsNear.AddRange(objsAtLocation.get(loc));
                }
            }
            // Ensure the 'agent' is not included in the Set of
            // objects near
            objsNear.remove(agent);

            return(objsNear);
        }
Пример #3
0
 /// <summary>
 /// Find elements matching selector.
 /// </summary>
 /// <param name="query">CSS selector</param>
 /// <param name="roots">root elements to descend into</param>
 /// <returns>matching elements, empty if not</returns>
 public static Elements Select(string query, IEnumerable<Element> roots)
 {
     Validate.NotEmpty(query);
     Validate.NotNull(roots);
     LinkedHashSet<Element> elements = new LinkedHashSet<Element>();
     foreach (Element root in roots)
     {
         elements.AddRange(Select(query, root));
     }
     return new Elements(elements);
 }
Пример #4
0
        public HashSet<EnvironmentObject> getObjectsNear(Agent agent, int radius)
        {
            HashSet<EnvironmentObject> objsNear = new LinkedHashSet<EnvironmentObject>();

            XYLocation agentLocation = getCurrentLocationFor(agent);
            foreach (XYLocation loc in objsAtLocation.keySet())
            {
                if (withinRadius(radius, agentLocation, loc))
                {
                    objsNear.AddRange(objsAtLocation.get(loc));
                }
            }
            // Ensure the 'agent' is not included in the Set of
            // objects near
            objsNear.remove(agent);

            return objsNear;
        }