Elaboradar  0.1
 Tutto Classi Namespace File Funzioni Variabili Tipi enumerati (enum) Gruppi
template<typename T>
PolarScan<T>& radarelab::volume::Scans< T >::append_scan ( unsigned  beam_count,
unsigned  beam_size,
double  elevation,
double  cell_size 
)
inline

Append a scan to this volume.

It is required that scans are added in increasing elevation order, because higher scan indices need to correspond to higher elevation angles.

It is required that beam_size is lower than

Parametri
[in]beam_count
[in]beam_size
[in]elevation- PolarScan elevation (degrees)
[in]cell_size- PolarScan cell size [m]

Definizione alla linea 317 del file volume.h.

Referenziato da radarelab::Volume< unsigned char >::append_scan(), radarelab::volume::ODIMLoader::load(), e elaboradar::CUM_BAC::read_odim_volume().

318  {
319  // Ensure elevations grow as scan indices grow
320  if (!this->empty() && elevation <= this->back().elevation)
321  {
322  LOG_CATEGORY("radar.io");
323  LOG_ERROR("append_scan(beam_count=%u, beam_size=%u, elevation=%f, cell_size=%f) called with an elevation that is not above the last one (%f)", beam_count, beam_size, elevation, cell_size, this->back().elevation);
324  throw std::runtime_error("elevation not greather than the last one");
325  }
326  // Add the new polar scan
327  this->push_back(PolarScan<T>(beam_count, beam_size));
328  this->back().elevation = elevation;
329  this->back().cell_size = cell_size;
330  return this->back();
331  }