use std::io::Read;
mod definitions;
pub use definitions::*;
mod header;
pub use header::Header;
mod message;
pub use message::Message;
mod elevation_data_block;
pub use elevation_data_block::ElevationDataBlock;
use crate::result::Result;
use crate::util::deserialize;
pub fn decode_volume_coverage_pattern<R: Read>(reader: &mut R) -> Result<Message> {
let header: Header = deserialize(reader)?;
let mut elevations: Vec<ElevationDataBlock> = Vec::new();
for _ in 0..header.number_of_elevation_cuts {
elevations.push(deserialize(reader)?);
}
let message = Message::new(header, elevations);
Ok(message)
}