|
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 355 del file volume.h.
Referenziato da radarelab::Volume< unsigned char >::make_scan().
357 if (idx < this->size())
359 if (beam_count != (* this)[idx].beam_count)
361 LOG_CATEGORY( "radar.io");
362 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);
363 throw std::runtime_error( "beam_size mismatch");
365 if (beam_size != (* this)[idx].beam_size)
367 LOG_CATEGORY( "radar.io");
368 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);
369 throw std::runtime_error( "beam_size mismatch");
373 if (idx > this->size())
376 this->push_back(PolarScan<T>(beam_count, beam_size));
377 while (this->size() < idx)
378 this->push_back(PolarScan<T>(beam_count, this->back().beam_size));
382 this->push_back(PolarScan<T>(beam_count, beam_size));
383 this->back().elevation = elevation;
384 this->back().cell_size = cell_size;
|