GeoSkyViewCanvasVisualizer¶
Package: inet.visualizer.canvas.scene
simple module GeoSkyViewCanvasVisualizer
Draws an azimuth/elevation “sky view” polar plot next to each observer node
(typically a ground station using a StationaryMobility), showing
where the target nodes (typically satellites) currently are in the observer’s
sky. The center is the zenith (90 deg elevation), the outer rim is the horizon
(0 deg); North is up and East is to the right (azimuth clockwise). Concentric
rings mark elevations, the cardinal points (N/E/S/W) are drawn, and the band
below elevationMask is masked translucently. Each visible target is a
colored dot (optionally named, with a fading sky trail); targets below the
horizon are hidden.
Look angles are computed from the geographic positions of the observer and the
targets via the IGeographicCoordinateSystem given by coordinateSystemModule.
See also: GeoMapCanvasVisualizer, IGeoSkyViewVisualizer
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for visualizer simple modules. It simply provides the visualization target module for derived modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
visualizationTargetModule |
string |
“^” |
Module path relative to the visualizer which determines where the visualization should appear in the user interface, parent module by default |
visualizationSubjectModule |
string |
“^” |
Module path relative to the visualizer which determines what part of the simulation model the visualizer displays in the user interface, parent module by default |
tags |
string |
“” |
Tag added to each visualization for disambiguation in the runtime environment |
displaySkyView |
bool |
true |
Display the sky view plots, enabled by default |
animationSpeed |
double |
1 |
Animation speed while targets move, value must be in the range (0, +inf) |
zIndex |
double |
-10 |
Determines the drawing order of figures relative to other visualizers |
coordinateSystemModule |
string |
Module path of the geographic coordinate system used to compute look angles |
|
observerFilter |
string |
“*” |
Which mobilities are observers (get a sky plot) |
targetFilter |
string |
“*” |
Which mobilities are targets (drawn in each plot) |
plotRadius |
double |
70 |
Radius of the sky plot in pixels (elevation 0 at the rim, 90 at the center) |
plotOffsetX |
double |
inf |
Horizontal offset (pixels) of the plot’s upper-left corner from the observer icon; infinite (the default) detaches the plots from the icons and tiles them in a grid below the module’s viewport |
plotOffsetY |
double |
inf |
Vertical offset (pixels) of the plot’s upper-left corner from the observer icon; infinite (the default) detaches the plots from the icons and tiles them in a grid below the module’s viewport |
elevationMask |
double |
0deg |
Minimum usable elevation; the band between it and the horizon is masked |
backgroundColor |
string |
“#1a2a40” |
Sky disc fill color |
backgroundOpacity |
double |
0.15 |
Sky disc fill opacity |
ringColor |
string |
“#888888” |
Elevation ring and graticule color |
ringLineWidth |
double |
1 |
Elevation ring line width |
maskColor |
string |
“#808080” |
Fill color of the below-minimum-elevation mask |
maskOpacity |
double |
0.25 |
Opacity of the below-minimum-elevation mask |
cardinalColor |
string |
“#888888” |
|
labelColor |
string |
“black” |
Color of the title and elevation labels |
targetColor |
string |
“dark” |
Target dot color, a list of colors or a color group name (e.g. dark, light) |
targetRadius |
double |
3 |
Radius of a target dot in pixels |
lowElevationOpacity |
double |
0.35 |
Opacity of target dots between the horizon and elevationMask |
displayLabels |
bool |
true |
Display the target name next to its dot, enabled by default |
displayTrails |
bool |
true |
Display a fading sky trail of each target’s recent path, enabled by default |
trailLength |
int |
100 |
Number of sections in a sky trail |
trailLineStyle |
string |
“solid” |
Sky trail line style (solid, dashed, dotted) |
trailLineWidth |
double |
1 |
Sky trail line width |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
GeoSkyViewCanvasVisualizer |
|
display |
i=block/app |
Source code¶
//
// Draws an azimuth/elevation "sky view" polar plot next to each observer node
// (typically a ground station using a `StationaryMobility`), showing
// where the target nodes (typically satellites) currently are in the observer's
// sky. The center is the zenith (90 deg elevation), the outer rim is the horizon
// (0 deg); North is up and East is to the right (azimuth clockwise). Concentric
// rings mark elevations, the cardinal points (N/E/S/W) are drawn, and the band
// below `elevationMask` is masked translucently. Each visible target is a
// colored dot (optionally named, with a fading sky trail); targets below the
// horizon are hidden.
//
// Look angles are computed from the geographic positions of the observer and the
// targets via the `IGeographicCoordinateSystem` given by `coordinateSystemModule`.
//
// @see ~GeoMapCanvasVisualizer, ~IGeoSkyViewVisualizer
//
simple GeoSkyViewCanvasVisualizer extends VisualizerBase like IGeoSkyViewVisualizer
{
parameters:
bool displaySkyView = default(true); // Display the sky view plots, enabled by default
double animationSpeed = default(1); // Animation speed while targets move, value must be in the range (0, +inf)
double zIndex = default(-10); // Determines the drawing order of figures relative to other visualizers
string coordinateSystemModule; // Module path of the geographic coordinate system used to compute look angles
string observerFilter @mutable = default("*"); // Which mobilities are observers (get a sky plot)
string targetFilter @mutable = default("*"); // Which mobilities are targets (drawn in each plot)
double plotRadius = default(70); // Radius of the sky plot in pixels (elevation 0 at the rim, 90 at the center)
double plotOffsetX = default(inf); // Horizontal offset (pixels) of the plot's upper-left corner from the observer icon; infinite (the default) detaches the plots from the icons and tiles them in a grid below the module's viewport
double plotOffsetY = default(inf); // Vertical offset (pixels) of the plot's upper-left corner from the observer icon; infinite (the default) detaches the plots from the icons and tiles them in a grid below the module's viewport
double elevationMask @unit(deg) = default(0deg); // Minimum usable elevation; the band between it and the horizon is masked
string backgroundColor = default("#1a2a40"); // Sky disc fill color
double backgroundOpacity = default(0.15); // Sky disc fill opacity
string ringColor = default("#888888"); // Elevation ring and graticule color
double ringLineWidth = default(1); // Elevation ring line width
string maskColor = default("#808080"); // Fill color of the below-minimum-elevation mask
double maskOpacity = default(0.25); // Opacity of the below-minimum-elevation mask
string cardinalColor = default("#888888"); // Color of the N-S/W-E lines and the N/E/S/W labels
string labelColor = default("black"); // Color of the title and elevation labels
string targetColor = default("dark"); // Target dot color, a list of colors or a color group name (e.g. dark, light)
double targetRadius = default(3); // Radius of a target dot in pixels
double lowElevationOpacity = default(0.35); // Opacity of target dots between the horizon and elevationMask
bool displayLabels = default(true); // Display the target name next to its dot, enabled by default
bool displayTrails = default(true); // Display a fading sky trail of each target's recent path, enabled by default
int trailLength = default(100); // Number of sections in a sky trail
string trailLineStyle = default("solid"); // Sky trail line style (solid, dashed, dotted)
double trailLineWidth = default(1); // Sky trail line width
@class(GeoSkyViewCanvasVisualizer);
@display("i=block/app");
}
File: src/inet/visualizer/canvas/scene/GeoSkyViewCanvasVisualizer.ned