Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6.  
  7.  
  8. //double min_lat;
  9. //double min_lon;
  10. //double max_lat;
  11. //double max_lon;
  12.  
  13. #include "helperFunctions.h"
  14. #include "m1.h"
  15. #include "StreetsDatabaseAPI.h"
  16. #include <vector>
  17.  
  18. double* minmax_data = new double[4];
  19. std::vector<double> streetLength;
  20. std::vector<float> maxSpeed;
  21. std::vector<std::vector<std::pair<LatLon, LatLon>>> labelPoints;
  22.  
  23. int everyFive = 0;
  24. bool resized = false;
  25.  
  26.  
  27. void store_minmax_data(double minLat, double minLon, double maxLat, double maxLon){
  28.  
  29. minmax_data[0] = minLat;
  30. minmax_data[1] = minLon;
  31. minmax_data[2] = maxLat;
  32. minmax_data[3] = maxLon;
  33. }
  34.  
  35.  
  36. double* return_minmax_data(){
  37. return minmax_data;
  38. }
  39.  
  40. void resize_vectors() {
  41. resized = false;
  42. }
  43.  
  44. void update_data(int streetId, int segId) {
  45. if (!resized) {
  46. streetLength.resize(getNumStreets());
  47. maxSpeed.resize(getNumStreets());
  48. labelPoints.resize(getNumStreets());
  49. resized = true;
  50. }
  51.  
  52. LatLon from = getIntersectionPosition(getInfoStreetSegment(segId).from);
  53. LatLon to = getIntersectionPosition(getInfoStreetSegment(segId).to);
  54.  
  55. std::pair<LatLon, LatLon> points;
  56. points.first = from;
  57. points.second = to;
  58.  
  59. streetLength[streetId] = streetLength[streetId] + find_distance_between_two_points(points);
  60.  
  61. if (getInfoStreetSegment(segId).speedLimit > maxSpeed[streetId]) {
  62. maxSpeed[streetId] = getInfoStreetSegment(segId).speedLimit;
  63. }
  64.  
  65. if (everyFive == 4) {
  66. labelPoints[streetId].push_back(points);
  67. everyFive = 0;
  68. } else {
  69. everyFive++;
  70. }
  71. }
  72.  
  73. double getLength(int streetId) {
  74. return streetLength[streetId];
  75. }
  76.  
  77. float getSpeed(int streetId) {
  78. return maxSpeed[streetId];
  79. }
  80.  
  81. std::vector<std::pair<LatLon, LatLon>> getLabelp(int streetId) {
  82. return labelPoints[streetId];
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement