Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Path * paths = new Path[shortRequests.size()];
- entity_id_t * notifies = new entity_id_t[shortRequests.size()];
- u32 * tickets = new u32[shortRequests.size()];
- #pragma omp parallel default(none) shared(shortRequests, paths, notifies, tickets) private(j) num_threads(2)
- {
- #pragma omp for
- for (j = 0; j < (unsigned int) shortRequests.size(); ++j)
- {
- const AsyncShortPathRequest& req = shortRequests[j];
- Path path;
- ControlGroupObstructionFilter filter(req.avoidMovingUnits, req.group);
- ComputeShortPath(filter, req.x0, req.z0, req.r, req.range, req.goal, req.passClass, path);
- paths[j] = path; //saving the results to an array for later
- notifies[j] = req.notify;
- tickets[j] = req.ticket;
- }
- }
- for (size_t i = 0; i < shortRequests.size(); i++) {
- CMessagePathResult msg(tickets[i], paths[i]);
- GetSimContext().GetComponentManager().PostMessage(notifies[i], msg);
- }
- delete [] paths;
- delete [] notifies;
- delete [] tickets;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement