15#ifndef _NETSIM_MOBILITY_H_
16#define _NETSIM_MOBILITY_H_
21#define Mobility_MODEL_DEFAULT _strdup("NO_MOBILITY")
22#define Mobility_GROUP_ID_DEFAULT 1
23#define Mobility_FILE_NAME_DEFAULT _strdup("")
24#define Mobility_OPEN_MOBILITY_FILE_DEFAULT _strdup("")
25#define Mobility_STEP_SIZE_DEFAULT 1
26#define Mobility_CALCULATION_INTERVAL_DEFAULT 1
27#define Mobility_MAX_SPEED_M_S_DEFAULT 3
28#define Mobility_MIN_SPEED_M_S_DEFAULT 1
29#define Mobility_STOP_PROBABILITY_DEFAULT 0.5
30#define Mobility_STOP_DURATION_S_DEFAULT 5
32 typedef enum enum_MobilityModel MOBILITY_MODEL;
40 MOVE_GROUP = PROTOCOL_MOBILITY * 100 + 1,
45 enum enum_MobilityModel
47 MobilityModel_NOMOBILITY,
48 MobilityModel_RANDOMWAYPOINT,
49 MobilityModel_RANDOMWALK,
50 MobilityModel_FILEBASEDMOBILITY,
53 MobilityModel_PEDESTRAIN,
69 MOBILITY_MODEL nMobilityType;
86 double dCalculationInterval;
91 char* mobilityFileName;
95 double Stop_Probability;
97 double Pedestrain_Speed;
101 void add_mobility_animation(NETSIM_ID d,
106 int FileBasedMobilityPointersFree();
107 int fn_NMo_RandomPoint(
double* X,
double* Y,
double velocity,
double interval,
unsigned long* pulSeed1,
unsigned long* pulSeed2);
108 int fn_NetSim_MoveGroup();
109 int fn_NetSim_Mobility_Group_init();
110 int add_to_group(NETSIM_ID group_id, NETSIM_ID dev_id);
111 void mobility_pass_position_to_animation(NETSIM_ID devId,
double time, NetSim_COORDINATES* coor);
112 void log_mobility(MOVENODE log);
113 void init_mobility_log();
114 void close_mobility_logs();
115 bool get_protocol_log_status(
char* logname);
118 double* corr(
char*
id);
124 int FileBasedMobilityReadingFile();
125 void process_filebased_mobility_event();
126 int FileBasedMobilityPointersFree();
129 void fn_NetSim_MObility_configureOffice(
void* xmlNetSimNode);
double dPauseTime
To store the pause time.
double dLastTime
Represent the devices last move time.
unsigned long ulSeed1
Used to generate random point.
NETSIM_ID nGroupId
To store group id of device.
unsigned long ulSeed2
Used to generate random point.
double dVelocity
To store the velocity.