コード例 #1
0
        /// <summary>
        /// Gets all <see cref="DataRegion"/>s that are <em>not</em> stored in
        /// this <see cref="DataRegionSet"/> within a specific boundary <see cref="DataRegion"/>.
        /// </summary>
        /// <param name="boundaryRegion">The boundary <see cref="DataRegion"/>.</param>
        /// <returns>All <see cref="DataRegion"/>s within the <paramref name="boundaryRegion"/>
        /// that are <em>not</em> stored in this <see cref="DataRegionSet"/>.</returns>
        /// <seealso cref="GetRegionsWithin(DataRegion)"/>
        public IEnumerable <DataRegion> GetMissingRegions(DataRegion boundaryRegion)
        {
            lock (locker)
            {
                DataRegionSet negative = new DataRegionSet
                {
                    boundaryRegion
                };
                foreach (var toRemove in this.GetRegionsWithin(boundaryRegion))
                {
                    negative.Remove(toRemove);
                }

                return(negative);
            }
        }