This module 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 whcih 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
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
MediumVisualizerBase | simple module |
This is a base module for radio medium visualizer simple modules. It keeps track of ongoing transmissions, ongoing receptions, and propagating signals. |
Name | Type | Default value | Description |
---|---|---|---|
visualizerTargetModule | string | " |
module path relative to the visualizer where the visualization should appear in the user interface, root 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 | string | "*" |
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, a set of dark colors by default |
signalPropagationAnimationSpeed | double | 0/0 |
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 last receiver |
signalTransmissionAnimationSpeed | double | 0/0 |
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 |
signalAnimationSpeedChangeTime | double | 1s |
animation speed changes smoothly from propagationAnimationSpeed to transmissionAnimationSpeed in the specified real time |
displayTransmissions | bool | false |
display an image where a transmission is currently in progress, disabled by default |
transmissionImage | string | "misc/transmission.png" |
transmission image for ongoing transmissions |
transmissionDisplacementHint | string | "topCenter" |
annotation displacement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
transmissionDisplacementPriority | double | 1 |
determines the order of annotation positioning |
displayReceptions | bool | false |
display an image where a reception is currently in progress, disabled by default |
receptionImage | string | "misc/reception.png" |
reception image for ongoing receptions |
receptionDisplacementHint | string | "topCenter" |
annotation displacement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
receptionDisplacementPriority | 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 |
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 |
Name | Value | Description |
---|---|---|
class | MediumCanvasVisualizer | |
display | i=block/app_s |
// // This module 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 whcih 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); }