def copy(self):
net = QueueNetwork(None)<EOL>net.g = self.g.copy()<EOL>net.max_agents = copy.deepcopy(self.max_agents)<EOL>net.nV = copy.deepcopy(self.nV)<EOL>net.nE = copy.deepcopy(self.nE)<EOL>net.num_agents = copy.deepcopy(self.num_agents)<EOL>net.num_events = copy.deepcopy(self.num_events)<EOL>net._t = copy.deepcopy(self._t)<EOL>net._initialized = copy.deepcopy(self._initialized)<EOL>net._prev_edge = copy.deepcopy(self._prev_edge)<EOL>net._blocking = copy.deepcopy(self._blocking)<EOL>net.colors = copy.deepcopy(self.colors)<EOL>net.out_edges = copy.deepcopy(self.out_edges)<EOL>net.in_edges = copy.deepcopy(self.in_edges)<EOL>net.edge2queue = copy.deepcopy(self.edge2queue)<EOL>net._route_probs = copy.deepcopy(self._route_probs)<EOL>if net._initialized:<EOL><INDENT>keys = [q._key() for q in net.edge2queue if q._time < np.infty]<EOL>net._fancy_heap = PriorityQueue(keys, net.nE)<EOL><DEDENT>return net<EOL>
Returns a deep copy of itself.