GeoHorizonCanvasVisualizer¶
Package: inet.visualizer.canvas.scene
simple module GeoHorizonCanvasVisualizer
Draws the satellite visibility footprint of the tracked nodes on top of an
equirectangular map (e.g. a GeoMapCanvasVisualizer): the area on the
Earth from which a node is seen above the elevationMask. The footprint is
rebuilt every refresh from each node’s current position.
Node scene positions are interpreted in the geocentric ECEF frame, so the
referenced map visualizer’s coordinateSystemModule should point to a
Wgs84EcefGeographicCoordinateSystem (as used by SatelliteMobility). The map
window and the coordinate system are taken from the referenced mapVisualizer
so that the footprint always lines up with the map it is drawn on.
See also: GeoMapCanvasVisualizer, MobilityCanvasVisualizer
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 |
zIndex |
double |
-15 |
Drawing order; above the background map by default |
animationSpeed |
double |
1 |
Animation speed while nodes are moving, value must be in the range (0, +inf) |
coordinateSystemModule |
string |
Module path of the geographic (ECEF) coordinate system used to place the footprints (e.g. the network’s Wgs84EcefGeographicCoordinateSystem) |
|
mapVisualizer |
string |
“^.geoMapVisualizer” |
Module path of the map visualizer (a GeoMapCanvasVisualizer) this overlay is aligned to; its map window is used. Default matches the IntegratedCanvasVisualizer sibling; set explicitly for other layouts. |
moduleFilter |
string |
“**.mobility” |
Which mobilities are considered, matches all mobilities by default |
displayVisibility |
bool |
true |
Display the visibility footprint of each node, enabled by default |
elevationMask |
double |
0deg |
Minimum elevation angle used to compute the visibility footprint radius |
footprintSampleCount |
int |
72 |
Number of sample points around the footprint circle |
visibilityFillColor |
string |
“blue” |
Visibility footprint fill color |
visibilityLineColor |
string |
“blue” |
Visibility footprint outline color |
visibilityOpacity |
double |
0.1 |
Visibility footprint opacity |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
GeoHorizonCanvasVisualizer |
|
display |
i=block/app |
Source code¶
//
// Draws the satellite visibility footprint of the tracked nodes on top of an
// equirectangular map (e.g. a `GeoMapCanvasVisualizer`): the area on the
// Earth from which a node is seen above the `elevationMask`. The footprint is
// rebuilt every refresh from each node's current position.
//
// Node scene positions are interpreted in the geocentric ECEF frame, so the
// referenced map visualizer's `coordinateSystemModule` should point to a
// `Wgs84EcefGeographicCoordinateSystem` (as used by `SatelliteMobility`). The map
// window and the coordinate system are taken from the referenced `mapVisualizer`
// so that the footprint always lines up with the map it is drawn on.
//
// @see ~GeoMapCanvasVisualizer, ~MobilityCanvasVisualizer
//
simple GeoHorizonCanvasVisualizer extends VisualizerBase like IGeoHorizonVisualizer
{
parameters:
double zIndex = default(-15); // Drawing order; above the background map by default
double animationSpeed = default(1); // Animation speed while nodes are moving, value must be in the range (0, +inf)
string coordinateSystemModule; // Module path of the geographic (ECEF) coordinate system used to place the footprints (e.g. the network's Wgs84EcefGeographicCoordinateSystem)
string mapVisualizer = default("^.geoMapVisualizer"); // Module path of the map visualizer (a GeoMapCanvasVisualizer) this overlay is aligned to; its map window is used. Default matches the IntegratedCanvasVisualizer sibling; set explicitly for other layouts.
string moduleFilter @mutable = default("**.mobility"); // Which mobilities are considered, matches all mobilities by default
// visibility footprint
bool displayVisibility = default(true); // Display the visibility footprint of each node, enabled by default
double elevationMask @unit(deg) = default(0deg); // Minimum elevation angle used to compute the visibility footprint radius
int footprintSampleCount = default(72); // Number of sample points around the footprint circle
string visibilityFillColor = default("blue"); // Visibility footprint fill color
string visibilityLineColor = default("blue"); // Visibility footprint outline color
double visibilityOpacity = default(0.1); // Visibility footprint opacity
@class(GeoHorizonCanvasVisualizer);
@display("i=block/app");
}
File: src/inet/visualizer/canvas/scene/GeoHorizonCanvasVisualizer.ned