Package: inet.visualizer.base
MediumVisualizerBase
simple moduleThis is a base module for medium visualizer simple modules. It keeps track of ongoing signal departures, ongoing signal arrivals, and propagating signals.
It subscribes for signalSourceAdded, signalSourceRemoved, signalAdded, signalRemoved, signalDepartureStarted, signalDepartureEnded, signalArrivalStarted, signalArrivalEnded simulation signals at the module determined by the mediumModule parameter. The actual visualization of the 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 |
---|---|---|---|
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, 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 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 |
parameters shared between power density maps, spectrums and spectrograms |
signalMinPower | double | inf dBmW |
minimum signal power if axis is not automatic |
signalMaxPower | double | 0 dBmW |
maximum signal power if axis is not automatic |
signalMinPowerDensity | double | inf dBmWpMHz |
minimum signal power density if axis is not automatic |
signalMaxPowerDensity | double | -inf dBmWpMHz |
maxium signal power density if axis is not automatic |
autoTimeAxis | bool | true |
enables automatic time axis configuration |
signalMinTime | double | 0 s |
relative to current simulation time |
signalMaxTime | double | 0 s |
relative to current simulation time |
autoFrequencyAxis | bool | true |
enables automatic frequency axis configuration |
signalMinFrequency | double | inf Hz |
minimum signal frequency if axis is not automatic |
signalMaxFrequency | double | -inf Hz |
maximum signal frequency if axis is not automatic |
displayMainPowerDensityMap | bool | false |
parameters for main power density map |
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 |
parameters for power density maps |
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" |
specifices the method used to determine the color of each pixel, sample method is the least accurate but the fastest (sample < partition < mean) |
powerDensityMapApproximationSize | int | 10 |
medium power density function approximation along 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 |
parameters for spectrum figures |
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 |
parameters for spectrogram figures |
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" |
specifices 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 |
Properties
Name | Value | Description |
---|---|---|
class | MediumVisualizerBase | |
display | i=block/app |
Source code
// // This is a base module for medium visualizer simple modules. It keeps track // of ongoing signal departures, ongoing signal arrivals, and propagating signals. // // It subscribes for signalSourceAdded, signalSourceRemoved, signalAdded, // signalRemoved, signalDepartureStarted, signalDepartureEnded, signalArrivalStarted, // signalArrivalEnded simulation signals at the module determined by the mediumModule // parameter. The actual visualization of the 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 object 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(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 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(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 double signalTransmissionAnimationTime @unit(s) = default(1s); // signal transmission animation duration when signalTransmissionAnimationSpeed is unspecified string signalAnimationSpeedChangeTimeMode @enum("realTime","animationTime","simulationTime") = default("realTime"); // specifies the time mode for animation speed changes between propagation and transmission animation double signalAnimationSpeedChangeTime @unit(s) = default(1s); // animation speed changes smoothly from propagationAnimationSpeed to transmissionAnimationSpeed in the specified real time bool displaySignalDepartures = default(false); // display an image where a signal departure is currently in progress, disabled by default string signalDepartureImage = default("misc/signal_departure.png"); // image for ongoing signal departures string signalDeparturePlacementHint = default("topCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double signalDeparturePlacementPriority = default(1); // determines the order of annotation positioning bool displaySignalArrivals = default(false); // display an image where a signal arrival is currently in progress, disabled by default string signalArrivalImage = default("misc/signal_arrival.png"); // image for ongoing signal arrivals string signalArrivalPlacementHint = default("topCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double signalArrivalPlacementPriority = 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 // parameters shared between power density maps, spectrums and spectrograms bool autoPowerAxis = default(true); // enables automatic power axis configuration double signalMinPower @unit(dBmW) = default(inf dBmW); // minimum signal power if axis is not automatic double signalMaxPower @unit(dBmW) = default(0 dBmW); // maximum signal power if axis is not automatic double signalMinPowerDensity @unit(dBmWpMHz) = default(inf dBmWpMHz); // minimum signal power density if axis is not automatic double signalMaxPowerDensity @unit(dBmWpMHz) = default(-inf dBmWpMHz); // maxium signal power density if axis is not automatic bool autoTimeAxis = default(true); // enables automatic time axis configuration double signalMinTime @unit(s) = default(0 s); // relative to current simulation time double signalMaxTime @unit(s) = default(0 s); // relative to current simulation time bool autoFrequencyAxis = default(true); // enables automatic frequency axis configuration double signalMinFrequency @unit(Hz) = default(inf Hz); // minimum signal frequency if axis is not automatic double signalMaxFrequency @unit(Hz) = default(-inf Hz); // maximum signal frequency if axis is not automatic // parameters for main power density map bool displayMainPowerDensityMap = default(false); // display a power density map for the transmission medium, can be enabled with dimensional analog models only double mainPowerDensityMapPixmapDensity = default(1); // pixmap relative resolution double mainPowerDensityMapMinX = default(0); // minimum X coordinate double mainPowerDensityMapMaxX = default(nan); // maximum X coordinate, compound module size by default double mainPowerDensityMapMinY = default(0); // minimum Y coordinate double mainPowerDensityMapMaxY = default(nan); // maximum Y coordinate, compound module size by default double mainPowerDensityMapZ = default(0); // Z coordinate int mainPowerDensityMapFigureXTickCount = default(3); // number of ticks along the X axis int mainPowerDensityMapFigureYTickCount = default(3); // number of ticks along the Y axis // parameters for power density maps bool displayPowerDensityMaps = default(false); // display power density maps at the nodes, can be enabled with dimensional analog models only string powerDensityMapMode @enum("total","signal","auto") = default("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 string powerDensityMapPixelMode @enum("sample","partition","mean") = default("mean"); // specifices the method used to determine the color of each pixel, sample method is the least accurate but the fastest (sample < partition < mean) int powerDensityMapApproximationSize = default(10); // medium power density function approximation along X and Y axes double powerDensityMapCenterFrequency @mutable @unit(Hz) = default(nan Hz); // center frequency of medium power density sampling or integration double powerDensityMapBandwidth @mutable @unit(Hz) = default(0 Hz); // bandwidth of medium power density integration, 0 means sampling, inf means total integrated power double powerDensityMapFigureWidth = default(200); // plot figure width in pixels double powerDensityMapFigureHeight = default(120); // plot figure height in pixels double powerDensityMapPixmapWidth = default(powerDensityMapFigureWidth); // pixmap resolution width double powerDensityMapPixmapHeight = default(powerDensityMapFigureHeight); // pixmap resolution height double powerDensityMapZ = default(0); // Z coordinate int powerDensityMapFigureXTickCount = default(3); // number of ticks along the X axis int powerDensityMapFigureYTickCount = default(3); // number of ticks along the Y axis // parameters for spectrum figures bool displaySpectrums = default(false); // display power spectral density at the nodes, can be enabled with dimensional analog models only string spectrumMode @enum("total","signal","auto") = default("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 double spectrumFigureWidth = default(200); // plot figure width in pixels double spectrumFigureHeight = default(120); // plot figure height in pixels int spectrumFigureXTickCount = default(3); // number of ticks along the X axis int spectrumFigureYTickCount = default(5); // number of ticks along the Y axis double spectrumFigureInterpolationSize = default(5); // power spectrum density interpolation distance along the frequency axis string spectrumPlacementHint = default("bottomCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double spectrumPlacementPriority = default(-1); // determines the order of annotation positioning // parameters for spectrogram figures bool displaySpectrograms = default(false); // display power density spectrograms at the nodes, can be enabled with dimensional analog models only string spectrogramMode @enum("total","signal","auto") = default("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 string spectrogramPixelMode @enum("sample","partition","mean") = default("mean"); // specifices the method used to determine the color of each pixel, sample method is the least accurate but the fastest (sample < partition < mean) double spectrogramFigureWidth = default(200); // plot figure width in pixels double spectrogramFigureHeight = default(120); // plot figure height in pixels double spectrogramPixmapWidth = default(spectrogramFigureWidth); // pixmap resolution width double spectrogramPixmapHeight = default(spectrogramFigureHeight); // pixmap resolution height int spectrogramFigureXTickCount = default(3); // number of ticks along the X axis int spectrogramFigureYTickCount = default(5); // number of ticks along the Y axis string spectrogramPlacementHint = default("bottomCenter"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. double spectrogramPlacementPriority = default(-1); // determines the order of annotation positioning @class(MediumVisualizerBase); }File: src/inet/visualizer/base/MediumVisualizerBase.ned