NED File src/inet/mobility/single/LinearMobility.ned
Name | Type | Description |
---|---|---|
LinearMobility | simple module |
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. |
Source code
// // Author: Emin Ilker Cetinbas (niw3_at_yahoo_d0t_com) // Copyright (C) 2005 Emin Ilker Cetinbas // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, see <http://www.gnu.org/licenses/>. // package inet.mobility.single; import inet.mobility.base.MovingMobilityBase; // // 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); double speed @unit(mps) = default(0mps); // speed of the host double angle @unit(deg) = default(uniform(0deg, 360deg)); // angle of linear motion double acceleration = default(0); // acceleration of linear motion (m/s2) @class(LinearMobility); }