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