public LASFile(string path, LASHeader header, LASVLR[] vlrs, LASEVLR[] evlrs) : base(path) { m_header = header; m_vlrs = vlrs; m_evlrs = evlrs; using (var stream = File.Create(FilePath)) { using (var writer = new FlexibleBinaryWriter(stream)) { header.Serialize(writer); } //header.WriteVLRs(stream, vlrs); } m_extent = m_header.Extent; }
public void WriteVLRs(Stream stream, LASVLR[] vlrs) { //m_numberOfVariableLengthRecords = vlrs.Length; // my stream doesn't seek for now stream.Seek(m_headerSize, SeekOrigin.Begin); using (var writer = new FlexibleBinaryWriter(stream)) { foreach (var vlr in vlrs) { writer.Write(vlr); } } }
public void WriteEVLRs(Stream stream, LASEVLR[] vlrs) { stream.Seek((long)m_startOfFirstExtendedVariableLengthRecord, SeekOrigin.Begin); using (var writer = new FlexibleBinaryWriter(stream)) { foreach (var vlr in vlrs) { writer.Write(vlr); } } }
public void WriteHeader() { Close(); // todo: mark as dirty somehow using (var stream = File.OpenWrite(FilePath)) { using (var writer = new FlexibleBinaryWriter(stream)) { writer.Write(m_file.Header); } m_file.Header.WriteVLRs(stream, m_file.VLRs); m_file.Header.WriteEVLRs(stream, m_file.EVLRs); } }