Пример #1
0
        /// <summary>
        /// Moves the PBF reader to the next primitive or returns one of the cached ones.
        /// </summary>
        /// <returns></returns>
        private KeyValuePair <PrimitiveBlock, object> MoveToNextPrimitive()
        {
            KeyValuePair <PrimitiveBlock, object> next = this.DeQueuePrimitive();

            if (next.Value == null)
            {
                PrimitiveBlock block = _reader.MoveNext();
                if (block != null)
                {
                    _decompressor.ProcessPrimitiveBlock(block);
                    next = this.DeQueuePrimitive();
                }
            }
            return(next);
        }
Пример #2
0
        /// <summary>
        /// Moves the PBF reader to the next primitive or returns one of the cached ones.
        /// </summary>
        /// <returns></returns>
        private KeyValuePair <PrimitiveBlock, object> MoveToNextPrimitive(bool ignoreNodes, bool ignoreWays, bool ignoreRelations)
        {
            KeyValuePair <PrimitiveBlock, object> next = this.DeQueuePrimitive();

            if (next.Value == null)
            {
                PrimitiveBlock block = _reader.MoveNext();
                if (block != null)
                {
                    while (!_decompressor.ProcessPrimitiveBlock(block, ignoreNodes, ignoreWays, ignoreRelations))
                    {
                        block = _reader.MoveNext();
                    }
                    next = this.DeQueuePrimitive();
                }
            }
            return(next);
        }