/// <summary> /// A value indicating whether the PolygonContainer intersects with this PolygonContainer. /// </summary> /// <param name="polygonContainer">The PolygonContainer.</param> /// <returns>True if intersecting.</returns> public bool Intersects(PolygonContainer polygonContainer) { bool flag = false; foreach ( KeyValuePair <int, Polygon> polygon in _innerPolygons.Where( polygon => polygonContainer.Polygons.Any(outsidePolygon => polygon.Value.Intersects(outsidePolygon)))) { flag = true; } return(flag); }
/// <summary> /// A value indicating whether the PolygonContainer intersects with this PolygonContainer. /// </summary> /// <param name="polygonContainer">The PolygonContainer.</param> /// <param name="indices">The Indices which are intersects.</param> /// <returns>True if intersecting.</returns> public bool IntersectsWith(PolygonContainer polygonContainer, out int[] indices) { bool flag = false; var indicesList = new List <int>(); foreach (KeyValuePair <int, Polygon> polygon in from polygon in _innerPolygons from outsidePolygon in polygonContainer.Polygons.Where(outsidePolygon => polygon.Value.Intersects(outsidePolygon)) select polygon) { flag = true; indicesList.Add(polygon.Key); } indices = indicesList.ToArray(); return(flag); }
/// <summary> /// A value indicating whether the PolygonContainer intersects with this PolygonContainer. /// </summary> /// <param name="polygonContainer">The PolygonContainer.</param> /// <returns>True if intersecting.</returns> public bool Intersects(PolygonContainer polygonContainer) { bool flag = false; foreach ( KeyValuePair<int, Polygon> polygon in _innerPolygons.Where( polygon => polygonContainer.Polygons.Any(outsidePolygon => polygon.Value.Intersects(outsidePolygon)))) { flag = true; } return flag; }
/// <summary> /// A value indicating whether the PolygonContainer intersects with this PolygonContainer. /// </summary> /// <param name="polygonContainer">The PolygonContainer.</param> /// <param name="indices">The Indices which are intersects.</param> /// <returns>True if intersecting.</returns> public bool IntersectsWith(PolygonContainer polygonContainer, out int[] indices) { bool flag = false; var indicesList = new List<int>(); foreach (KeyValuePair<int, Polygon> polygon in from polygon in _innerPolygons from outsidePolygon in polygonContainer.Polygons.Where(outsidePolygon => polygon.Value.Intersects(outsidePolygon)) select polygon) { flag = true; indicesList.Add(polygon.Key); } indices = indicesList.ToArray(); return flag; }