MediumCanvasVisualizer¶
Package: inet.visualizer.canvas.physicallayer
simple module MediumCanvasVisualizer
Visualizes a medium on a 2D canvas. It displays communication ranges and interference ranges as circles around network nodes. It displays an image at network nodes which are currently transmitting, and a different image at other network nodes which are currently receiving. It also displays radio signals as a 2D ring or a 3D sphere as they propagate through the medium.
See also: MediumCanvasVisualizer, MediumVisualizer, MediumVisualizerBase, IMediumVisualizer
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. |
|
compound module |
Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type. |
|
compound module |
Integrates canvas and osg medium visualizers into a single module. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for medium visualizer simple modules. It keeps track of ongoing signal departures, ongoing signal arrivals, and propagating signals. |
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 |
mediumModule |
string |
“radioMedium” |
The medium module that is displayed, refers to a top-level submodule by default |
networkNodeVisualizerModule |
string |
“^.networkNodeVisualizer” |
The network node visualizer module, refers to a sibling submodule by default |
nodeFilter |
string |
“*” |
Which nodes are considered, matches all nodes by default |
interfaceFilter |
string |
“*” |
Which interfaces are considered, matches all interfaces by default |
packetFilter |
object |
“*” |
Which packets are considered, matches all packets by default |
displaySignals |
bool |
false |
Display signals propagating through the medium, disabled by default |
signalColor |
string |
“dark” |
Signal color is a list of colors or a color group name (e.g., dark, light), a set of dark colors by default |
signalPropagationAnimationSpeed |
double |
nan |
Animation speed while the very beginning or end of a signal is propagating on the medium, value must be in the range (0, +inf) or NaN, the latter means automatic setting |
signalPropagationAnimationTime |
double |
1s |
Signal propagation animation duration when signalPropagationAnimationSpeed is unspecified |
signalPropagationAdditionalTime |
double |
0s |
Additional simulation time to animate signal propagation after leaving the last receiver |
signalTransmissionAnimationSpeed |
double |
nan |
Animation speed while a signal is being transmitted on the medium, value must be in the range (0, +inf) or NaN, the latter means automatic setting |
signalTransmissionAnimationTime |
double |
1s |
Signal transmission animation duration when signalTransmissionAnimationSpeed is unspecified |
signalAnimationSpeedChangeTimeMode |
string |
“realTime” |
Specifies the time mode for animation speed changes between propagation and transmission animation |
signalAnimationSpeedChangeTime |
double |
1s |
Animation speed changes smoothly from propagationAnimationSpeed to transmissionAnimationSpeed in the specified real time |
displaySignalDepartures |
bool |
false |
Display an image where a signal departure is currently in progress, disabled by default |
signalDepartureImage |
string |
“misc/signal_departure.png” |
Image for ongoing signal departures |
signalDeparturePlacementHint |
string |
“topCenter” |
Annotation placement hint, space-separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
signalDeparturePlacementPriority |
double |
1 |
Determines the order of annotation positioning |
displaySignalArrivals |
bool |
false |
Display an image where a signal arrival is currently in progress, disabled by default |
signalArrivalImage |
string |
“misc/signal_arrival.png” |
Image for ongoing signal arrivals |
signalArrivalPlacementHint |
string |
“topCenter” |
Annotation placement hint, space-separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
signalArrivalPlacementPriority |
double |
-1 |
Determines the order of annotation positioning |
displayCommunicationRanges |
bool |
false |
Display communication ranges as circles around radios, enabled by default |
communicationRangeLineColor |
string |
“blue” |
Communication range circle line color, blue by default |
communicationRangeLineStyle |
string |
“solid” |
Communication range circle line style, solid by default |
communicationRangeLineWidth |
double |
1 |
Communication range circle line width, 1 by default |
displayInterferenceRanges |
bool |
false |
Display interference ranges as circles around radios, disabled by default |
interferenceRangeLineColor |
string |
“gray” |
Interference range circle color, gray by default |
interferenceRangeLineStyle |
string |
“solid” |
Interference range circle line style, solid by default |
interferenceRangeLineWidth |
double |
1 |
Interference range circle line width, 1 by default |
autoPowerAxis |
bool |
true |
Enables automatic power axis configuration |
signalMinPower |
double |
inf dBmW |
Minimum signal power if the axis is not automatic |
signalMaxPower |
double |
0 dBmW |
Maximum signal power if the axis is not automatic |
signalMinPowerDensity |
double |
inf dBmWpMHz |
Minimum signal power density if the axis is not automatic |
signalMaxPowerDensity |
double |
-inf dBmWpMHz |
Maximum signal power density if the axis is not automatic |
autoTimeAxis |
bool |
true |
Enables automatic time axis configuration |
signalMinTime |
double |
0 s |
Relative to the current simulation time |
signalMaxTime |
double |
0 s |
Relative to the current simulation time |
autoFrequencyAxis |
bool |
true |
Enables automatic frequency axis configuration |
signalMinFrequency |
double |
inf Hz |
Minimum signal frequency if the axis is not automatic |
signalMaxFrequency |
double |
-inf Hz |
Maximum signal frequency if the axis is not automatic |
displayMainPowerDensityMap |
bool |
false |
Display a power density map for the transmission medium, can be enabled with dimensional analog models only |
mainPowerDensityMapPixmapDensity |
double |
1 |
Pixmap relative resolution |
mainPowerDensityMapMinX |
double |
0 |
Minimum X coordinate |
mainPowerDensityMapMaxX |
double |
nan |
Maximum X coordinate, compound module size by default |
mainPowerDensityMapMinY |
double |
0 |
Minimum Y coordinate |
mainPowerDensityMapMaxY |
double |
nan |
Maximum Y coordinate, compound module size by default |
mainPowerDensityMapZ |
double |
0 |
Z coordinate |
mainPowerDensityMapFigureXTickCount |
int |
3 |
Number of ticks along the X-axis |
mainPowerDensityMapFigureYTickCount |
int |
3 |
Number of ticks along the Y-axis |
displayPowerDensityMaps |
bool |
false |
Display power density maps at the nodes, can be enabled with dimensional analog models only |
powerDensityMapMode |
string |
“auto” |
Total means total transmission medium, signal means transmitted or received signal, auto means total or signal and noise if transmission or reception is in progress |
powerDensityMapPixelMode |
string |
“mean” |
Specifies the method used to determine the color of each pixel, the sample method is the least accurate but the fastest (sample < partition < mean) |
powerDensityMapApproximationSize |
int |
10 |
Medium power density function approximation along the X and Y axes |
powerDensityMapCenterFrequency |
double |
nan Hz |
Center frequency of medium power density sampling or integration |
powerDensityMapBandwidth |
double |
0 Hz |
Bandwidth of medium power density integration, 0 means sampling, inf means total integrated power |
powerDensityMapFigureWidth |
double |
200 |
Plot figure width in pixels |
powerDensityMapFigureHeight |
double |
120 |
Plot figure height in pixels |
powerDensityMapPixmapWidth |
double |
powerDensityMapFigureWidth |
Pixmap resolution width |
powerDensityMapPixmapHeight |
double |
powerDensityMapFigureHeight |
Pixmap resolution height |
powerDensityMapZ |
double |
0 |
Z coordinate |
powerDensityMapFigureXTickCount |
int |
3 |
Number of ticks along the X-axis |
powerDensityMapFigureYTickCount |
int |
3 |
Number of ticks along the Y-axis |
displaySpectrums |
bool |
false |
Display power spectral density at the nodes, can be enabled with dimensional analog models only |
spectrumMode |
string |
“auto” |
Total means total transmission medium, signal means transmitted or received signal, auto means total or signal and noise if transmission or reception is in progress |
spectrumFigureWidth |
double |
200 |
Plot figure width in pixels |
spectrumFigureHeight |
double |
120 |
Plot figure height in pixels |
spectrumFigureXTickCount |
int |
3 |
Number of ticks along the X-axis |
spectrumFigureYTickCount |
int |
5 |
Number of ticks along the Y-axis |
spectrumFigureInterpolationSize |
double |
5 |
Power spectrum density interpolation distance along the frequency axis |
spectrumPlacementHint |
string |
“bottomCenter” |
Annotation placement hint, space-separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
spectrumPlacementPriority |
double |
-1 |
Determines the order of annotation positioning |
displaySpectrograms |
bool |
false |
Display power density spectrograms at the nodes, can be enabled with dimensional analog models only |
spectrogramMode |
string |
“auto” |
Total means total transmission medium, signal means transmitted or received signal, auto means total or signal and noise if transmission or reception is in progress |
spectrogramPixelMode |
string |
“mean” |
Specifies the method used to determine the color of each pixel, sample method is the least accurate but the fastest (sample < partition < mean) |
spectrogramFigureWidth |
double |
200 |
Plot figure width in pixels |
spectrogramFigureHeight |
double |
120 |
Plot figure height in pixels |
spectrogramPixmapWidth |
double |
spectrogramFigureWidth |
Pixmap resolution width |
spectrogramPixmapHeight |
double |
spectrogramFigureHeight |
Pixmap resolution height |
spectrogramFigureXTickCount |
int |
3 |
Number of ticks along the X-axis |
spectrogramFigureYTickCount |
int |
5 |
Number of ticks along the Y-axis |
spectrogramPlacementHint |
string |
“bottomCenter” |
Annotation placement hint, space-separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
spectrogramPlacementPriority |
double |
-1 |
Determines the order of annotation positioning |
zIndex |
double |
0 |
Determines the drawing order of figures relative to other visualizers |
signalShape |
string |
“ring” |
Shape for displaying signals |
signalOpacity |
double |
0.5 |
Signal opacity, value must be in the range [0, 1] |
signalRingCount |
int |
20 |
Number of stationary rings around the transmitter, value must be in the range [0, +inf) |
signalRingSize |
double |
50m |
Width of stationary rings, value must be in the range (0, +inf) |
signalFadingDistance |
double |
50m |
Distance parameter for exponential opacity decreasing, value must be in the range (0, +inf) |
signalFadingFactor |
double |
1.2 |
Factor parameter for exponential opacity decreasing, value must be in the range (1, +inf) |
signalWaveCount |
int |
20 |
Number of moving circles representing waves around the transmitter, value must be in the range [0, +inf) |
signalWaveLength |
double |
50m |
Distance between moving circles representing waves, value must be in the range (0, +inf) |
signalWaveWidth |
double |
10m |
Width of moving circles representing waves, value must be in the range (0, +inf) |
signalWaveFadingAnimationSpeedFactor |
double |
1 |
Value must be in the range [0, 1] |
displayCommunicationHeat |
bool |
false |
When enabled the radio medium displays recent successful receptions as a heat map overlay |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
MediumCanvasVisualizer |
|
display |
i=block/app |
Source code¶
//
// Visualizes a medium on a 2D canvas. It displays communication
// ranges and interference ranges as circles around network nodes. It displays
// an image at network nodes which are currently transmitting, and a different
// image at other network nodes which are currently receiving. It also displays
// radio signals as a 2D ring or a 3D sphere as they propagate through the
// medium.
//
// @see ~MediumCanvasVisualizer, ~MediumVisualizer, ~MediumVisualizerBase, ~IMediumVisualizer
//
simple MediumCanvasVisualizer extends MediumVisualizerBase like IMediumVisualizer
{
parameters:
double zIndex = default(0); // Determines the drawing order of figures relative to other visualizers
string signalShape @enum("ring", "sphere") = default("ring"); // Shape for displaying signals
double signalOpacity = default(0.5); // Signal opacity, value must be in the range [0, 1]
int signalRingCount = default(20); // Number of stationary rings around the transmitter, value must be in the range [0, +inf)
double signalRingSize @unit(m) = default(50m); // Width of stationary rings, value must be in the range (0, +inf)
double signalFadingDistance @unit(m) = default(50m); // Distance parameter for exponential opacity decreasing, value must be in the range (0, +inf)
double signalFadingFactor = default(1.2); // Factor parameter for exponential opacity decreasing, value must be in the range (1, +inf)
int signalWaveCount = default(20); // Number of moving circles representing waves around the transmitter, value must be in the range [0, +inf)
double signalWaveLength @unit(m) = default(50m); // Distance between moving circles representing waves, value must be in the range (0, +inf)
double signalWaveWidth @unit(m) = default(10m); // Width of moving circles representing waves, value must be in the range (0, +inf)
double signalWaveFadingAnimationSpeedFactor = default(1); // Value must be in the range [0, 1]
bool displayCommunicationHeat = default(false); // When enabled the radio medium displays recent successful receptions as a heat map overlay
@class(MediumCanvasVisualizer);
}
File: src/inet/visualizer/canvas/physicallayer/MediumCanvasVisualizer.ned