Package: inet.visualizer.physicallayer
MediumOsgVisualizer
simple moduleThis 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.
See also: MediumOsgVisualizer, MediumVisualizer, MediumVisualizerBase, IMediumVisualizer
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| 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.  | 
   
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  | 
   
| signalShape | string | "ring" | 
 shape for displaying signals  | 
   
| signalPlane | string | "xy" | 
 plane for 2 dimensional signal shapes  | 
   
| signalFadingDistance | double | 100m | 
 distance parameter for exponential opacity decreasing  | 
   
| signalFadingFactor | double | 1.5 | 
 factor parameter for exponential opacity decreasing, value must be in the range (1.0, +inf)  | 
   
| signalWaveLength | double | 100m | 
 distance between signal waves, value must be in the range (0, +inf)  | 
   
| signalWaveAmplitude | double | 0.5 | 
 relative opacity amplitude of signal waves, value must be in the range [0, 1]  | 
   
| signalWaveFadingAnimationSpeedFactor | double | 1.0 | 
 value must be in the range [0, 1]  | 
   
| transmissionPlane | string | "camera" | 
 plane for transmission image  | 
   
| receptionPlane | string | "camera" | 
 plane for reception image  | 
   
| communicationRangePlane | string | "xy" | 
 plane for the transmission range circle  | 
   
| interferenceRangePlane | string | "xy" | 
 plane for the interference range circle  | 
   
Properties
| Name | Value | Description | 
|---|---|---|
| class | MediumOsgVisualizer | |
| display | i=block/app_s | 
Source code
// // 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. // // @see ~MediumOsgVisualizer, ~MediumVisualizer, ~MediumVisualizerBase, ~IMediumVisualizer // simple MediumOsgVisualizer extends MediumVisualizerBase like IMediumVisualizer { parameters: string signalShape @enum("ring","sphere","both") = default("ring"); // shape for displaying signals string signalPlane @enum("camera","xy","xz","yz") = default("xy"); // plane for 2 dimensional signal shapes double signalFadingDistance @unit(m) = default(100m); // distance parameter for exponential opacity decreasing double signalFadingFactor = default(1.5); // factor parameter for exponential opacity decreasing, value must be in the range (1.0, +inf) double signalWaveLength @unit(m) = default(100m); // distance between signal waves, value must be in the range (0, +inf) double signalWaveAmplitude = default(0.5); // relative opacity amplitude of signal waves, value must be in the range [0, 1] double signalWaveFadingAnimationSpeedFactor = default(1.0); // value must be in the range [0, 1] string transmissionPlane @enum("camera","xy","xz","yz") = default("camera"); // plane for transmission image string receptionPlane @enum("camera","xy","xz","yz") = default("camera"); // plane for reception image string communicationRangePlane @enum("camera","xy","xz","yz") = default("xy"); // plane for the transmission range circle string interferenceRangePlane @enum("camera","xy","xz","yz") = default("xy"); // plane for the interference range circle @class(MediumOsgVisualizer); }File: src/inet/visualizer/physicallayer/MediumOsgVisualizer.ned