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

inet.visualizer.canvas.scene.GeoHorizonCanvasVisualizerGeoHorizonCanvasVisualizersimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

IntegratedMultiCanvasVisualizer

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

VisualizerBase

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