mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 13:30:06 +00:00
Select product times based on current time, rather than volume time
Ensures scans not included in the volume times (e.g., multiple level 2 scans per file) are selected
This commit is contained in:
parent
d209ce97ea
commit
2a9dc72721
5 changed files with 18 additions and 26 deletions
|
|
@ -241,7 +241,7 @@ public:
|
|||
|
||||
std::vector<map::MapWidget*> maps_;
|
||||
|
||||
std::chrono::system_clock::time_point volumeTime_ {};
|
||||
std::chrono::system_clock::time_point selectedTime_ {};
|
||||
|
||||
public slots:
|
||||
void UpdateMapParameters(double latitude,
|
||||
|
|
@ -997,22 +997,15 @@ void MainWindowImpl::ConnectAnimationSignals()
|
|||
|
||||
connect(timelineManager_.get(),
|
||||
&manager::TimelineManager::SelectedTimeUpdated,
|
||||
[this]()
|
||||
{
|
||||
for (auto map : maps_)
|
||||
{
|
||||
QMetaObject::invokeMethod(
|
||||
map, static_cast<void (QWidget::*)()>(&QWidget::update));
|
||||
}
|
||||
});
|
||||
connect(timelineManager_.get(),
|
||||
&manager::TimelineManager::VolumeTimeUpdated,
|
||||
[this](std::chrono::system_clock::time_point dateTime)
|
||||
{
|
||||
volumeTime_ = dateTime;
|
||||
selectedTime_ = dateTime;
|
||||
|
||||
for (auto map : maps_)
|
||||
{
|
||||
map->SelectTime(dateTime);
|
||||
QMetaObject::invokeMethod(
|
||||
map, static_cast<void (QWidget::*)()>(&QWidget::update));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -1400,7 +1393,8 @@ void MainWindowImpl::SelectRadarProduct(map::MapWidget* mapWidget,
|
|||
UpdateRadarProductSettings();
|
||||
}
|
||||
|
||||
mapWidget->SelectRadarProduct(group, productName, productCode, volumeTime_);
|
||||
mapWidget->SelectRadarProduct(
|
||||
group, productName, productCode, selectedTime_);
|
||||
}
|
||||
|
||||
void MainWindowImpl::SetActiveMap(map::MapWidget* mapWidget)
|
||||
|
|
|
|||
|
|
@ -470,16 +470,8 @@ void TimelineManager::Impl::PlaySync()
|
|||
auto selectTimeEnd = std::chrono::steady_clock::now();
|
||||
auto elapsedTime = selectTimeEnd - selectTimeStart;
|
||||
|
||||
if (volumeTimeUpdated)
|
||||
{
|
||||
// Wait for radar sweeps to update
|
||||
RadarSweepMonitorWait(radarSweepMonitorLock);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Disable radar sweep monitor
|
||||
RadarSweepMonitorDisable();
|
||||
}
|
||||
|
||||
// Calculate the interval until the next update, prior to selecting
|
||||
std::chrono::milliseconds interval;
|
||||
|
|
|
|||
|
|
@ -497,7 +497,7 @@ void Level2ProductView::UpdateColorTableLut()
|
|||
|
||||
void Level2ProductView::ComputeSweep()
|
||||
{
|
||||
logger_->debug("ComputeSweep()");
|
||||
logger_->trace("ComputeSweep()");
|
||||
|
||||
boost::timer::cpu_timer timer;
|
||||
|
||||
|
|
@ -529,6 +529,8 @@ void Level2ProductView::ComputeSweep()
|
|||
return;
|
||||
}
|
||||
|
||||
logger_->debug("Computing Sweep");
|
||||
|
||||
std::size_t radials = radarData->crbegin()->first + 1;
|
||||
std::size_t vertexRadials = radials;
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ std::tuple<const void*, size_t, size_t> Level3RadialView::GetMomentData() const
|
|||
|
||||
void Level3RadialView::ComputeSweep()
|
||||
{
|
||||
logger_->debug("ComputeSweep()");
|
||||
logger_->trace("ComputeSweep()");
|
||||
|
||||
boost::timer::cpu_timer timer;
|
||||
|
||||
|
|
@ -185,6 +185,8 @@ void Level3RadialView::ComputeSweep()
|
|||
return;
|
||||
}
|
||||
|
||||
logger_->debug("Computing Sweep");
|
||||
|
||||
// A message with radial data should either have a Digital Radial Data
|
||||
// Array Packet, or a Radial Data Array Packet
|
||||
std::shared_ptr<wsr88d::rpg::DigitalRadialDataArrayPacket>
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ std::tuple<const void*, size_t, size_t> Level3RasterView::GetMomentData() const
|
|||
|
||||
void Level3RasterView::ComputeSweep()
|
||||
{
|
||||
logger_->debug("ComputeSweep()");
|
||||
logger_->trace("ComputeSweep()");
|
||||
|
||||
boost::timer::cpu_timer timer;
|
||||
|
||||
|
|
@ -169,6 +169,8 @@ void Level3RasterView::ComputeSweep()
|
|||
return;
|
||||
}
|
||||
|
||||
logger_->debug("Computing Sweep");
|
||||
|
||||
// A message with raster data should have a Raster Data Packet
|
||||
std::shared_ptr<wsr88d::rpg::RasterDataPacket> rasterData = nullptr;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue