mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 23:10:05 +00:00
Dynamic range circle
This commit is contained in:
parent
77ba92ce7f
commit
87581892a7
9 changed files with 105 additions and 34 deletions
|
|
@ -46,6 +46,7 @@ public:
|
|||
radarProductManager_ {radarProductManager},
|
||||
latitude_ {},
|
||||
longitude_ {},
|
||||
range_ {},
|
||||
sweepTime_ {},
|
||||
colorTable_ {},
|
||||
colorTableLut_ {},
|
||||
|
|
@ -80,6 +81,7 @@ public:
|
|||
|
||||
float latitude_;
|
||||
float longitude_;
|
||||
float range_;
|
||||
|
||||
std::chrono::system_clock::time_point sweepTime_;
|
||||
|
||||
|
|
@ -120,6 +122,11 @@ Level2ProductView::color_table(uint16_t& minValue, uint16_t& maxValue) const
|
|||
}
|
||||
}
|
||||
|
||||
float Level2ProductView::range() const
|
||||
{
|
||||
return p->range_;
|
||||
}
|
||||
|
||||
std::chrono::system_clock::time_point Level2ProductView::sweep_time() const
|
||||
{
|
||||
return p->sweepTime_;
|
||||
|
|
@ -295,10 +302,16 @@ void Level2ProductView::ComputeSweep()
|
|||
return;
|
||||
}
|
||||
|
||||
const uint32_t gates = momentData0->number_of_data_moment_gates();
|
||||
|
||||
auto radialData0 = radarData0->radial_data_block();
|
||||
auto volumeData0 = radarData0->volume_data_block();
|
||||
p->latitude_ = volumeData0->latitude();
|
||||
p->longitude_ = volumeData0->longitude();
|
||||
p->sweepTime_ = util::TimePoint(radarData0->modified_julian_date(),
|
||||
p->range_ =
|
||||
momentData0->data_moment_range() +
|
||||
momentData0->data_moment_range_sample_interval() * (gates - 0.5f);
|
||||
p->sweepTime_ = util::TimePoint(radarData0->modified_julian_date(),
|
||||
radarData0->collection_time());
|
||||
|
||||
// Calculate vertices
|
||||
|
|
@ -306,7 +319,6 @@ void Level2ProductView::ComputeSweep()
|
|||
|
||||
// Setup vertex vector
|
||||
std::vector<float>& vertices = p->vertices_;
|
||||
const uint32_t gates = momentData0->number_of_data_moment_gates();
|
||||
size_t vIndex = 0;
|
||||
vertices.clear();
|
||||
vertices.resize(radials * gates * VERTICES_PER_BIN * VALUES_PER_VERTEX);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ public:
|
|||
~Level2ProductView();
|
||||
|
||||
const std::vector<boost::gil::rgba8_pixel_t>&
|
||||
color_table(uint16_t& minValue, uint16_t& maxValue) const override;
|
||||
color_table(uint16_t& minValue, uint16_t& maxValue) const override;
|
||||
float range() const override;
|
||||
std::chrono::system_clock::time_point sweep_time() const override;
|
||||
const std::vector<float>& vertices() const override;
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,11 @@ RadarProductView::color_table(uint16_t& minValue, uint16_t& maxValue) const
|
|||
return DEFAULT_COLOR_TABLE;
|
||||
}
|
||||
|
||||
float RadarProductView::range() const
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
std::chrono::system_clock::time_point RadarProductView::sweep_time() const
|
||||
{
|
||||
return {};
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ public:
|
|||
~RadarProductView();
|
||||
|
||||
virtual const std::vector<boost::gil::rgba8_pixel_t>&
|
||||
color_table(uint16_t& minValue, uint16_t& maxValue) const;
|
||||
color_table(uint16_t& minValue, uint16_t& maxValue) const;
|
||||
virtual float range() const;
|
||||
virtual std::chrono::system_clock::time_point sweep_time() const;
|
||||
virtual const std::vector<float>& vertices() const = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue