TDWR range updates

This commit is contained in:
Dan Paulat 2022-04-08 18:37:47 -05:00
parent 732a7e233c
commit 41b491314b
6 changed files with 35 additions and 19 deletions

View file

@ -60,7 +60,10 @@ public:
colorTable_ {},
colorTableLut_ {},
colorTableMin_ {2},
colorTableMax_ {254}
colorTableMax_ {254},
savedColorTable_ {nullptr},
savedScale_ {0.0f},
savedOffset_ {0.0f}
{
auto it = blockTypes_.find(product);
@ -471,10 +474,14 @@ void Level2ProductView::ComputeSweep()
const uint16_t dataMomentIntervalH = dataMomentInterval / 2;
// Compute gate size (number of base 250m gates per bin)
const uint16_t gateSize = std::max<uint16_t>(1, dataMomentInterval / 250);
const uint16_t gateSizeMeters =
static_cast<uint16_t>(p->radarProductManager_->gate_size());
const uint16_t gateSize =
std::max<uint16_t>(1, dataMomentInterval / gateSizeMeters);
// Compute gate range [startGate, endGate)
const uint16_t startGate = (dataMomentRange - dataMomentIntervalH) / 250;
const uint16_t startGate =
(dataMomentRange - dataMomentIntervalH) / gateSizeMeters;
const uint16_t numberOfDataMomentGates =
std::min<uint16_t>(momentData->number_of_data_moment_gates(),
static_cast<uint16_t>(gates));

View file

@ -40,7 +40,10 @@ public:
colorTable_ {},
colorTableLut_ {},
colorTableMin_ {2},
colorTableMax_ {254}
colorTableMax_ {254},
savedColorTable_ {nullptr},
savedScale_ {0.0f},
savedOffset_ {0.0f}
{
}
~Level3RadialViewImpl() = default;
@ -48,7 +51,6 @@ public:
std::string product_;
std::shared_ptr<manager::RadarProductManager> radarProductManager_;
float selectedElevation_;
std::chrono::system_clock::time_point selectedTime_;
std::shared_ptr<wsr88d::rpg::GraphicProductMessage> graphicMessage_;
@ -168,11 +170,6 @@ void Level3RadialView::LoadColorTable(
UpdateColorTable();
}
void Level3RadialView::SelectElevation(float elevation)
{
p->selectedElevation_ = elevation;
}
void Level3RadialView::SelectTime(std::chrono::system_clock::time_point time)
{
p->selectedTime_ = time;
@ -435,8 +432,11 @@ void Level3RadialView::ComputeSweep()
const uint16_t dataMomentIntervalH = dataMomentInterval / 2;
const uint16_t dataMomentRange = dataMomentIntervalH;
// Compute gate size (number of base 250m gates per bin)
const uint16_t gateSize = std::max<uint16_t>(1, dataMomentInterval / 250);
// Compute gate size (number of base gates per bin)
const uint16_t gateSize = std::max<uint16_t>(
1,
dataMomentInterval /
static_cast<uint16_t>(p->radarProductManager_->gate_size()));
// Compute gate range [startGate, endGate)
const uint16_t startGate = 0;

View file

@ -37,7 +37,6 @@ public:
const std::vector<float>& vertices() const override;
void LoadColorTable(std::shared_ptr<common::ColorTable> colorTable) override;
void SelectElevation(float elevation) override;
void SelectTime(std::chrono::system_clock::time_point time) override;
void Update() override;