Add sequence number, volume scan and elevation to product description hover

This commit is contained in:
Dan Paulat 2023-11-19 21:45:43 -06:00
parent c190813946
commit d5222eac63
3 changed files with 36 additions and 2 deletions

View file

@ -1,4 +1,5 @@
#include <scwx/qt/view/level3_product_view.hpp>
#include <scwx/common/characters.hpp>
#include <scwx/common/constants.hpp>
#include <scwx/util/logger.hpp>
#include <scwx/util/time.hpp>
@ -8,6 +9,7 @@
#include <boost/range/irange.hpp>
#include <boost/timer/timer.hpp>
#include <fmt/format.h>
#if !defined(_MSC_VER)
# include <date/date.h>
@ -189,6 +191,22 @@ Level3ProductView::GetDescriptionFields() const
description.emplace_back(
"Product Time",
scwx::util::TimeString(productTime, currentZone, false));
description.emplace_back(
"Sequence Number",
fmt::format("{}", descriptionBlock->sequence_number()));
description.emplace_back(
"Volume Scan",
fmt::format("{}", descriptionBlock->volume_scan_number()));
if (descriptionBlock->elevation_number() > 0)
{
description.emplace_back(
"Elevation",
fmt::format("{}{}",
descriptionBlock->elevation().value(),
common::Unicode::kDegree));
}
}
}

View file

@ -5,6 +5,8 @@
#include <cstdint>
#include <memory>
#include <units/angle.h>
namespace scwx
{
namespace wsr88d
@ -62,6 +64,8 @@ public:
float log_offset() const;
float log_scale() const;
units::angle::degrees<double> elevation() const;
bool IsCompressionEnabled() const;
size_t data_size() const override;

View file

@ -590,6 +590,18 @@ float ProductDescriptionBlock::log_scale() const
return logScale;
}
units::angle::degrees<double> ProductDescriptionBlock::elevation() const
{
double elevation = 0.0;
if (p->elevationNumber_ > 0)
{
elevation = p->parameters_[2] * 0.1;
}
return units::angle::degrees<double> {elevation};
}
bool ProductDescriptionBlock::IsCompressionEnabled() const
{
bool isCompressed = false;