MCPcopy Create free account
hub / github.com/Project-OSRM/osrm-backend / ProcessSegment

Method ProcessSegment

src/extractor/scripting_environment_lua.cpp:1329–1358  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1327}
1328
1329void Sol2ScriptingEnvironment::ProcessSegment(ExtractionSegment &segment)
1330{
1331 auto &context = GetSol2Context();
1332
1333 if (context.has_segment_function)
1334 {
1335 sol::protected_function_result luares;
1336 switch (context.api_version)
1337 {
1338 case 4:
1339 case 3:
1340 case 2:
1341 luares = context.segment_function(context.profile_table, std::ref(segment));
1342 break;
1343 case 1:
1344 luares = context.segment_function(std::ref(segment));
1345 break;
1346 case 0:
1347 luares = context.segment_function(std::ref(segment.source),
1348 std::ref(segment.target),
1349 segment.distance,
1350 segment.duration);
1351 segment.weight = segment.duration; // back-compatibility fallback to duration
1352 break;
1353 }
1354
1355 if (!luares.valid())
1356 handle_lua_error(luares);
1357 }
1358}
1359
1360void LuaScriptingContext::ProcessNode(const osmium::Node &node,
1361 ExtractionNode &result,

Callers 1

PrepareEdgesMethod · 0.45

Calls 2

handle_lua_errorFunction · 0.85
validMethod · 0.45

Tested by

no test coverage detected