DESERT 3.5.1
Loading...
Searching...
No Matches
UwGMPosition Class Reference

#include <uwgmposition.h>

Inheritance diagram for UwGMPosition:
Collaboration diagram for UwGMPosition:

Public Member Functions

 UwGMPosition ()
 
virtual ~UwGMPosition ()
 
virtual int command (int argc, const char *const *argv)
 

Protected Member Functions

virtual double getX ()
 
virtual double getY ()
 
virtual double getZ ()
 

Protected Attributes

double xFieldWidth_
 
double yFieldWidth_
 
double zFieldWidth_
 
double alpha_
 
double alphaPitch_
 
double speedMean_
 
double directionMean_
 
double pitchMean_
 
BoundType bound_
 
double updateTime_
 
double nextUpdateTime_
 
double speed_
 
double direction_
 
double pitch_
 
int debug_
 

Private Member Functions

virtual void update (double now)
 
double Gaussian ()
 

Private Attributes

double vx
 
double vy
 
double vz
 

Detailed Description

UwGMPosition class implements the Gauss Markov 3D mobility model.

Definition at line 59 of file uwgmposition.h.

Constructor & Destructor Documentation

◆ UwGMPosition()

UwGMPosition::UwGMPosition ( )

Constructor of UwGMPosition class.

Definition at line 66 of file uwgmposition.cpp.

◆ ~UwGMPosition()

UwGMPosition::~UwGMPosition ( )
virtual

Destructor of UwGMPosition class.

Definition at line 98 of file uwgmposition.cpp.

Member Function Documentation

◆ command()

int UwGMPosition::command ( int  argc,
const char *const *  argv 
)
virtual

TCL command interpreter.

It implements the following OTcl methods:

Parameters
argcNumber of arguments in argv.
argvArray 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.

Definition at line 103 of file uwgmposition.cpp.

◆ Gaussian()

double UwGMPosition::Gaussian ( )
private

Method that returns a value from a normal random Gaussian variable (zero mean, unitary viariance)

Definition at line 140 of file uwgmposition.cpp.

◆ 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.

Definition at line 297 of file uwgmposition.cpp.

◆ 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.

Definition at line 306 of file uwgmposition.cpp.

◆ 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.

Definition at line 315 of file uwgmposition.cpp.

◆ update()

void UwGMPosition::update ( double  now)
privatevirtual

Method that updates both the position coordinates as function of the number of states to be evaluated.

Definition at line 147 of file uwgmposition.cpp.

Member Data Documentation

◆ alpha_

double UwGMPosition::alpha_
protected

Parameter to be used to vary the randomness: 0: totally random values (Brownian motion), 1: linear motion.

Definition at line 119 of file uwgmposition.h.

◆ alphaPitch_

double UwGMPosition::alphaPitch_
protected

Pitch of alpha variable.

Definition at line 122 of file uwgmposition.h.

◆ bound_

BoundType UwGMPosition::bound_
protected

Definition at line 127 of file uwgmposition.h.

◆ debug_

int UwGMPosition::debug_
protected

Flag to enable or disable dirrefent levels of debug.

Definition at line 144 of file uwgmposition.h.

◆ direction_

double UwGMPosition::direction_
protected

Current value of the direction.

Definition at line 142 of file uwgmposition.h.

◆ directionMean_

double UwGMPosition::directionMean_
protected

Defines the mean value of the direction.

Definition at line 125 of file uwgmposition.h.

◆ nextUpdateTime_

double UwGMPosition::nextUpdateTime_
protected

Internal variable used to evaluate the steps to be computed.

Definition at line 139 of file uwgmposition.h.

◆ pitch_

double UwGMPosition::pitch_
protected

Current value of the pitch.

Definition at line 143 of file uwgmposition.h.

◆ pitchMean_

double UwGMPosition::pitchMean_
protected

Mean value for the pitch.

Definition at line 126 of file uwgmposition.h.

◆ speed_

double UwGMPosition::speed_
protected

Current value of the speed.

Definition at line 141 of file uwgmposition.h.

◆ speedMean_

double UwGMPosition::speedMean_
protected

Defines the mean value of the speed, when it is setted to zero the node moves anyway.

Definition at line 123 of file uwgmposition.h.

◆ 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.

Definition at line 137 of file uwgmposition.h.

◆ vx

double UwGMPosition::vx
private

Temporary variable.

Definition at line 160 of file uwgmposition.h.

◆ vy

double UwGMPosition::vy
private

Temporary variable.

Definition at line 161 of file uwgmposition.h.

◆ vz

double UwGMPosition::vz
private

Temporary variable.

Definition at line 162 of file uwgmposition.h.

◆ xFieldWidth_

double UwGMPosition::xFieldWidth_
protected

Range of the x-axis of the field to be simulated, in meters.

Definition at line 113 of file uwgmposition.h.

◆ yFieldWidth_

double UwGMPosition::yFieldWidth_
protected

Range of the y-axis of the field to be simulated, in meters.

Definition at line 115 of file uwgmposition.h.

◆ zFieldWidth_

double UwGMPosition::zFieldWidth_
protected

Range of the z-axis of the field to be simulated, in meters.

Definition at line 117 of file uwgmposition.h.


The documentation for this class was generated from the following files: