BonnMotionMobility¶
Package: inet.mobility.single
simple module BonnMotionMobility
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¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Abstract base module for mobility models. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“p: {position}\nv: {velocity}” |
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; optional, empty disables geographic conversion (and the {geo_position} directive) |
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);
}