Package: inet.mobility.single
LinearMobility
simple moduleThis is a linear mobility model with speed, angle and acceleration parameters. Angle only changes when the mobile node hits a wall: then it reflects off the wall at the same angle.
Author: Emin Ilker Cetinbas
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 |
---|---|---|---|
subjectModule | string | "^" |
module path which determines the subject module, the motion of which this mobility model describes, the default value is the parent module |
coordinateSystemModule | string | "" |
module path of the geographic coordinate system module |
displayStringTextFormat | string | "p: %p\nv: %v" |
format string for the mobility module's display string text |
updateDisplayString | bool | true |
enables continuous update of the subject module's position via modifying its display string |
constraintAreaMinX | double | -inf m |
min x position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMinY | double | -inf m |
min y position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMinZ | double | -inf m |
min z position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMaxX | double | inf m |
max x position of the constraint area, unconstrained by default (positive infinity) |
constraintAreaMaxY | double | inf m |
max y position of the constraint area, unconstrained by default (positive infinity) |
constraintAreaMaxZ | double | inf m |
max z position of the constraint area, 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 | |
initialX | double | uniform(this.constraintAreaMinX, this.constraintAreaMaxX) | |
initialY | double | uniform(this.constraintAreaMinY, this.constraintAreaMaxY) | |
initialZ | double | nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ)) | |
initFromDisplayString | bool | true |
enables one time initialization from the subject module's display string |
speed | double | 0mps |
speed of the host |
initialMovementHeading | double | uniform(0deg, 360deg) | |
initialMovementElevation | double | 0deg |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | LinearMobility |
Signals
Name | Type | Unit |
---|---|---|
mobilityStateChanged | inet::MobilityBase |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
omnetpp::cMessage | 0 | move |
Direct method calls (observed)
call to | function | info |
---|---|---|
AttachedMobility | inet::AttachedMobility::receiveSignal | mobilityStateChanged |
SuperpositioningMobility | inet::SuperpositioningMobility::receiveSignal | mobilityStateChanged |
Source code
// // This is a linear mobility model with speed, angle and acceleration parameters. // Angle only changes when the mobile node hits a wall: then it reflects // off the wall at the same angle. // // @author Emin Ilker Cetinbas // simple LinearMobility extends MovingMobilityBase { parameters: double initialX @unit(m) = default(uniform(this.constraintAreaMinX, this.constraintAreaMaxX)); double initialY @unit(m) = default(uniform(this.constraintAreaMinY, this.constraintAreaMaxY)); double initialZ @unit(m) = default(nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ))); bool initFromDisplayString = default(true); // enables one time initialization from the subject module's display string double speed @unit(mps) = default(0mps); // speed of the host double initialMovementHeading @unit(deg) = default(uniform(0deg, 360deg)); double initialMovementElevation @unit(deg) = default(0deg); @class(LinearMobility); }File: src/inet/mobility/single/LinearMobility.ned