Simple Module LinearMobility

Package: inet.mobility
File: src/mobility/LinearMobility.ned

C++ definition

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.

See also: ChannelControl

Author: Emin Ilker Cetinbas

LinearMobility

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.

Parameters:

Name Type Default value Description
debug bool false

debug switch

x double -1

start x coordinate (-1 = display string position, or random if it's missing)

y double -1

start y coordinate (-1 = display string position, or random if it's missing)

speed double 2mps

speed of the host (in m/s)

angle double 0

angle of linear motion (degreees)

acceleration double 0

acceleration of linear motion (m/s2)

updateInterval double 100ms

time interval to update the hosts position

Properties:

Name Value Description
display i=block/cogwheel_s

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.
//
// @see ChannelControl
// @author Emin Ilker Cetinbas
//
simple LinearMobility like BasicMobility
{
    parameters:
        bool debug = default(false); // debug switch
        double x = default(-1); // start x coordinate (-1 = display string position, or random if it's missing)
        double y = default(-1); // start y coordinate (-1 = display string position, or random if it's missing)
        double speed @unit("mps") = default(2mps); // speed of the host (in m/s)
        double angle @unit("deg") = default(0); // angle of linear motion (degreees)
        double acceleration = default(0); // acceleration of linear motion (m/s2)
        double updateInterval @unit("s") = default(100ms); // time interval to update the hosts position
        @display("i=block/cogwheel_s");
}