/// <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)); }
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); }
/// <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); }
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; }