public PointCloudBinarySourceCompositeEnumerator(IEnumerable <IPointCloudBinarySourceEnumerable> sources, ProgressManagerProcess process)
        {
            m_sources = sources.ToArray();
            m_process = process;
            m_buffer  = m_process.AcquireBuffer(true);
            m_points  = m_sources.Sum(s => s.Count);

            Reset();
        }
Пример #2
0
        public PointCloudTileSourceEnumerator(PointCloudTileSource source, ProgressManagerProcess process)
        {
            m_source  = source;
            m_buffer  = process.AcquireBuffer(source.MaxTileBufferSize, true);
            m_process = process;

            m_stream = StreamManager.OpenReadStream(source.FilePath, source.PointDataOffset);

            Reset();
        }
        public PointCloudBinarySourceEnumerator(IPointCloudBinarySourceSequentialEnumerable source, ProgressManagerProcess process)
        {
            m_source  = source;
            m_stream  = m_source.GetStreamReader();
            m_buffer  = process.AcquireBuffer(true);
            m_process = process;

            m_endPosition = m_source.PointDataOffset + m_source.Count * m_source.PointSizeBytes;

            m_usableBytesPerBuffer = (m_buffer.Length / m_source.PointSizeBytes) * m_source.PointSizeBytes;

            Reset();
        }