public LASVLR[] ReadVLRs(Stream stream) { var vlrs = new List <LASVLR>((int)m_numberOfVariableLengthRecords); if (m_numberOfVariableLengthRecords > 0) { stream.Seek(m_headerSize, SeekOrigin.Begin); using (var reader = new FlexibleBinaryReader(stream)) { for (int i = 0; i < m_numberOfVariableLengthRecords; i++) { var vlr = reader.ReadObject <LASVLR>(); //if (vlr.IsInteresting) vlrs.Add(vlr); } } } return(vlrs.ToArray()); }
public LASEVLR[] ReadEVLRs(Stream stream) { var vlrs = new List <LASEVLR>((int)m_numberOfExtendedVariableLengthRecords); if (m_numberOfExtendedVariableLengthRecords > 0) { stream.Seek((long)m_startOfFirstExtendedVariableLengthRecord, SeekOrigin.Begin); using (var reader = new FlexibleBinaryReader(stream)) { for (int i = 0; i < m_numberOfExtendedVariableLengthRecords; i++) { var vlr = reader.ReadObject <LASEVLR>(); if (vlr != null) // && vlr.IsInteresting) { vlrs.Add(vlr); } } } } return(vlrs.ToArray()); }
public LASFile(string path) : base(path) { if (Exists) { try { using (var stream = StreamManager.OpenReadStream(FilePath)) { using (var reader = new FlexibleBinaryReader(stream)) { m_header = reader.ReadLASHeader(); } m_vlrs = m_header.ReadVLRs(stream); m_evlrs = m_header.ReadEVLRs(stream); } m_extent = m_header.Extent; } catch { } } }