亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gpr_billard_mobility.pr.c

?? opnetadhoc自組網絡源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Process model C form file: gpr_billard_mobility.pr.c */
/* Portions of this file copyright 1992-2003 by OPNET Technologies, Inc. */



/* This variable carries the header into the object file */
const char gpr_billard_mobility_pr_c [] = "MIL_3_Tfile_Hdr_ 100A 30A op_runsim 7 42FB0CDA 42FB0CDA 1 zhangzhong jc 0 0 none none 0 0 none 0 0 0 0 0 0 0 0 8f3 1                                                                                                                                                                                                                                                                                                                                                                                                           ";
#include <string.h>



/* OPNET system definitions */
#include <opnet.h>



/* Header Block */

///////////////////////////////////////////////////////////////
// BILLARD MOBILITY HEADER BLOCK
//
// Declaration of every constant, type, library, global 
// variables... used by the billard nobility process
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
//////////////////////// INCLUDE ////////////////////////////// 
///////////////////////////////////////////////////////////////

#include <math.h>

///////////////////////////////////////////////////////////////
///////////////// CONSTANTS DEFINITION ////////////////////////
///////////////////////////////////////////////////////////////

// constant PI for trigonometry
#define PI	 3.141592654

///////////////////////////////////////////////////////////////
///////////// TRANSITION MACROS DEFINITION ////////////////////
///////////////////////////////////////////////////////////////

#define MOVE ( op_intrpt_type () == OPC_INTRPT_SELF && bMobile==1) 

///////////////////////////////////////////////////////////////
////////////// GLOBAL VARIABLES DECLARATION ///////////////////
///////////////////////////////////////////////////////////////

// variable that define the size of the grid on which the nodes are moving
double XMAX; 
double XMIN;
double YMIN;
double YMAX;

// variable which define the node mobilty (speed = STEP_DIST/ POS_TIMER)
double POS_TIMER;
double STEP_DIST;

/* End of Header Block */


#if !defined (VOSD_NO_FIN)
#undef	BIN
#undef	BOUT
#define	BIN		FIN_LOCAL_FIELD(_op_last_line_passed) = __LINE__ - _op_block_origin;
#define	BOUT	BIN
#define	BINIT	FIN_LOCAL_FIELD(_op_last_line_passed) = 0; _op_block_origin = __LINE__;
#else
#define	BINIT
#endif /* #if !defined (VOSD_NO_FIN) */



/* State variable definitions */
typedef struct
	{
	/* Internal state tracking for FSM */
	FSM_SYS_STATE
	/* State Variables */
	Distribution *	         		one;
	Objid	                  		my_node_id;
	Objid	                  		my_process_id;
	double	                 		angle;
	Objid	                  		my_net_id;
	int	                    		bMobile;
	} gpr_billard_mobility_state;

#define pr_state_ptr            		((gpr_billard_mobility_state*) (OP_SIM_CONTEXT_PTR->mod_state_ptr))
#define one                     		pr_state_ptr->one
#define my_node_id              		pr_state_ptr->my_node_id
#define my_process_id           		pr_state_ptr->my_process_id
#define angle                   		pr_state_ptr->angle
#define my_net_id               		pr_state_ptr->my_net_id
#define bMobile                 		pr_state_ptr->bMobile

/* These macro definitions will define a local variable called	*/
/* "op_sv_ptr" in each function containing a FIN statement.	*/
/* This variable points to the state variable data structure,	*/
/* and can be used from a C debugger to display their values.	*/
#undef FIN_PREAMBLE_DEC
#undef FIN_PREAMBLE_CODE
#if defined (OPD_PARALLEL)
#  define FIN_PREAMBLE_DEC	gpr_billard_mobility_state *op_sv_ptr; OpT_Sim_Context * tcontext_ptr;
#  define FIN_PREAMBLE_CODE	\
		if (VosS_Mt_Perform_Lock) \
			VOS_THREAD_SPECIFIC_DATA_GET (VosI_Globals.simi_mt_context_data_key, tcontext_ptr, SimT_Context *); \
		else \
			tcontext_ptr = VosI_Globals.simi_sequential_context_ptr; \
		op_sv_ptr = ((gpr_billard_mobility_state *)(tcontext_ptr->mod_state_ptr));
#else
#  define FIN_PREAMBLE_DEC	gpr_billard_mobility_state *op_sv_ptr;
#  define FIN_PREAMBLE_CODE	op_sv_ptr = pr_state_ptr;
#endif


/* No Function Block */


#if !defined (VOSD_NO_FIN)
enum { _op_block_origin = __LINE__ };
#endif

/* Undefine optional tracing in FIN/FOUT/FRET */
/* The FSM has its own tracing code and the other */
/* functions should not have any tracing.		  */
#undef FIN_TRACING
#define FIN_TRACING

#undef FOUTRET_TRACING
#define FOUTRET_TRACING

#if defined (__cplusplus)
extern "C" {
#endif
	void gpr_billard_mobility (OP_SIM_CONTEXT_ARG_OPT);
	VosT_Obtype gpr_billard_mobility_init (int * init_block_ptr);
	VosT_Address gpr_billard_mobility_alloc (VOS_THREAD_INDEX_ARG_COMMA VosT_Obtype, int);
	void gpr_billard_mobility_diag (OP_SIM_CONTEXT_ARG_OPT);
	void gpr_billard_mobility_terminate (OP_SIM_CONTEXT_ARG_OPT);
	void gpr_billard_mobility_svar (void *, const char *, void **);


	VosT_Fun_Status Vos_Define_Object (VosT_Obtype * obst_ptr, const char * name, unsigned int size, unsigned int init_obs, unsigned int inc_obs);
	VosT_Address Vos_Alloc_Object_MT (VOS_THREAD_INDEX_ARG_COMMA VosT_Obtype ob_hndl);
	VosT_Fun_Status Vos_Poolmem_Dealloc_MT (VOS_THREAD_INDEX_ARG_COMMA VosT_Address ob_ptr);
#if defined (__cplusplus)
} /* end of 'extern "C"' */
#endif




/* Process model interrupt handling procedure */


void
gpr_billard_mobility (OP_SIM_CONTEXT_ARG_OPT)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = 0;
#endif
	FIN_MT (gpr_billard_mobility ());
	if (1)
		{
		Evhandle evh;
		double	altitude,latitude,longitude,
				x_pos,y_pos,z_pos,
				x,y,z,rand, D, prev_angle;
		
				
		Compcode comp_code;
		


		FSM_ENTER ("gpr_billard_mobility")

		FSM_BLOCK_SWITCH
			{
			/*---------------------------------------------------------*/
			/** state (init) enter executives **/
			FSM_STATE_ENTER_FORCED_NOLABEL (0, "init", "gpr_billard_mobility [init enter execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [init enter execs], state0_enter_exec)
				{
				///////////////////////////////////////////////////////////////
				// BILLARD MOBILITY INIT STATE
				//
				// Initialize the billard mobility process model (variable,...)
				///////////////////////////////////////////////////////////////
				
				char msg_string[120];
				// init every id relative to the current process
				my_node_id=op_topo_parent (op_id_self());
				my_process_id=op_id_self();
				my_net_id=op_topo_parent(my_node_id);
				
				op_ima_obj_attr_get(my_node_id,"Mobile",&bMobile);
				
				// read the simulation attributes
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_POS_TIMER", &POS_TIMER);
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_STEP_DIST", &STEP_DIST);
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_XMIN", &XMIN);
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_XMAX", &XMAX);
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_YMIN", &YMIN);
				op_ima_sim_attr_get(OPC_IMA_DOUBLE, "mobil_YMAX", &YMAX);
				
				// initialize the distributions for the random movements
				one=op_dist_load ("uniform",-1,1);
				
				// initilaze the first random direction followed by the node containing the current mobility process
				angle=op_dist_outcome (one)*PI;
					if (op_prg_odb_ltrace_active ("ztl_debug") == OPC_TRUE)
						{
								sprintf (msg_string, "move interval is %f ", POS_TIMER);
								op_prg_odb_print_major (msg_string, OPC_NIL);
								op_prg_odb_bkpt("ztl_mov");		
						}
				
				
				// schedule the first "mouvement" interuption
				op_intrpt_schedule_self(op_sim_time()+POS_TIMER,0);
				}

				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [init enter execs], state0_enter_exec)

			/** state (init) exit executives **/
			FSM_STATE_EXIT_FORCED (0, "init", "gpr_billard_mobility [init exit execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [init exit execs], state0_exit_exec)
				{
				}
				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [init exit execs], state0_exit_exec)


			/** state (init) transition processing **/
			FSM_TRANSIT_FORCE (1, state1_enter_exec, ;, "default", "", "init", "idle")
				/*---------------------------------------------------------*/



			/** state (idle) enter executives **/
			FSM_STATE_ENTER_UNFORCED (1, "idle", state1_enter_exec, "gpr_billard_mobility [idle enter execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [idle enter execs], state1_enter_exec)
				{
				}

				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [idle enter execs], state1_enter_exec)

			/** blocking after enter executives of unforced state. **/
			FSM_EXIT (3,"gpr_billard_mobility")


			/** state (idle) exit executives **/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美a级理论片| 91精品国产欧美一区二区18| 欧美性生活大片视频| 欧美videossexotv100| 亚洲欧美日韩在线| 国产69精品久久99不卡| 制服丝袜中文字幕一区| 亚洲日本在线观看| 国产91精品入口| 精品国产不卡一区二区三区| 亚洲大型综合色站| 99久久99久久免费精品蜜臀| 久久日韩粉嫩一区二区三区 | 日韩三级伦理片妻子的秘密按摩| 亚洲免费视频中文字幕| 狠狠狠色丁香婷婷综合激情| 欧美影院午夜播放| 国产欧美视频在线观看| 琪琪久久久久日韩精品| 91成人免费网站| 亚洲美女淫视频| 99久久久精品| 自拍偷在线精品自拍偷无码专区| 韩国av一区二区三区在线观看| 91麻豆精品国产自产在线观看一区 | 成人性生交大合| 久久久久久久国产精品影院| 另类调教123区| 91精品国产高清一区二区三区蜜臀| 亚洲国产成人av网| 欧美三级资源在线| 首页国产欧美久久| 51精品久久久久久久蜜臀| 亚洲午夜久久久久久久久电影院| 一本大道久久a久久综合| 中文久久乱码一区二区| 成人黄色免费短视频| 国产精品久久久久久久久果冻传媒| 国产精品亚洲午夜一区二区三区 | www国产成人| 国产一区999| 国产精品视频九色porn| 色香蕉久久蜜桃| 亚洲一区二区三区中文字幕 | 国产婷婷色一区二区三区四区 | 美日韩一区二区| 久久久精品免费观看| 成人午夜激情视频| 一区在线播放视频| 欧美疯狂做受xxxx富婆| 精品午夜一区二区三区在线观看| www国产精品av| 成人国产一区二区三区精品| 国产精品成人一区二区艾草 | 亚洲美女一区二区三区| 欧美酷刑日本凌虐凌虐| 久久机这里只有精品| 久久亚区不卡日本| eeuss鲁一区二区三区| 亚洲一区日韩精品中文字幕| 欧美日本免费一区二区三区| 久久99在线观看| 国产精品美女久久久久久2018| 91蜜桃在线免费视频| 青青草原综合久久大伊人精品| 久久精品这里都是精品| 色综合色综合色综合色综合色综合| 亚洲成人一区在线| 精品处破学生在线二十三| aaa亚洲精品| 日本美女一区二区三区视频| 中文字幕第一区第二区| 在线电影一区二区三区| 大陆成人av片| 日韩精品1区2区3区| 1024成人网| 精品国产三级电影在线观看| 91亚洲精品一区二区乱码| 麻豆精品视频在线观看视频| 国产精品美女一区二区三区| 日韩一区二区三区视频| 91美女福利视频| 国产精品18久久久久久久网站| 亚洲高清在线精品| 国产精品你懂的在线欣赏| 日韩欧美综合在线| 91成人看片片| 99视频精品全部免费在线| 久久99在线观看| 日韩高清在线不卡| 亚洲精品高清在线观看| 欧美国产激情二区三区| 精品久久久久久久久久久久久久久| 色综合欧美在线| 国产真实乱对白精彩久久| 偷窥少妇高潮呻吟av久久免费| 中文字幕在线不卡一区| 国产欧美一区二区精品婷婷 | 欧美中文字幕一区二区三区亚洲| 成人一区二区三区视频| 韩国精品久久久| 久久99蜜桃精品| 麻豆国产欧美一区二区三区| 亚洲国产欧美在线人成| 国产精品婷婷午夜在线观看| www日韩大片| 久久综合视频网| wwwwxxxxx欧美| 欧美精品一区二区三区一线天视频 | 精品一区二区三区香蕉蜜桃| 首页国产丝袜综合| 免费在线观看一区| 六月婷婷色综合| 狠狠色丁香婷综合久久| 久久99精品国产麻豆不卡| 裸体一区二区三区| 久久99久久精品| 国产一区二区网址| 国产精品乡下勾搭老头1| 国产真实乱子伦精品视频| 国产黑丝在线一区二区三区| 国产一区在线视频| 国产精选一区二区三区| 成人影视亚洲图片在线| 成人污污视频在线观看| 97久久超碰精品国产| 欧美影院精品一区| 欧美一级搡bbbb搡bbbb| 2020日本不卡一区二区视频| 日本一区二区综合亚洲| 亚洲欧美日韩小说| 天天影视色香欲综合网老头| 美脚の诱脚舐め脚责91| 成人一区在线观看| 在线视频综合导航| 欧美一区二区免费| 日本一二三不卡| 亚洲成人免费看| 久久99精品一区二区三区三区| 国产精品 日产精品 欧美精品| 成人免费高清视频在线观看| 91视视频在线观看入口直接观看www | 91丨九色丨国产丨porny| 欧美图片一区二区三区| 欧美成va人片在线观看| 中文字幕+乱码+中文字幕一区| 综合电影一区二区三区| 日韩国产欧美三级| www.欧美色图| 欧美精品高清视频| 国产精品人妖ts系列视频| 亚洲一区二区免费视频| 紧缚奴在线一区二区三区| 91在线观看高清| 日韩欧美亚洲国产另类| 亚洲欧美一区二区在线观看| 日本视频一区二区三区| 播五月开心婷婷综合| 欧美一区二区在线免费播放| 中文字幕av一区二区三区免费看| 亚洲一区二区成人在线观看| 国产成人精品三级麻豆| 欧美肥妇free| 亚洲三级电影网站| 精品一区二区精品| 欧洲av一区二区嗯嗯嗯啊| 国产午夜精品一区二区三区视频| 一区二区三区四区五区视频在线观看| 久久国产人妖系列| 欧美无砖砖区免费| 国产精品乱码妇女bbbb| 黄色小说综合网站| 91精品国产欧美一区二区| 亚洲综合丝袜美腿| eeuss影院一区二区三区| 久久精品一区蜜桃臀影院| 日韩电影在线一区二区三区| 一本到高清视频免费精品| 国产蜜臀97一区二区三区| 精品一区二区三区久久久| 91精品国产色综合久久ai换脸| 亚洲精品日产精品乱码不卡| 99热这里都是精品| 国产精品久久久久久久久免费樱桃| 精品中文字幕一区二区| 91精品国产色综合久久| 日韩制服丝袜av| 欧美一区二区成人| 午夜精彩视频在线观看不卡| 在线视频欧美精品| 亚洲老妇xxxxxx| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲福利视频导航| 99这里都是精品| 国产精品免费久久久久| 国产成人亚洲综合色影视| 日韩一区二区高清| 蜜桃久久久久久| 91麻豆精品国产综合久久久久久| 亚洲午夜激情网页|