32#ifndef RACK_SVG_OVERLAY
33#define RACK_SVG_OVERLAY
38#include <drain/prog/Command.h>
39#include <drain/util/Base64.h>
43#include "graphics-radar.h"
77 CmdPolarBase(
const std::string & name,
const std::string & description, Graphic::GRAPHIC cg = GRID) :
Graphic(cg),
88 const std::string DATA_ID;
98 drain::image::TreeSVG & getOverlay(drain::image::TreeSVG & overlayGroup,
const std::string & label=
"")
const;
101 double ensureMetricRange(
double maxRange,
double range=1.0);
141 getParameters().link(
"radius", radiusMetres.range.tuple(10000.0,10000.0),
"metres or relative").setFill(
true);
142 getParameters().link(
"MASK", MASK,
"add mask");
147 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
152 void exec()
const override;
162 bool AMZ_TEXT =
true;
163 bool DIST_TEXT =
true;
169 getParameters().link(
"radius", radiusMetres.tuple(0.0, 0.0, 0.0),
"step:start:end (metres or relative)").fillArray =
false;
170 getParameters().link(
"azimuth", azimuthDegrees.tuple(30.0, 0.0, 360.0),
"step:start:end (degrees)").fillArray =
false;
171 getParameters().link(
"MASK", MASK,
"add a mask");
177 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
181 void exec()
const override;
190 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres or relative)").fillArray =
true;
191 getParameters().link(
"azimuth", azimuthDegrees.range.tuple(0.0, 0.0),
"start:end (degrees)").fillArray =
false;
192 getParameters().link(
"MASK", MASK,
"add a mask");
197 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
201 void exec()
const override;
210 CmdRadarRay() :
CmdPolarBase(__FUNCTION__,
"Draw a sector, annulus or a disc. Styles: GRID,HIGHLIGHT,CmdPolarSector", RAY) {
211 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres)").fillArray =
true;
212 getParameters().link(
"azimuth", azimuthDegrees.range.min,
"(degrees)");
213 getParameters().link(
"MASK", MASK,
"add a mask");
218 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
222 void exec()
const override;
233 std::string label =
"${NOD}\n${PLC}";
239 getParameters().link(
"label", label,
"string, supporting variables like ${where:lon}, ${NOD}, ${PLC}");
246 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
251 void exec()
const override;
Simple implementation of Command: adds name , description and parameters .
Definition Command.h:445
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:415
char separator
Default character used for splitting input and output. See setValues.
Definition SmartMap.h:85
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:193
Definition graphics-overlay.h:52
static void addGeoData(const drain::image::Image &imageData, drain::image::NodeSVG &node)
Add EPGS, bounding box, encoding, quantity.
Definition graphics-overlay.cpp:320
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:215
static drain::image::TreeSVG & getOverlayGroup(RackContext &ctx, RadarSVG &radarSVG)
Definition graphics-overlay.cpp:89
Definition graphics-overlay.h:135
virtual void exec() const override
Definition graphics-overlay.cpp:347
Definition graphics-overlay.h:159
virtual void exec() const override
Definition graphics-overlay.cpp:560
Definition graphics-overlay.h:227
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:404
Definition graphics-overlay.h:206
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:730
Definition graphics-overlay.h:185
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:672
Definition graphics-radar.h:49
Resources provided separately for each thread.
Definition resources.h:67
Vector graphics for both composites and single radar data (polar coordinates).
Definition graphics-radar.h:134
Definition DataSelector.cpp:44