DESERT 3.5.1
|
#include <woss-groupmobility-3d.h>
Classes | |
class | UpdatePositionTimer |
Public Types | |
enum | BoundType { SPHERIC = 1 , THOROIDAL , HARDWALL , REBOUNCE } |
Public Member Functions | |
WossGroupMob3D () | |
virtual | ~WossGroupMob3D () |
virtual double | getStartX () |
virtual double | getStartY () |
virtual void | setLat (double x_coord, double y_coord) |
virtual void | setLong (double x_coord, double y_coord) |
virtual double | getCharge () |
virtual int | command (int argc, const char *const *argv) |
Public Attributes | |
double | newx |
double | newy |
double | newz |
double | vx |
double | vy |
double | vz |
double | x_coord |
double | y_coord |
double | z_coord |
Protected Member Functions | |
virtual void | update () |
double | Gaussian () |
double | distance (WossPosition *pos1, WossPosition *pos2) |
double | mirror_posx (double x_coord_node, double x_coord_leader) |
double | mirror_posy (double y_coord_node, double y_coord_leader) |
double | mirror_posz (double z_coord_node, double z_coord_leader) |
Protected Attributes | |
double | xFieldWidth_ |
double | yFieldWidth_ |
double | zFieldWidth_ |
double | alpha_ |
double | speedMean_ |
double | directionMean_ |
double | pitchMean_ |
double | sigmaPitch_ |
BoundType | bound_ |
double | updateTime_ |
double | speed_ |
double | direction_ |
int | wossgroup_debug_ |
int | maddr |
double | start_latitude |
double | start_longitude |
double | start_x |
double | start_y |
int | mtrace_ |
int | mtrace_of_node_ |
double | pitch_ |
double | zmin_ |
double | speedM_ |
double | speedS_ |
double | eta_ |
double | beta_ |
double | charge_ |
double | leaderCharge_ |
double | galpha_ |
int | count |
string | gm3dGroupTraceFile |
WossPosition * | leader_ |
UpdatePositionTimer | update_position_timer |
Uwrandomlib | randlib |
Base class of Group Mobility Model.
This is inherited from WossPosition Class.
Definition at line 58 of file woss-groupmobility-3d.h.
Defines the behaviour of the node when it reaches an edge of the simulation field.
Enumerator | |
---|---|
SPHERIC | |
THOROIDAL | |
HARDWALL | |
REBOUNCE |
Definition at line 76 of file woss-groupmobility-3d.h.
WossGroupMob3D::WossGroupMob3D | ( | ) |
Constructor of WossGroupMob3D class.
Definition at line 69 of file woss-groupmobility-3d.cpp.
|
virtual |
Destructor of WossGroupMob3D class.
Definition at line 132 of file woss-groupmobility-3d.cpp.
|
virtual |
TCL command intepreter.
It inherits all the OTcl method of Position
argc | number of arguments in argv |
argv | array of strings which are the comand parameters (Note that argv[0] is the name of the object) |
Definition at line 136 of file woss-groupmobility-3d.cpp.
|
protected |
Calculate the distance between two nodes.
pointer | of node position 1 |
pointer | of node position 2 |
Definition at line 222 of file woss-groupmobility-3d.cpp.
|
protected |
Method that returns a value from a normal random Gaussian variable (zero mean, unitary viariance)
Definition at line 292 of file woss-groupmobility-3d.cpp.
|
inlinevirtual |
Attraction charge to the leader.
Definition at line 110 of file woss-groupmobility-3d.h.
|
virtual |
Method that return the starting projection of the node on the cartesian x-axis.
If it's necessary (updating time when it is expired), update the position values before returns it.
Definition at line 324 of file woss-groupmobility-3d.cpp.
|
virtual |
Method that return the starting projection of the node on the cartesian y-axis.
If it's necessary (updating time when it is expired), update the position values before returns it.
Definition at line 332 of file woss-groupmobility-3d.cpp.
|
protected |
Approximate position at x-axis.
x-axis | value of follower |
x-axis | value of leader |
Definition at line 247 of file woss-groupmobility-3d.cpp.
|
protected |
Approximate position at y-axis.
y-axis | value of follower |
y-axis | value of leader |
Definition at line 262 of file woss-groupmobility-3d.cpp.
|
protected |
Approximate position at z-axis.
z-axis | value of follower |
z-axis | value of leader |
Definition at line 277 of file woss-groupmobility-3d.cpp.
|
virtual |
Method that sets the latitude of the node after update.
changes | in x-axis |
changes | in y-axis |
Definition at line 340 of file woss-groupmobility-3d.cpp.
|
virtual |
Method that sets the longitude of the node after update.
changes | in x-axis |
changes | in y-axis |
Definition at line 349 of file woss-groupmobility-3d.cpp.
|
protectedvirtual |
Method that updates both the position coordinates as function of the number of states to be evaluated.
Definition at line 357 of file woss-groupmobility-3d.cpp.
|
protected |
Parameter to be used to vary the randomness.
0: totally random values (Brownian motion). 1: linear motion
Definition at line 206 of file woss-groupmobility-3d.h.
|
protected |
A variable which is employed to calculate attraction force towards the leader.
Definition at line 256 of file woss-groupmobility-3d.h.
|
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)
Definition at line 216 of file woss-groupmobility-3d.h.
|
protected |
Attraction charge of the follower.
Definition at line 258 of file woss-groupmobility-3d.h.
|
protected |
A counting variable.
Definition at line 264 of file woss-groupmobility-3d.h.
|
protected |
Current value of the direction.
Definition at line 228 of file woss-groupmobility-3d.h.
|
protected |
Defines the mean value of the direction.
Definition at line 210 of file woss-groupmobility-3d.h.
|
protected |
A tunable variable which is the coefficient of the filter in that range between 0 and 1.
Definition at line 254 of file woss-groupmobility-3d.h.
|
protected |
It tells the intensity of the attraction filed.
Definition at line 262 of file woss-groupmobility-3d.h.
|
protected |
Trace file information.
Definition at line 266 of file woss-groupmobility-3d.h.
|
protected |
Position pointer of the leader.
Definition at line 268 of file woss-groupmobility-3d.h.
|
protected |
Attraction charge of the leader.
Definition at line 260 of file woss-groupmobility-3d.h.
|
protected |
Mac address of the node whose movement we would like to trace.
Definition at line 232 of file woss-groupmobility-3d.h.
|
protected |
Flag to enable trace.
Definition at line 242 of file woss-groupmobility-3d.h.
|
protected |
The node whose movement pattern we want to trace.
Definition at line 244 of file woss-groupmobility-3d.h.
double WossGroupMob3D::newx |
Definition at line 112 of file woss-groupmobility-3d.h.
double WossGroupMob3D::newy |
Definition at line 112 of file woss-groupmobility-3d.h.
double WossGroupMob3D::newz |
new position of a node respectively in x-axis, y-axis and z-axis.
Definition at line 112 of file woss-groupmobility-3d.h.
|
protected |
Current value of the pitch.
Definition at line 246 of file woss-groupmobility-3d.h.
|
protected |
Defines the mean value of the shifting in z-axis.
Definition at line 212 of file woss-groupmobility-3d.h.
|
protected |
Definition at line 272 of file woss-groupmobility-3d.h.
|
protected |
Standard deviation in the z-axis.
Definition at line 214 of file woss-groupmobility-3d.h.
|
protected |
Current value of the speed.
Definition at line 226 of file woss-groupmobility-3d.h.
|
protected |
Mean of the speed which is used to compute a Gaussian random variable.
Definition at line 250 of file woss-groupmobility-3d.h.
|
protected |
Defines the mean value of the speed.
When it is setted to zero the node moves anyway
Definition at line 208 of file woss-groupmobility-3d.h.
|
protected |
Standard deviation of speed which is also used to compute a Gaussian random variable.
Definition at line 252 of file woss-groupmobility-3d.h.
|
protected |
Starting latitude of the simualted area.
Definition at line 234 of file woss-groupmobility-3d.h.
|
protected |
Starting longitude of the simualted area.
Definition at line 236 of file woss-groupmobility-3d.h.
|
protected |
Internal variable.
Definition at line 238 of file woss-groupmobility-3d.h.
|
protected |
Internal variable.
Definition at line 240 of file woss-groupmobility-3d.h.
|
protected |
An object of UpdateTimerPosition class.
Definition at line 270 of file woss-groupmobility-3d.h.
|
protected |
Time between two update computation.
Definition at line 224 of file woss-groupmobility-3d.h.
double WossGroupMob3D::vx |
Definition at line 113 of file woss-groupmobility-3d.h.
double WossGroupMob3D::vy |
Definition at line 113 of file woss-groupmobility-3d.h.
double WossGroupMob3D::vz |
new velocity of a node respectively in x-axis, y-axis and z-axis.
Definition at line 113 of file woss-groupmobility-3d.h.
|
protected |
Debug flag.
Definition at line 230 of file woss-groupmobility-3d.h.
double WossGroupMob3D::x_coord |
Definition at line 114 of file woss-groupmobility-3d.h.
|
protected |
Range of the x-axis of the field to be simulated.
Definition at line 200 of file woss-groupmobility-3d.h.
double WossGroupMob3D::y_coord |
Definition at line 114 of file woss-groupmobility-3d.h.
|
protected |
Range of the y-axis of the field to be simulated.
Definition at line 202 of file woss-groupmobility-3d.h.
double WossGroupMob3D::z_coord |
position of the node.
Definition at line 114 of file woss-groupmobility-3d.h.
|
protected |
Range of the z-axis of the field to be simulated.
Definition at line 204 of file woss-groupmobility-3d.h.
|
protected |
Minimum z-axis value.
Definition at line 248 of file woss-groupmobility-3d.h.