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

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

?? gpr_billard_mobility.pr.c

?? opnetadhoc自組網絡源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
			FSM_STATE_EXIT_UNFORCED (1, "idle", "gpr_billard_mobility [idle exit execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [idle exit execs], state1_exit_exec)
				{
				}
				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [idle exit execs], state1_exit_exec)


			/** state (idle) transition processing **/
			FSM_PROFILE_SECTION_IN (gpr_billard_mobility [idle trans conditions], state1_trans_conds)
			FSM_INIT_COND (MOVE)
			FSM_DFLT_COND
			FSM_TEST_LOGIC ("idle")
			FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [idle trans conditions], state1_trans_conds)

			FSM_TRANSIT_SWITCH
				{
				FSM_CASE_TRANSIT (0, 2, state2_enter_exec, ;, "MOVE", "", "idle", "position")
				FSM_CASE_TRANSIT (1, 1, state1_enter_exec, ;, "default", "", "idle", "idle")
				}
				/*---------------------------------------------------------*/



			/** state (position) enter executives **/
			FSM_STATE_ENTER_FORCED (2, "position", state2_enter_exec, "gpr_billard_mobility [position enter execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [position enter execs], state2_enter_exec)
				{
				///////////////////////////////////////////////////////////////
				// BILLARD MOBILITY POSITION STATE
				//
				// Update the position of the node containing the current mobility 
				// process
				///////////////////////////////////////////////////////////////
				
				
				// Get the actual position of the node containing the current process
				op_ima_obj_attr_get(my_node_id,"x position",&x_pos);
				op_ima_obj_attr_get(my_node_id,"y position",&y_pos);
				if (1)
					{
					op_prg_odb_bkpt("ztl_mov");
					}
				
				// calcul the new x and y position according to the STEP_DIST and the current direction (angle)
				x=x_pos+STEP_DIST*cos(angle);
				y=y_pos+STEP_DIST*sin(angle);
				
				// if the new x position is outside the network grid boundaries
				if ((x<XMIN)||(XMAX<x))
					{
					// if the new y position is also outside the network grid boundaries
					if ((y<YMIN)||(YMAX<y))
						{
						// come back to the previous position (on x and y)
						x=x_pos-STEP_DIST*cos(angle);
						y=y_pos-STEP_DIST*sin(angle);
						// and calculate a random new direction
						angle=op_dist_outcome(one)*PI;	
						}
					// if new y position are still in the network boundaries 
					else 
						{
						// come back to the previous position (only on x)
						x=x_pos-STEP_DIST*cos(angle);
						// and calculate a random new direction
						angle=op_dist_outcome(one)*PI;
						}
					}
				
				// if only the new y position is outside (x and y outside handle before) the network boundaries 
				if ((y<YMIN)||(YMAX<y))
					{
					// come back to the previous position (only on y)
					y=y_pos-STEP_DIST*sin(angle);
					// and calculate a random new direction
					angle=op_dist_outcome(one)*PI;
					}
				
				printf(" my_id : %d previous pos (%f,%f), new position (%f,%f), direction %f\n",my_node_id,x_pos,y_pos,x,y,angle);
				
				// set the new position of the node
				op_ima_obj_attr_set(my_node_id, "x position",x);
				op_ima_obj_attr_set(my_node_id, "y position",y);
				
				// schedule the interuption for the next movement (position updating)
				op_intrpt_schedule_self(op_sim_time()+POS_TIMER,0);
				
				// breakpoint for debugging purpose
				if (1)
					{
					op_prg_odb_bkpt("ztl_mov");
					}
				
				
				
				
				
				}

				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [position enter execs], state2_enter_exec)

			/** state (position) exit executives **/
			FSM_STATE_EXIT_FORCED (2, "position", "gpr_billard_mobility [position exit execs]")
				FSM_PROFILE_SECTION_IN (gpr_billard_mobility [position exit execs], state2_exit_exec)
				{
				}
				FSM_PROFILE_SECTION_OUT (gpr_billard_mobility [position exit execs], state2_exit_exec)


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



			}


		FSM_EXIT (0,"gpr_billard_mobility")
		}
	}




void
gpr_billard_mobility_diag (OP_SIM_CONTEXT_ARG_OPT)
	{
	/* No Diagnostic Block */
	}




void
gpr_billard_mobility_terminate (OP_SIM_CONTEXT_ARG_OPT)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = __LINE__;
#endif

	FIN_MT (gpr_billard_mobility_terminate ())

	Vos_Poolmem_Dealloc_MT (OP_SIM_CONTEXT_THREAD_INDEX_COMMA pr_state_ptr);

	FOUT
	}


/* Undefine shortcuts to state variables to avoid */
/* syntax error in direct access to fields of */
/* local variable prs_ptr in gpr_billard_mobility_svar function. */
#undef one
#undef my_node_id
#undef my_process_id
#undef angle
#undef my_net_id
#undef bMobile

#undef FIN_PREAMBLE_DEC
#undef FIN_PREAMBLE_CODE

#define FIN_PREAMBLE_DEC
#define FIN_PREAMBLE_CODE

VosT_Obtype
gpr_billard_mobility_init (int * init_block_ptr)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = 0;
#endif
	VosT_Obtype obtype = OPC_NIL;
	FIN_MT (gpr_billard_mobility_init (init_block_ptr))

	Vos_Define_Object (&obtype, "proc state vars (gpr_billard_mobility)",
		sizeof (gpr_billard_mobility_state), 0, 20);
	*init_block_ptr = 0;

	FRET (obtype)
	}

VosT_Address
gpr_billard_mobility_alloc (VOS_THREAD_INDEX_ARG_COMMA VosT_Obtype obtype, int init_block)
	{

#if !defined (VOSD_NO_FIN)
	int _op_block_origin = 0;
#endif
	gpr_billard_mobility_state * ptr;
	FIN_MT (gpr_billard_mobility_alloc (obtype))

	ptr = (gpr_billard_mobility_state *)Vos_Alloc_Object_MT (VOS_THREAD_INDEX_COMMA obtype);
	if (ptr != OPC_NIL)
		ptr->_op_current_block = init_block;
	FRET ((VosT_Address)ptr)
	}



void
gpr_billard_mobility_svar (void * gen_ptr, const char * var_name, void ** var_p_ptr)
	{
	gpr_billard_mobility_state		*prs_ptr;

	FIN_MT (gpr_billard_mobility_svar (gen_ptr, var_name, var_p_ptr))

	if (var_name == OPC_NIL)
		{
		*var_p_ptr = (void *)OPC_NIL;
		FOUT
		}
	prs_ptr = (gpr_billard_mobility_state *)gen_ptr;

	if (strcmp ("one" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->one);
		FOUT
		}
	if (strcmp ("my_node_id" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->my_node_id);
		FOUT
		}
	if (strcmp ("my_process_id" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->my_process_id);
		FOUT
		}
	if (strcmp ("angle" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->angle);
		FOUT
		}
	if (strcmp ("my_net_id" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->my_net_id);
		FOUT
		}
	if (strcmp ("bMobile" , var_name) == 0)
		{
		*var_p_ptr = (void *) (&prs_ptr->bMobile);
		FOUT
		}
	*var_p_ptr = (void *)OPC_NIL;

	FOUT
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费在线观看 | ●精品国产综合乱码久久久久| 丝袜美腿亚洲综合| 国产经典欧美精品| 欧美日韩视频在线观看一区二区三区| 中文字幕二三区不卡| 亚洲在线观看免费视频| 在线视频一区二区三| 中文字幕的久久| 亚洲国产日韩综合久久精品| 亚洲国产一区二区在线播放| 中文字幕在线一区二区三区| 国产一区二区在线看| 精品视频在线看| xnxx国产精品| 欧美唯美清纯偷拍| 成人精品亚洲人成在线| 美女脱光内衣内裤视频久久影院| 一区二区中文字幕在线| 久久天堂av综合合色蜜桃网| 91精品国产色综合久久ai换脸| 91视频com| 99精品欧美一区二区蜜桃免费| 国产一区二区三区蝌蚪| 久久精品免费看| 日本午夜精品一区二区三区电影| 亚洲三级在线播放| 1024国产精品| 中文字幕一区二区三区不卡| 国产喷白浆一区二区三区| 久久女同精品一区二区| 精品欧美一区二区久久| 91精品福利在线一区二区三区| 在线亚洲精品福利网址导航| 91亚洲精品一区二区乱码| 成人美女视频在线观看18| 成人综合在线观看| 成人免费观看av| 99精品国产99久久久久久白柏| 成人精品电影在线观看| 大陆成人av片| 成人av小说网| 97久久精品人人做人人爽| 91免费国产在线观看| 色综合天天综合网天天看片| av在线这里只有精品| 97se亚洲国产综合自在线不卡 | www久久精品| 久久综合九色综合欧美98| 26uuu亚洲| 久久久精品人体av艺术| 中文字幕av一区二区三区免费看| 国产精品乱码一区二三区小蝌蚪| 最新中文字幕一区二区三区| 亚洲免费电影在线| 天堂午夜影视日韩欧美一区二区| 天天操天天干天天综合网| 开心九九激情九九欧美日韩精美视频电影 | 欧亚洲嫩模精品一区三区| 欧美日韩成人在线| 欧美mv和日韩mv国产网站| 中文av字幕一区| 亚洲一区二区四区蜜桃| 欧美a一区二区| 成人激情图片网| 在线观看亚洲专区| 日韩欧美中文字幕精品| 国产精品美女久久久久aⅴ| 亚洲精品水蜜桃| 久久国产欧美日韩精品| 波多野结衣在线aⅴ中文字幕不卡| 91啪在线观看| 日韩精品自拍偷拍| 中文字幕第一区二区| 亚洲va中文字幕| 国产精品资源在线观看| 在线视频国内一区二区| 欧美成人bangbros| 亚洲日本一区二区三区| 美女脱光内衣内裤视频久久网站 | 国产成人免费视| 在线欧美日韩精品| 精品国产乱码久久久久久1区2区| 中文字幕一区二区三区蜜月 | 国产成人精品aa毛片| 欧美午夜不卡在线观看免费| 久久久久久久久久久久久夜| 一区二区三区四区亚洲| 国产精品正在播放| 欧美人狂配大交3d怪物一区| 国产视频一区二区在线观看| 午夜精品一区二区三区免费视频| 国产精品99久久久久久有的能看| 91久久国产最好的精华液| 久久久久久久久岛国免费| 亚洲图片有声小说| 96av麻豆蜜桃一区二区| 欧美精品一区二区在线播放| 亚洲不卡av一区二区三区| 不卡视频一二三| 2021国产精品久久精品| 亚洲国产aⅴ成人精品无吗| 成人久久18免费网站麻豆| 日韩女优电影在线观看| 亚洲高清在线精品| 色婷婷狠狠综合| 国产精品久久久久久久久快鸭 | 成人国产亚洲欧美成人综合网| 欧美欧美欧美欧美| 一区二区三区国产豹纹内裤在线| 国产一区二区不卡在线| 日韩一二三区视频| 亚洲高清视频中文字幕| 91一区一区三区| 中文欧美字幕免费| 国产成人精品免费| 久久精品人人做人人爽97| 久久疯狂做爰流白浆xx| 欧美一三区三区四区免费在线看 | 国内外成人在线视频| 日韩午夜中文字幕| 日本不卡一区二区三区 | 精品成人一区二区| 麻豆中文一区二区| 欧美一区二区三区免费大片| 午夜精品福利一区二区三区蜜桃| 色偷偷成人一区二区三区91| 国产精品美日韩| 不卡欧美aaaaa| 国产精品久久久久桃色tv| 成人自拍视频在线| 欧美国产禁国产网站cc| 国产成人福利片| 国产精品视频麻豆| 波多野结衣中文字幕一区二区三区| 国产欧美一区视频| 成人精品免费网站| 亚洲视频在线一区观看| 97国产一区二区| 一个色综合av| 欧美日韩国产一区| 爽好久久久欧美精品| 日韩欧美的一区二区| 国产一区999| 国产精品沙发午睡系列990531| 成人av网站在线观看| 亚洲欧美日韩小说| 欧美三电影在线| 久久精品国产一区二区三区免费看| 日韩一区二区三区在线视频| 久久精品国产77777蜜臀| 久久精品亚洲精品国产欧美 | 亚洲一区二区三区不卡国产欧美| 波多野结衣在线aⅴ中文字幕不卡| 国产精品三级视频| 色综合视频一区二区三区高清| 亚洲一区二区三区爽爽爽爽爽| 欧美视频一区在线| 青青草精品视频| 日本一区二区高清| 欧美探花视频资源| 蜜桃精品在线观看| 欧美高清在线一区二区| 色哟哟亚洲精品| 蜜桃视频在线观看一区| 国产丝袜欧美中文另类| 欧美亚洲一区二区在线| 精品在线免费观看| 最新日韩在线视频| 日韩精品中午字幕| 91农村精品一区二区在线| 免费人成在线不卡| 亚洲欧洲精品一区二区三区不卡| 欧美日韩久久一区| 国产伦精品一区二区三区免费迷 | 精品国产免费一区二区三区四区| 国产成人精品午夜视频免费| 亚洲精品国产品国语在线app| 欧美一级黄色片| av资源站一区| 九一九一国产精品| 亚洲欧美日韩久久| 精品国产123| 欧美天堂一区二区三区| 国产高清无密码一区二区三区| 一区二区三区久久| 久久久久久**毛片大全| 欧美日韩在线播| 成人激情动漫在线观看| 久久国产精品色婷婷| 亚洲国产日韩一级| 国产欧美精品一区二区三区四区| 欧美日韩日日摸| 91亚洲精品久久久蜜桃网站 | 1024成人网| 国产人伦精品一区二区| 欧美精品v日韩精品v韩国精品v| 丁香婷婷综合激情五月色| 日本不卡的三区四区五区| 一区二区在线看|