32#ifndef RACK_SVG_OVERLAY
33#define RACK_SVG_OVERLAY
38#include <drain/prog/Command.h>
39#include <drain/util/Base64.h>
40#include <drain/image/MouseEventXML.h>
41#include <drain/image/TextSVG.h>
44#include "graphics-radar.h"
51DRAIN_GETKEY_ENUM(drain::image::TreeSVG, drain::image::MouseXML::EventClass);
101 std::string coordinateUnits =
"DEG:M";
105 CmdPolarBase(
const std::string & name,
const std::string & description, Graphic::GRAPHIC
cg = GRID) :
Graphic(
cg),
116 const std::string DATA_ID;
133 double ensureMetricRange(
double maxRange,
double range=1.0);
168DRAIN_ENUM_DICT(rack::CmdPolarBase::CoordUnit);
188 getParameters().link(
"radius", radiusMetres.range.tuple(10000.0,10000.0),
"metres or relative").setFill(
true);
199 void exec()
const override;
235 bool AMZ_TEXT =
true;
236 bool DIST_TEXT =
true;
242 getParameters().link(
"radius", radiusMetres.tuple(0.0, 0.0, 0.0),
"step:start:end (metres or relative)").fillArray =
false;
243 getParameters().link(
"azimuth", azimuthDegrees.tuple(30.0, 0.0, 360.0),
"step:start:end (degrees)").fillArray =
false;
254 void exec()
const override;
263 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres or relative)").fillArray =
true;
264 getParameters().link(
"azimuth", azimuthDegrees.range.tuple(0.0, 0.0),
"start:end (degrees)").fillArray =
false;
274 void exec()
const override;
284 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres)").fillArray =
true;
285 getParameters().link(
"azimuth", azimuthDegrees.range.min,
"(degrees)");
297 void exec()
const override;
308 std::string label =
"${NOD}\n${PLC}";
314 getParameters().link(
"label", label,
"string, supporting variables like ${where:lon}, ${NOD}, ${PLC}");
326 void exec()
const override;
Simple implementation of Command: adds name , description and parameters .
Definition Command.h:461
virtual const drain::ReferenceMap & getParameters() const
Returns the command parameters.
Definition Command.h:396
A wrapper marking string an CSS effect.
Definition ClassXML.h:57
void copyStruct(const ReferenceMap &m, const T &src, T &dst, extLinkPolicy policy=RESERVE)
Experimental. Copies references and values of a structure to another.
Definition ReferenceMap.h:412
char separator
Default character used for splitting input and output. See setValues.
Definition SmartMap.h:81
Creator of SVG image elements located in a SVG group with fixed structure.
Definition ImageSVG.h:62
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:183
Definition MouseEventXML.h:51
ElemClass
Definition MouseXML.h:73
Definition graphics-overlay.h:75
void linkMask()
Definition graphics-overlay.cpp:116
static void updateRadarSVG(RackContext &ctx, RadarSVG &radarSVG)
Definition graphics-overlay.cpp:230
static void addGeoData(const drain::image::Image &imageData, drain::image::NodeSVG &node)
Add EPGS, bounding box, encoding, quantity.
Definition graphics-overlay.cpp:419
static void resolveDistance(const drain::SteppedRange< double > &ownDist, const drain::SteppedRange< double > &sharedDist, drain::SteppedRange< double > &dist, double maxDistance=0.0)
Given a distance or a distance range, ensure metric (if relative) and also validate generally.
Definition graphics-overlay.cpp:309
Definition graphics-overlay.h:182
virtual void exec() const override
Definition graphics-overlay.cpp:449
Definition graphics-overlay.h:232
virtual void exec() const override
Definition graphics-overlay.cpp:822
Definition graphics-overlay.h:302
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:620
Definition graphics-overlay.h:279
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:1017
Definition graphics-overlay.h:258
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:948
Definition graphics-overlay.h:58
A map of radar data, indexed by quantity code (DBZH, VRAD, etc).
Definition Data.h:1293
Definition graphics-radar.h:50
Resources provided separately for each thread.
Definition resources.h:70
Vector graphics for both composites and single radar data (polar coordinates).
Definition graphics-radar.h:142
Definition AltitudeOp.cpp:42
A container for a static dictionary of enumeration values.
Definition Enum.h:51
static const std::string & getKey(const std::string &s, bool lenient=true)
Convenience for object.set(...) like commands.
Definition Enum.h:144