public PointCloudTileSourceEnumeratorChunk(PointCloudTileSourceEnumeratorChunk chunk, int pointCount) : this(chunk.m_tile, chunk.m_buffer) { if (pointCount > m_tile.PointCount) throw new Exception("Too many points"); m_dataEndPtr = m_dataPtr + pointCount * m_pointSizeBytes; }
public PointCloudTileSourceEnumeratorChunk(PointCloudTileSourceEnumeratorChunk chunk, int pointCount) : this(chunk.m_tile, chunk.m_buffer) { if (pointCount > m_tile.PointCount) { throw new Exception("Too many points"); } m_dataEndPtr = m_dataPtr + pointCount * m_pointSizeBytes; }
public bool MoveNext() { // check for cancel if (m_current != null && m_process != null && !m_process.Update(m_current)) { return(false); } if (m_tileEnumerator.MoveNext()) { PointCloudTile tile = m_tileEnumerator.Current; tile.ReadTile(m_stream, m_buffer.Data); m_current = new PointCloudTileSourceEnumeratorChunk(tile, m_buffer); return(true); } return(false); }
public void Dispose() { m_stream.Dispose(); m_stream = null; m_current = null; }
public void Reset() { m_tileEnumerator = m_source.TileSet.GetEnumerator(); m_current = null; }