/// <summary> /// Initializes a new instance of the <see cref="PointCloudBinarySourceEnumerator"/> class. /// This version does not use a process, so that it can be managed by a composite. /// </summary> /// <param name="source">The source.</param> /// <param name="buffer">The buffer.</param> public PointCloudBinarySourceEnumerator(IPointCloudBinarySourceSequentialEnumerable source, BufferInstance buffer) { m_source = source; m_stream = m_source.GetStreamReader(); m_buffer = buffer; m_process = null; m_endPosition = m_source.PointDataOffset + m_source.Count * m_source.PointSizeBytes; m_usableBytesPerBuffer = (m_buffer.Length / m_source.PointSizeBytes) * m_source.PointSizeBytes; 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(); }