32#ifndef RACK_WIREFRAME_SVG
33#define RACK_WIREFRAME_SVG
36#include <drain/prog/Command.h>
41#include "graphics-radar.h"
75 CmdPolarBase(
const std::string & name,
const std::string & description, Graphic::GRAPHIC cg = GRID) :
Graphic(cg),
86 const std::string DATA_ID;
105 drain::image::TreeSVG & getOverlay(drain::image::TreeSVG & overlayGroup,
const std::string & label=
"")
const;
108 double ensureMetricRange(
double maxRange,
double range=1.0);
139 getParameters().link(
"radius", radiusMetres.range.tuple(10000.0,10000.0),
"metres or relative").setFill(
true);
140 getParameters().link(
"MASK", MASK,
"add mask");
145 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
150 void exec()
const override;
160 bool AMZ_TEXT =
true;
161 bool DIST_TEXT =
true;
167 getParameters().link(
"radius", radiusMetres.tuple(0.0, 0.0, 0.0),
"step:start:end (metres or relative)").fillArray =
false;
168 getParameters().link(
"azimuth", azimuthDegrees.tuple(30.0, 0.0, 360.0),
"step:start:end (degrees)").fillArray =
false;
169 getParameters().link(
"MASK", MASK,
"add a mask");
175 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
179 void exec()
const override;
188 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres or relative)").fillArray =
true;
189 getParameters().link(
"azimuth", azimuthDegrees.range.tuple(0.0, 0.0),
"start:end (degrees)").fillArray =
false;
190 getParameters().link(
"MASK", MASK,
"add a mask");
195 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
199 void exec()
const override;
208 CmdRadarRay() :
CmdPolarBase(__FUNCTION__,
"Draw a sector, annulus or a disc. Styles: GRID,HIGHLIGHT,CmdPolarSector", RAY) {
209 getParameters().link(
"radius", radiusMetres.range.tuple(0.0, 1.0),
"start:end (metres)").fillArray =
true;
210 getParameters().link(
"azimuth", azimuthDegrees.range.min,
"(degrees)");
211 getParameters().link(
"MASK", MASK,
"add a mask");
216 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
220 void exec()
const override;
231 std::string label =
"${NOD}\n${PLC}";
236 getParameters().link(
"label", label,
"string, supporting variables like ${where:lon}, ${NOD}, ${PLC}");
242 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
247 void exec()
const override;
266 void exec()
const override ;
282 getParameters().link(
"lonlat", coords.tuple(25.0, 60.0),
"Coordinate (lon,lat) in degrees(decimal) or metres.");
283 getParameters().link(
"radius", radiusMetres.range.tuple(0,25000),
"metres or relative").setFill(
true);
284 getParameters().link(
"id",
id,
"XML element id");
285 getParameters().link(
"style", style,
"XML element CSS style");
290 getParameters().
copyStruct(cmd.getParameters(), cmd, *
this);
293 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
Definition graphics-overlay.h:252
void exec() const override
Definition graphics-overlay.cpp:819
Definition graphics-overlay.h:271
void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:709
Definition graphics-overlay.h:50
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:213
static drain::image::TreeSVG & getOverlayGroup(RackContext &ctx, RadarSVG &radarSVG)
Definition graphics-overlay.cpp:116
Definition graphics-overlay.h:133
virtual void exec() const override
Definition graphics-overlay.cpp:333
Definition graphics-overlay.h:157
virtual void exec() const override
Definition graphics-overlay.cpp:394
Definition graphics-overlay.h:225
virtual void exec() const override
Definition graphics-overlay.cpp:628
Definition graphics-overlay.h:204
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:564
Definition graphics-overlay.h:183
virtual void exec() const override
Run the command with current parameter values.
Definition graphics-overlay.cpp:506
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:133
Definition DataSelector.cpp:44