MediumVisualizerBase

Package: inet.visualizer.base

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.

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