41#ifndef _WOSS_GMMOBMODEL_3D_
42#define _WOSS_GMMOBMODEL_3D_
48#include <uw-woss-position.h>
52#define sgn(x) ( ((x)==0.0) ? 0.0 : ((x)/fabs(x)) )
53#define pi (4*atan(1.0))
54#define earth_radius 6371000.0
120 virtual int command(
int argc,
const char*
const* argv);
144 virtual void schedule(
double val) { resched(val); }
148 virtual void expire(Event* e);
Base class of UpdateTimerPosition class which is inherited from TimerHandler class.
UpdateTimerPosition(WossGMMob3D *m)
Constructor of UpdateTimerPosition class.
virtual void schedule(double val)
Update Time is scheduled using this method.
virtual void expire(Event *e)
This method tell the node what to do when update timer expire.
virtual ~UpdateTimerPosition()
Destructor of UpdateTimerPosition class.
This class implements the Gauss Markov mobility model.
double direction_
Current value of the direction.
double speedMean_
Defines the mean value of the speed.
double Gaussian()
Method that returns a value from a normal random Gaussian variable.
double sigmaPitch_
Standard deviation in the z-axis.
int maddr
Mac address of the node whose movement we would like to trace.
BoundType
Enumeration BoundType.
BoundType bound_
Defines the behaviour of the node when it reaches the edge.
int mtrace_
Flag to enable trace.
virtual void setLong(double x_coord, double y_coord)
double alphaPitch_
Parameter to be used to vary the randomness in z-axis.
double vz
new velocity of a node respectively in x-axis, y-axis and z-axis.
double yFieldWidth_
Range of the y-axis of the field to be simulated.
virtual int command(int argc, const char *const *argv)
TCL command intepreter Moreover it inherits all the OTcl method of Position.
virtual double getStartX()
Method that return the current projection of the node on the x-axis.
virtual double getStartY()
Method that return the current projection of the node on the y-axis.
string gm3dTraceFile
Trace file information.
double alpha_
Parameter to be used to vary the randomness.
virtual ~WossGMMob3D()
Destructor of WossGMMob3D class.
int wossgm_debug_
Debug flag.
double newz
new position of a node respectively in x-axis, y-axis and z-axis.
virtual void update()
Method that updates both the position coordinates as function of the number of states to be evaluated...
double zFieldWidth_
Range of the z-axis of the field to be simulated.
double xFieldWidth_
Range of the x-axis of the field to be simulated.
double nextUpdateTime_
Intenal variable used to evaluate the steps to be computed.
double start_y
Internal variable.
double pitchMean_
Defines the mean value of the shifting in z-axis.
virtual void setLat(double x_coord, double y_coord)
Method that return the starting curtesian coordinates of the node on the x-axis and y-axis.
int mtrace_of_node_
The node whose movement pattern we want to trace.
WossGMMob3D()
Constructor of WossGMMob3D class.
double speed_
Current value of the speed.
UpdateTimerPosition update_timer_position
An object of UpdateTimerPosition class.
double updateTime_
Time between two update computation.
double zmin_
Minimum z-axis value.
double start_longitude
Starting longitude of the simualted area.
double directionMean_
Defines the mean value of the direction.
double start_x
Internal variable.
double pitch_
Current value of the pitch.
double start_latitude
Starting latitude of the simualted area.
double z_coord
Previous position of the node.