#include <uwgmposition.h>
|
| virtual double | getX () |
| |
| virtual double | getY () |
| |
| virtual double | getZ () |
| |
UwGMPosition class implements the Gauss Markov 3D mobility model.
◆ UwGMPosition()
| UwGMPosition::UwGMPosition |
( |
| ) |
|
◆ ~UwGMPosition()
| UwGMPosition::~UwGMPosition |
( |
| ) |
|
|
virtual |
◆ command()
| int UwGMPosition::command |
( |
int |
argc, |
|
|
const char *const * |
argv |
|
) |
| |
|
virtual |
TCL command interpreter. It implements the following OTcl methods:
- Parameters
-
| argc | Number of arguments in argv. |
| argv | Array of strings which are the command parameters (Note that argv[0] is the name of the object). |
- Returns
- TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.
References bound_, HARDWALL, REBOUNCE, speed_, speedMean_, SPHERIC, and THOROIDAL.
◆ Gaussian()
| double UwGMPosition::Gaussian |
( |
| ) |
|
|
private |
Method that returns a value from a normal random Gaussian variable (zero mean, unitary viariance)
Referenced by update().
◆ getX()
| double UwGMPosition::getX |
( |
| ) |
|
|
protectedvirtual |
Returns the current projection of the node on the x-axis. If it's necessary (updating time ia expired), update the position values before returns it.
- Returns
- The new x-axis position value of the node.
References nextUpdateTime_, and update().
◆ getY()
| double UwGMPosition::getY |
( |
| ) |
|
|
protectedvirtual |
Returns the current projection of the node on the y-axis. If it's necessary (updating time ia expired), update the position values before returns it.
- Returns
- The new y-axis position value of the node.
References nextUpdateTime_, and update().
◆ getZ()
| double UwGMPosition::getZ |
( |
| ) |
|
|
protectedvirtual |
Returns the current projection of the node on the z-axis. If it's necessary (updating time ia expired), update the position values before returns it.
- Returns
- The new z-axis position value of the node.
References nextUpdateTime_, and update().
◆ update()
| void UwGMPosition::update |
( |
double |
now | ) |
|
|
privatevirtual |
Method that updates both the position coordinates as function of the number of states to be evaluated.
References alpha_, alphaPitch_, bound_, debug_, direction_, directionMean_, Gaussian(), HARDWALL, nextUpdateTime_, pitch_, pitchMean_, REBOUNCE, speed_, speedMean_, SPHERIC, THOROIDAL, updateTime_, vx, vy, vz, xFieldWidth_, yFieldWidth_, and zFieldWidth_.
Referenced by getX(), getY(), and getZ().
◆ alpha_
| double UwGMPosition::alpha_ |
|
protected |
Parameter to be used to vary the randomness: 0: totally random values (Brownian motion), 1: linear motion.
Referenced by update(), and UwGMPosition().
◆ alphaPitch_
| double UwGMPosition::alphaPitch_ |
|
protected |
◆ bound_
◆ debug_
◆ direction_
| double UwGMPosition::direction_ |
|
protected |
Current value of the direction.
Referenced by update().
◆ directionMean_
| double UwGMPosition::directionMean_ |
|
protected |
◆ nextUpdateTime_
| double UwGMPosition::nextUpdateTime_ |
|
protected |
◆ pitch_
| double UwGMPosition::pitch_ |
|
protected |
Current value of the pitch.
Referenced by update().
◆ pitchMean_
| double UwGMPosition::pitchMean_ |
|
protected |
◆ speed_
| double UwGMPosition::speed_ |
|
protected |
◆ speedMean_
| double UwGMPosition::speedMean_ |
|
protected |
Defines the mean value of the speed, when it is setted to zero the node moves anyway.
Referenced by command(), and update().
◆ updateTime_
| double UwGMPosition::updateTime_ |
|
protected |
Defines the behaviour of the node when it reaches the edge: SPHERIC: return in the simulation field on the opposite side THOROIDAL: return in the centre of simulation field HARDWALL: the movement is stopped in the edge REBOUNCE: the node rebounce (i.e., the movement that should be outside the simulation field is mirrored inside) Time between two update computation.
Referenced by update(), and UwGMPosition().
◆ vx
Temporary variable.
Referenced by update().
◆ vy
Temporary variable.
Referenced by update().
◆ vz
Temporary variable.
Referenced by update().
◆ xFieldWidth_
| double UwGMPosition::xFieldWidth_ |
|
protected |
◆ yFieldWidth_
| double UwGMPosition::yFieldWidth_ |
|
protected |
◆ zFieldWidth_
| double UwGMPosition::zFieldWidth_ |
|
protected |
The documentation for this class was generated from the following files: