SceneCanvasVisualizer

Package: inet.visualizer.canvas.scene

SceneCanvasVisualizer

simple module

This module visualizes the scene on a 2D canvas. It provides the 3D coordinate system's 2D orthographic projection for other visualizers. This is used to get a consistent visualization accross all visualizers. It can also display the coordinate system axes.

See also: SceneOsgVisualizer, SceneVisualizer, SceneVisualizerBase, ISceneVisualizer

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 scene, that is the minimum area where the whole simulation fits in. The scene 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.

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

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 nan m

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)

sceneMinX double nan m

lower bound of x coordinates in scene

sceneMinY double nan m

lower bound of y coordinates in scene

sceneMinZ double nan m

lower bound of z coordinates in scene

sceneMaxX double nan m

upper bound of x coordinates in scene

sceneMaxY double nan m

upper bound of y coordinates in scene

sceneMaxZ double nan m

upper bound of z coordinates in scene

zIndex double 0

determines the drawing order of figures relative to other visualizers

viewAngle string "x right y down z out"

view angle is either ()

  • a valid combination of the words: x, y, z, left/right, up/down, in/out or
  • one of isometric, isometricN (where 0 <= N < 48)
  • 3 rotation angles and leftHanded/rightHanded
viewScale string "1 1"

the 2D scale is applied after the view projection

viewTranslation string "0 0"

the 2D translation is applied after the view projection

descriptionFigure string ""

if not empty, it should be the name of a text figure; it will display the active configuration's description

Properties

Name Value Description
class SceneCanvasVisualizer
display i=block/app

Source code

//
// This module visualizes the scene on a 2D canvas. It provides the 3D coordinate
// system's 2D orthographic projection for other visualizers. This is used to get
// a consistent visualization accross all visualizers. It can also display the
// coordinate system axes.
//
// @see ~SceneOsgVisualizer, ~SceneVisualizer, ~SceneVisualizerBase, ~ISceneVisualizer
//
simple SceneCanvasVisualizer extends SceneVisualizerBase like ISceneVisualizer
{
    parameters:
        double zIndex = default(0); // determines the drawing order of figures relative to other visualizers
        string viewAngle @mutable = default("x right y down z out"); // view angle is either ()
                                                                     //   - a valid combination of the words: x, y, z, left/right, up/down, in/out or
                                                                     //   - one of isometric, isometricN (where 0 <= N < 48)
                                                                     //   - 3 rotation angles and leftHanded/rightHanded
        string viewScale @mutable = default("1 1"); // the 2D scale is applied after the view projection
        string viewTranslation @mutable = default("0 0"); // the 2D translation is applied after the view projection
        string descriptionFigure = default(""); // if not empty, it should be the name of a text figure; it will display the active configuration's description
        @class(SceneCanvasVisualizer);
}

File: src/inet/visualizer/canvas/scene/SceneCanvasVisualizer.ned