Elaboradar  0.1

◆ append_scan()

template<typename T >
PolarScan<T>& radarelab::volume::Scans< T >::append_scan ( unsigned  beam_count,
unsigned  beam_size,
double  elevation,
double  cell_size,
const T &  default_value = algo::DBZ::BYTEtoDB(1) 
)
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 332 del file volume.h.

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

Referenzia radarelab::PolarScanBase::beam_count, radarelab::PolarScanBase::beam_size, radarelab::PolarScanBase::cell_size, e radarelab::PolarScanBase::elevation.

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