BonnMotionMobility

Package: inet.mobility.single

BonnMotionMobility

simple module

C++ definition

Uses the native file format of the BonnMotion tool.

The file is a plain text file, where every line describes the motion of one host. A line consists of one or more (t, x, y, [z]) tuples of real numbers, like:

t1 x1 y1 t2 x2 y2 t3 x3 y3 t4 x4 y4 ...

or

t1 x1 y1 z1 t2 x2 y2 z2 t3 x3 y3 z3 t4 x4 y4 z4...

The meaning is that the given node gets to (xk, yk) at tk. There's no separate notation for wait, so x and y coordinates will be repeated there.

Inheritance diagram

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

Extends

Name Type Description
MovingMobilityBase simple module

Abstract base module for mobility models.

Parameters

Name Type Default value Description
displayStringTextFormat string "p: %p\nv: %v"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

subjectModule string "^"

The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module

coordinateSystemModule string ""

The module path of the geographic coordinate system module

updateDisplayString bool true

Enables continuous update of the subject module's position by modifying its display string

constraintAreaMinX double -inf m

The minimum x position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMinY double -inf m

The minimum y position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMinZ double -inf m

The minimum z position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMaxX double inf m

The maximum x position of the constraint area. It is unconstrained by default (positive infinity)

constraintAreaMaxY double inf m

The maximum y position of the constraint area. It is unconstrained by default (positive infinity)

constraintAreaMaxZ double inf m

The maximum z position of the constraint area. It is unconstrained by default (positive infinity)

updateInterval double 0.1s

The simulation time interval used to regularly signal mobility state changes and update the display

faceForward bool true
is3D bool false

Whether the trace file contains triplets or quadruples

traceFile string

The BonnMotion trace file

nodeId int

Selects line in the trace file; -1 gets substituted with the parent module's index

Properties

Name Value Description
class BonnMotionMobility
display i=block/cogwheel

Signals

Name Type Unit Description
mobilityStateChanged inet::MobilityBase

It works in inet, but not in the extended module in another namespace

Source code

//
// Uses the native file format of the BonnMotion tool.
//
// The file is a plain text file, where every line describes the motion
// of one host. A line consists of one or more (t, x, y, [z]) tuples of real
// numbers, like:
//
// t1 x1 y1 t2 x2 y2 t3 x3 y3 t4 x4 y4 ...
//
// or
//
// t1 x1 y1 z1 t2 x2 y2 z2 t3 x3 y3 z3 t4 x4 y4 z4...
//
// The meaning is that the given node gets to (xk, yk) at tk. There's no
// separate notation for wait, so x and y coordinates will be repeated there.
//
simple BonnMotionMobility extends MovingMobilityBase
{
    parameters:
        bool is3D = default(false); // Whether the trace file contains triplets or quadruples
        string traceFile; // The BonnMotion trace file
        int nodeId; // Selects line in the trace file; -1 gets substituted with the parent module's index
        @class(BonnMotionMobility);
}
File: src/inet/mobility/single/BonnMotionMobility.ned