|
◆ make_scan()
Create or reuse a scan at position idx, with the given beam size.
- Parametri
-
[in] | idx | - index of the PolarScan |
[in] | beam_count | |
[in] | beam_size | |
[in] | elevation | |
[in] | cell_size | |
- Restituisce
- the idx PolarScan
Definizione alla linea 357 del file volume.h.
359 if (idx < this->size())
361 if (beam_count != (* this)[idx].beam_count)
363 LOG_CATEGORY( "radar.io");
364 LOG_ERROR( "make_scan(idx=%u, beam_count=%u, beam_size=%u) called, but the scan already existed with beam_count=%u", idx, beam_count, beam_size, (* this)[idx].beam_count);
365 throw std::runtime_error( "beam_size mismatch");
367 if (beam_size != (* this)[idx].beam_size)
369 LOG_CATEGORY( "radar.io");
370 LOG_ERROR( "make_scan(idx=%u, beam_count=%u, beam_size=%u) called, but the scan already existed with beam_size=%u", idx, beam_count, beam_size, (* this)[idx].beam_size);
371 throw std::runtime_error( "beam_size mismatch");
375 if (idx > this->size())
378 this->push_back(PolarScan<T>(beam_count, beam_size));
379 while (this->size() < idx)
380 this->push_back(PolarScan<T>(beam_count, this->back().beam_size));
384 this->push_back(PolarScan<T>(beam_count, beam_size));
385 this->back().elevation = elevation;
386 this->back().cell_size = cell_size;
Referenzia radarelab::PolarScanBase::beam_count, radarelab::PolarScanBase::beam_size, radarelab::PolarScanBase::cell_size, e radarelab::PolarScanBase::elevation.
Referenziato da radarelab::Volume< T >::make_scan().
|