Package: inet.visualizer.base
MediumVisualizerBase
simple moduleThis is a base module for radio medium visualizer simple modules. It keeps track of ongoing transmissions, ongoing receptions, and propagating signals.
It subscribes for radioAdded, radioRemoved, transmissionAdded, transmissionRemoved, transmissionStarted, transmissionEnded, receptionStarted, receptionEnded signals at the module determined by the mediumModule parameter. The actual visualization of the radio medium is done in derived modules.
See also: MediumCanvasVisualizer, MediumOsgVisualizer, IMediumVisualizer, VisualizerBase
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
Name | Type | Description |
---|---|---|
MediumCanvasVisualizer | simple module |
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. |
MediumOsgVisualizer | simple module |
This module visualizes a medium using a 3D osg scene. 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 growing 2D ring or a 3D sphere as they propagate through the medium. All 2D shapes such as circles, rings, and images can be displayed in 4 different planes: camera, xy, xz and yz. It's also possible to use animated images. |
Extends
Name | Type | Description |
---|---|---|
VisualizerBase | simple module |
This is a base module for visualizer simple modules. It simply provides the visualization target module for derived modules. |
Parameters
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 |
transmissionPlacementHint | string | "topCenter" |
annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
transmissionPlacementPriority | 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 |
receptionPlacementHint | string | "topCenter" |
annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. |
receptionPlacementPriority | 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 |
Properties
Name | Value | Description |
---|---|---|
class | MediumVisualizerBase | |
display | i=block/app_s |
Source code
// // This is a base module for radio medium visualizer simple modules. It keeps // track of ongoing transmissions, ongoing receptions, and propagating signals. // // It subscribes for radioAdded, radioRemoved, transmissionAdded, transmissionRemoved, // transmissionStarted, transmissionEnded, receptionStarted, receptionEnded // signals at the module determined by the mediumModule parameter. The actual // visualization of the radio medium is done in derived modules. // // @see ~MediumCanvasVisualizer, ~MediumOsgVisualizer, ~IMediumVisualizer, ~VisualizerBase // simple MediumVisualizerBase extends VisualizerBase { parameters: string mediumModule = default("radioMedium"); // the medium module that is displayed, refers to a top level submodule by default string networkNodeVisualizerModule = default("^.networkNodeVisualizer"); // the network node visualizer module, refers to a sibling submodule by default string nodeFilter @mutable = default("*"); // which nodes are considered, matches all nodes by default string interfaceFilter @mutable = default("*"); // which interfaces are considered, matches all interfaces by default string packetFilter @mutable = default("*"); // which packets are considered, matches all packets by default bool displaySignals = default(false); // display signals propagating through the medium, disabled by default string signalColor @enum("light","dark") = default("dark"); // signal color is a list of colors, a set of dark colors by default double signalPropagationAnimationSpeed @mutable = default(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 double signalPropagationAnimationTime @unit(s) = default(1s); // signal propagation animation duration when signalPropagationAnimationSpeed is unspecified double signalPropagationAdditionalTime @unit(s) = default(0s); // additional simulation time to animate signal propagation after leaving last receiver double signalTransmissionAnimationSpeed @mutable = default(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 double signalTransmissionAnimationTime @unit(s) = default(1s); // signal transmission animation duration when signalTransmissionAnimationSpeed is unspecified double signalAnimationSpeedChangeTime @unit(s) = default(1s); // animation speed changes smoothly from propagationAnimationSpeed to transmissionAnimationSpeed in the specified real time bool displayTransmissions = default(false); // display an image where a transmission is currently in progress, disabled by default string transmissionImage = default("misc/transmission.png"); // transmission image for ongoing transmissions string transmissionPlacementHint = default("topCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double transmissionPlacementPriority = default(1); // determines the order of annotation positioning bool displayReceptions = default(false); // display an image where a reception is currently in progress, disabled by default string receptionImage = default("misc/reception.png"); // reception image for ongoing receptions string receptionPlacementHint = default("topCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double receptionPlacementPriority = default(-1); // determines the order of annotation positioning bool displayCommunicationRanges = default(false); // display communication ranges as circles around radios, enabled by default string communicationRangeLineColor = default("blue"); // communication range circle line color, blue by default string communicationRangeLineStyle = default("solid"); // communication range circle line style, solid by default double communicationRangeLineWidth = default(1); // communication range circle line width, 1 by default bool displayInterferenceRanges = default(false); // display interference ranges as circles around radios, disabled by default string interferenceRangeLineColor = default("gray"); // interference range circle color, gray by default string interferenceRangeLineStyle = default("solid"); // interference range circle line style, solid by default double interferenceRangeLineWidth = default(1); // interference range circle line width, 1 by default @class(MediumVisualizerBase); }File: src/inet/visualizer/base/MediumVisualizerBase.ned