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 getParameters().link(
"radius", radiusMetres.range.tuple(10000.0,10000.0),
"metres or relative").setFill(
true);
163 getParameters().link(
"MASK", MASK,
"add mask");
168 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
173 void exec()
const override;
185 bool AMZ_TEXT =
true;
186 bool DIST_TEXT =
true;
192 getParameters().link(
"radius", radiusMetres.tuple(0.0, 0.0, 0.0),
"step:start:end (metres or relative)").fillArray =
false;
193 getParameters().link(
"azimuth", azimuthDegrees.tuple(30.0, 0.0, 360.0),
"step:start:end (degrees)").fillArray =
false;
194 getParameters().link(
"MASK", MASK,
"add a mask");
200 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
204 void exec()
const override;
213 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres or relative)").fillArray =
true;
214 getParameters().link(
"azimuth", azimuthDegrees.range.tuple(0.0, 0.0),
"start:end (degrees)").fillArray =
false;
215 getParameters().link(
"MASK", MASK,
"add a mask");
220 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
224 void exec()
const override;
233 CmdRadarRay() :
CmdPolarBase(__FUNCTION__,
"Draw a sector, annulus or a disc. Styles: GRID,HIGHLIGHT,CmdPolarSector", RAY) {
234 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres)").fillArray =
true;
235 getParameters().link(
"azimuth", azimuthDegrees.range.min,
"(degrees)");
236 getParameters().link(
"MASK", MASK,
"add a mask");
241 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
245 void exec()
const override;
256 std::string label =
"${NOD}\n${PLC}";
262 getParameters().link(
"label", label,
"string, supporting variables like ${where:lon}, ${NOD}, ${PLC}");
269 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
274 void exec()
const override;
Simple implementation of Command: adds name , description and parameters .
Definition Command.h:443
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:81
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:183
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:156
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:412
Definition graphics-overlay.h:135
virtual void exec() const override
Definition graphics-overlay.cpp:347
Definition graphics-overlay.h:182
virtual void exec() const override
Definition graphics-overlay.cpp:652
Definition graphics-overlay.h:250
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:496
Definition graphics-overlay.h:229
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:822
Definition graphics-overlay.h:208
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:764
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