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

inet.visualizer.canvas.physicallayer.MediumCanvasVisualizerMediumCanvasVisualizersimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

IntegratedCanvasVisualizer

compound module

Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

IntegratedMultiCanvasVisualizer

compound module

Integrates all canvas visualizers into a single module. It supports disabling any submodule visualizer by providing an empty string as its type.

MediumVisualizer

compound module

Integrates canvas and osg medium visualizers into a single module.

Extends

Name

Type

Description

MediumVisualizerBase

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