|
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 342 del file volume.h.
Referenziato da radarelab::Volume< unsigned char >::make_scan().
344 if (idx < this->size())
346 if (beam_count != (* this)[idx].beam_count)
348 LOG_CATEGORY( "radar.io");
349 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);
350 throw std::runtime_error( "beam_size mismatch");
352 if (beam_size != (* this)[idx].beam_size)
354 LOG_CATEGORY( "radar.io");
355 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);
356 throw std::runtime_error( "beam_size mismatch");
360 if (idx > this->size())
363 this->push_back(PolarScan<T>(beam_count, beam_size));
364 while (this->size() < idx)
365 this->push_back(PolarScan<T>(beam_count, this->back().beam_size));
369 this->push_back(PolarScan<T>(beam_count, beam_size));
370 this->back().elevation = elevation;
371 this->back().cell_size = cell_size;
|