|
@@ -264,9 +264,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = terminal_id * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -314,7 +314,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
{
|
|
|
//只需计算端口到车位的距离
|
|
|
// 三楼中型用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -334,7 +334,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -388,7 +388,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
if ( all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id() == 2 )
|
|
|
{
|
|
|
// 二楼用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width() - (terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width() - (6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -406,7 +406,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
else
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_big_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_big_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -464,9 +464,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = (6-terminal_id+2)* TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -510,7 +510,12 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
{
|
|
|
//只需计算端口到车位的距离
|
|
|
// 三楼中型车位用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float parkingspace_width=15-room_id%15;
|
|
|
+ if ( room_id%15==0 )
|
|
|
+ {
|
|
|
+ parkingspace_width=0;
|
|
|
+ }
|
|
|
+ float t_min=abs( parkingspace_width*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -529,9 +534,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15)*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=time;
|
|
@@ -579,7 +584,15 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
if ( all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id() == 2 )
|
|
|
{
|
|
|
// 二楼用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float parkingspace_width=15-room_id%15;
|
|
|
+ if ( room_id%15==0 )
|
|
|
+ {
|
|
|
+ parkingspace_width=0;
|
|
|
+ }
|
|
|
+ float t_min=abs( parkingspace_width*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ std::cout << " room_id = " << room_id <<" t_min = "<<t_min<< std::endl;
|
|
|
+ std::cout << " parkingspace_index_id = " << parkingspace_index_id <<" time_min = "<<time_min<< std::endl;
|
|
|
+ std::cout << " ---------------------- " << std::endl;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -597,9 +610,12 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
|
|
|
else
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_big_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_big_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_big_parkspace_data.parkspace_info(i).parkingspace_index_id()%15)*all_big_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ std::cout << " room_id = " << room_id <<" time = "<<time<< std::endl;
|
|
|
+ std::cout << " parkingspace_index_id = " << parkingspace_index_id <<" time_min = "<<time_min<< std::endl;
|
|
|
+ std::cout << " ---------------------- " << std::endl;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=time;
|
|
@@ -669,9 +685,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = terminal_id * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -707,9 +723,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = terminal_id * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -754,9 +770,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15)*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=time;
|
|
@@ -793,7 +809,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -844,7 +860,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
if ( all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id() == 2 )
|
|
|
{
|
|
|
// 二楼用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -862,7 +878,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
|
|
|
else
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_big_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_big_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -933,9 +949,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = terminal_id * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -971,9 +987,9 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time = terminal_id % 6 * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time = terminal_id * TERMINAL_SPACING / MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_min_parkspace_data.parkspace_info(i).parkingspace_floor_id() - 2) *all_min_parkspace_data.parkspace_info(i).parkingspace_height() /THE_ELEVATOR_SPEED +ELEVATOR_MOVEMENT_TIME +
|
|
|
- all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15 *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
+ (15-all_min_parkspace_data.parkspace_info(i).parkingspace_index_id() % 15) *all_min_parkspace_data.parkspace_info(i).parkingspace_width() / MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if (time_min == 0)
|
|
|
{
|
|
|
time_min = time;
|
|
@@ -1018,7 +1034,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -1057,7 +1073,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_mid_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_mid_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -1108,7 +1124,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
if ( all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id() == 2 )
|
|
|
{
|
|
|
// 二楼用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -1126,7 +1142,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
|
|
|
else
|
|
|
{
|
|
|
//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
|
|
|
- float time=(terminal_id%6+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
+ float time=(6-terminal_id+2)*TERMINAL_SPACING/MEDIUM_CAR_SPEED + DOWNSTAIRS_SPORTS_TIME +
|
|
|
(all_big_parkspace_data.parkspace_info(i).parkingspace_floor_id()-2)*all_big_parkspace_data.parkspace_info(i).parkingspace_height()/THE_ELEVATOR_SPEED + ELEVATOR_MOVEMENT_TIME +
|
|
|
all_big_parkspace_data.parkspace_info(i).parkingspace_index_id()%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()/MEDIUM_CAR_SPEED + UPSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
@@ -1194,7 +1210,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB3(message::P
|
|
|
{
|
|
|
//只需计算端口到车位的距离
|
|
|
// 三楼中型用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_mid_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|
|
@@ -1235,7 +1251,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB3(message::P
|
|
|
{
|
|
|
//只需计算端口到车位的距离
|
|
|
// 二楼中型用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
|
|
|
- float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(terminal_id%6+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
+ float t_min=abs( room_id%15*all_big_parkspace_data.parkspace_info(i).parkingspace_width()-(6-terminal_id+2)*TERMINAL_SPACING )/MEDIUM_CAR_SPEED+DOWNSTAIRS_SPORTS_TIME;
|
|
|
if ( time_min == 0 )
|
|
|
{
|
|
|
time_min=t_min;
|