* set and store highway and access classification for the turn function * expose highway turn classification and access turn classification and speed to the lua profile turn function * expose whether connection road at turn is incoming or outgoing * add lua tests for exposed information to turn function * update docs about attributes in process_turn * add turn_classification info to docs * adding warning if uturn and intersection dont match * handle u turns that do not turn into intersection[0] * split OSM link generation in an accessible coordinate function
		
			
				
	
	
		
			44 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OSRM_UTIL_ASSERT_HPP
 | |
| #define OSRM_UTIL_ASSERT_HPP
 | |
| 
 | |
| #include <iostream>
 | |
| #include <string>
 | |
| 
 | |
| #include "util/coordinate.hpp"
 | |
| 
 | |
| #include <boost/assert.hpp>
 | |
| 
 | |
| // Enhances BOOST_ASSERT / BOOST_ASSERT_MSG with convenience location printing
 | |
| // - OSRM_ASSERT(cond, coordinate)
 | |
| // - OSRM_ASSERT_MSG(cond, coordinate, msg)
 | |
| 
 | |
| #ifdef BOOST_ENABLE_ASSERT_HANDLER
 | |
| 
 | |
| #define OSRM_ASSERT_MSG(cond, loc, msg)                                                            \
 | |
|     do                                                                                             \
 | |
|     {                                                                                              \
 | |
|         if (!static_cast<bool>(cond))                                                              \
 | |
|         {                                                                                          \
 | |
|             ::osrm::util::FloatCoordinate c_(loc);                                                 \
 | |
|             std::cerr << "[Location] " << c_.toOSMLink() << '\n';                                  \
 | |
|         }                                                                                          \
 | |
|         BOOST_ASSERT_MSG(cond, msg);                                                               \
 | |
|     } while (0)
 | |
| 
 | |
| #define OSRM_ASSERT(cond, loc) OSRM_ASSERT_MSG(cond, loc, "")
 | |
| 
 | |
| #else
 | |
| 
 | |
| #define OSRM_ASSERT_MSG(cond, coordinate, msg)                                                     \
 | |
|     do                                                                                             \
 | |
|     {                                                                                              \
 | |
|         (void)(cond);                                                                              \
 | |
|         (void)(coordinate);                                                                        \
 | |
|         (void)(msg);                                                                               \
 | |
|     } while (0)
 | |
| #define OSRM_ASSERT(cond, coordinate) OSRM_ASSERT_MSG(cond, coordinate, "")
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif
 |