Simple Module SceneOsgVisualizerBase

Package: inet.visualizer.base
File: src/inet/visualizer/base/SceneOsgVisualizerBase.ned

C++ definition

This is a base module for scene visualizer simple modules on a 3D osg scene. It displays the playground either as a filled rectangle or as an image.

See also: SceneOsgVisualizer, SceneOsgEarthVisualizer, SceneVisualizerBase

SceneOsgVisualizerBase

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends:

Name Type Description
SceneVisualizerBase simple module

This is a base module for scene visualizer simple modules. It determines the bounds of the playground, that is the minimum area where the whole simulation fits in. The playground encloses all physical objects and the constraint area of all mobile nodes. The visualizer also provides a timer which can be used to periodically update the user interface independently of the underlying simulation. The actual visualization of the scene is done in derived modules.

Known subclasses:

Name Type Description
SceneOsgEarthVisualizer simple module

This module visualizes the scene using osg earth. It displays a 3D osg map of some part of the earth as an integrated part of the 3D visualization of the simulation. The map is loaded from an external resource specified by the mapFile parameter. The playground is placed on the map according to the coordinate system module.

SceneOsgVisualizer simple module

This module visualizes the scene using osg. It displays the playground and the coordinate system axes. It sets the initial viewpoint of the 3D scene based on the bounding sphere of all network nodes. The viewpoint is located opposite of the coordinate system origin with respect to the sphere, and it faces towards the center of the sphere.

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

physicalEnvironmentModule string "physicalEnvironment"

the physical environment module, refers to a top level submodule by default

networkNodeVisualizerModule string "^.networkNodeVisualizer"

the network node visualizer, refers to a sibling submodule by default

axisLength double 0m/0

length of x, y, and z axes, no axis by default

animationSpeed double 0

always active animation speed independent of any visualization, value must be in the range (0, +inf)

cameraManipulator string "auto"

type of camera manipulator

cameraDistanceFactor double 5

camera distance relative to the network bounding sphere radius

zNear double 1m

near distance for Z buffer optimization

zFar double 100000m

far distance for Z buffer optimization

fieldOfView double 30deg

camera field of view

clearColor string ""

scene background color, not set by default

displayPlayground bool true

display the playground, enabled by default

playgroundColor string "#A0E0A0"

playground solid color if playground texture is not provided, gray by default

playgroundOpacity double 1.0

playground opacity, opaque by default

playgroundImage string ""

playground texture (repeated), no image by default

playgroundImageSize double 1m

playground texture size

playgroundShading bool true

exponential shading for playground color, enabled by default

Properties:

Name Value Description
class SceneOsgVisualizerBase
display i=block/app_s

Source code:

//
// This is a base module for scene visualizer simple modules on a 3D osg scene.
// It displays the playground either as a filled rectangle or as an image.
//
// @see ~SceneOsgVisualizer, ~SceneOsgEarthVisualizer, ~SceneVisualizerBase
//
simple SceneOsgVisualizerBase extends SceneVisualizerBase
{
    parameters:
        string cameraManipulator @enum("auto","trackball","overview","terrain","earth") = default("auto"); // type of camera manipulator
        double cameraDistanceFactor = default(5); // camera distance relative to the network bounding sphere radius
        double zNear @unit(m) = default(1m); // near distance for Z buffer optimization
        double zFar @unit(m) = default(100000m); // far distance for Z buffer optimization
        double fieldOfView @unit(deg) = default(30deg); // camera field of view
        string clearColor = default(""); // scene background color, not set by default

        bool displayPlayground = default(true); // display the playground, enabled by default
        string playgroundColor = default("#A0E0A0"); // playground solid color if playground texture is not provided, gray by default
        double playgroundOpacity = default(1.0); // playground opacity, opaque by default
        string playgroundImage = default(""); // playground texture (repeated), no image by default
        double playgroundImageSize @unit(m) = default(1m); // playground texture size
        bool playgroundShading = default(true); // exponential shading for playground color, enabled by default

        @class(SceneOsgVisualizerBase);
}