-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgrid.C
More file actions
22 lines (20 loc) · 777 Bytes
/
grid.C
File metadata and controls
22 lines (20 loc) · 777 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# include <grid.H>
void Grid_Node::add_client(Package * p)
{
p->reset();
Grid_Node * package_target = p->get_target_node();
if (package_target->get_position().get_x().get_d() < get_position().get_x().get_d())
p->get_h_favorable_direction() = West;
else if (package_target->get_position().get_x().get_d() > get_position().get_x().get_d())
p->get_h_favorable_direction() = East;
if (package_target->get_position().get_y().get_d() < get_position().get_y().get_d())
p->get_v_favorable_direction() = North;
else if (package_target->get_position().get_y().get_d() > get_position().get_y().get_d())
p->get_v_favorable_direction() = South;
clients.append(p);
}
void Grid_Node::put_in_queue(Package * p)
{
p->is_in_queue() = true;
queue.append(p);
}