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 330 del file volume.h.

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

331  {
332  // Ensure elevations grow as scan indices grow
333  if (!this->empty() && elevation <= this->back().elevation)
334  {
335  LOG_CATEGORY("radar.io");
336  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);
337  throw std::runtime_error("elevation not greather than the last one");
338  }
339  // Add the new polar scan
340  this->push_back(PolarScan<T>(beam_count, beam_size));
341  this->back().elevation = elevation;
342  this->back().cell_size = cell_size;
343  return this->back();
344  }