summaryrefslogtreecommitdiff
path: root/route_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'route_8c.html')
-rw-r--r--route_8c.html1272
1 files changed, 1272 insertions, 0 deletions
diff --git a/route_8c.html b/route_8c.html
new file mode 100644
index 000000000..089a37353
--- /dev/null
+++ b/route_8c.html
@@ -0,0 +1,1272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.6"/>
+<title>navit: route.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">navit
+ &#160;<span id="projectnumber">0.5.1-trunk</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('route_8c.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">route.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Contains code related to finding a route from a position to a destination.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
+<code>#include &lt;stdlib.h&gt;</code><br/>
+<code>#include &lt;string.h&gt;</code><br/>
+<code>#include &lt;math.h&gt;</code><br/>
+<code>#include &quot;navit_nls.h&quot;</code><br/>
+<code>#include &quot;glib_slice.h&quot;</code><br/>
+<code>#include &quot;config.h&quot;</code><br/>
+<code>#include &quot;point.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="graphics_8h_source.html">graphics.h</a>&quot;</code><br/>
+<code>#include &quot;profile.h&quot;</code><br/>
+<code>#include &quot;coord.h&quot;</code><br/>
+<code>#include &quot;projection.h&quot;</code><br/>
+<code>#include &quot;item.h&quot;</code><br/>
+<code>#include &quot;xmlconfig.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="map_8h_source.html">map.h</a>&quot;</code><br/>
+<code>#include &quot;mapset.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="route_8h_source.html">route.h</a>&quot;</code><br/>
+<code>#include &quot;track.h&quot;</code><br/>
+<code>#include &quot;transform.h&quot;</code><br/>
+<code>#include &quot;plugin.h&quot;</code><br/>
+<code>#include &quot;fib.h&quot;</code><br/>
+<code>#include &quot;event.h&quot;</code><br/>
+<code>#include &quot;callback.h&quot;</code><br/>
+<code>#include &quot;vehicle.h&quot;</code><br/>
+<code>#include &quot;vehicleprofile.h&quot;</code><br/>
+<code>#include &quot;roadprofile.h&quot;</code><br/>
+<code>#include &quot;debug.h&quot;</code><br/>
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmap__priv.html">map_priv</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the map from a single binfile. <a href="structmap__priv.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__graph__point.html">route_graph_point</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A point in the route graph. <a href="structroute__graph__point.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__segment__data.html">route_segment_data</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A segment in the route graph or path. <a href="structroute__segment__data.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsize__weight__limit.html">size_weight_limit</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__graph__segment__data.html">route_graph_segment_data</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__graph__segment.html">route_graph_segment</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A segment in the route graph. <a href="structroute__graph__segment.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__traffic__distortion.html">route_traffic_distortion</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A traffic distortion. <a href="structroute__traffic__distortion.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__path__segment.html">route_path_segment</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A segment in the route path. <a href="structroute__path__segment.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__info.html">route_info</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Usually represents a destination or position. <a href="structroute__info.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__path.html">route_path</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A complete route path. <a href="structroute__path.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute.html">route</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A complete route. <a href="structroute.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__graph.html">route_graph</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A complete route graph. <a href="structroute__graph.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structroute__graph__point__iterator.html">route_graph_point_iterator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator to iterate through all route graph segments in a route graph point. <a href="structroute__graph__point__iterator.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structattr__iter.html">attr_iter</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmap__rect__priv.html">map_rect_priv</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a155f7919b34af0a15191d0fac83bd7ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a155f7919b34af0a15191d0fac83bd7ef"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RP_TRAFFIC_DISTORTION</b>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a155f7919b34af0a15191d0fac83bd7ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa438cdb1fc7b3387237d2b26bb8018f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa438cdb1fc7b3387237d2b26bb8018f9"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RP_TURN_RESTRICTION</b>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:aa438cdb1fc7b3387237d2b26bb8018f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad25243fa153d0c1b79a8c95808e158fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad25243fa153d0c1b79a8c95808e158fb"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RP_TURN_RESTRICTION_RESOLVED</b>&#160;&#160;&#160;4</td></tr>
+<tr class="separator:ad25243fa153d0c1b79a8c95808e158fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e4294db3fbb31870103d69bffec7205"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e4294db3fbb31870103d69bffec7205"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RSD_OFFSET</b>(x)&#160;&#160;&#160;*((int *)route_segment_data_field_pos((x), attr_offset))</td></tr>
+<tr class="separator:a6e4294db3fbb31870103d69bffec7205"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3ec9a2172bb385ab6deda0260d01f0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3ec9a2172bb385ab6deda0260d01f0c"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RSD_MAXSPEED</b>(x)&#160;&#160;&#160;*((int *)route_segment_data_field_pos((x), attr_maxspeed))</td></tr>
+<tr class="separator:ae3ec9a2172bb385ab6deda0260d01f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a043664048192f29757f5995cbf1a202a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a043664048192f29757f5995cbf1a202a"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RSD_SIZE_WEIGHT</b>(x)&#160;&#160;&#160;*((struct <a class="el" href="structsize__weight__limit.html">size_weight_limit</a> *)route_segment_data_field_pos((x), attr_vehicle_width))</td></tr>
+<tr class="separator:a043664048192f29757f5995cbf1a202a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc4091925e9044d94a577da7eeaa30b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc4091925e9044d94a577da7eeaa30b6"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>RSD_DANGEROUS_GOODS</b>(x)&#160;&#160;&#160;*((int *)route_segment_data_field_pos((x), attr_vehicle_dangerous_goods))</td></tr>
+<tr class="separator:abc4091925e9044d94a577da7eeaa30b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a30b8690c16c2a115ab848cb00617f265"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30b8690c16c2a115ab848cb00617f265"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_get_distances</b> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structcoord.html">coord</a> *c, int count, int *<a class="el" href="navigation_8c.html#aa9541e5fa2bd1f5f4e6b605c9a87b16e">distances</a>)</td></tr>
+<tr class="separator:a30b8690c16c2a115ab848cb00617f265"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15fb35208d5234b2f334d31f930b3c4c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structroute.html">route</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a15fb35208d5234b2f334d31f930b3c4c">route_new</a> (struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structparent.html">parent</a>, struct <a class="el" href="structattr.html">attr</a> **attrs)</td></tr>
+<tr class="memdesc:a15fb35208d5234b2f334d31f930b3c4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a completely new route structure. <a href="#a15fb35208d5234b2f334d31f930b3c4c">More...</a><br/></td></tr>
+<tr class="separator:a15fb35208d5234b2f334d31f930b3c4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd539fe25796de904f57342b14dde071"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structroute.html">route</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#acd539fe25796de904f57342b14dde071">route_dup</a> (struct <a class="el" href="structroute.html">route</a> *orig)</td></tr>
+<tr class="memdesc:acd539fe25796de904f57342b14dde071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates a route object. <a href="#acd539fe25796de904f57342b14dde071">More...</a><br/></td></tr>
+<tr class="separator:acd539fe25796de904f57342b14dde071"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67cf6c2cd7cb215f256a1ef396d773f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a67cf6c2cd7cb215f256a1ef396d773f3">route_set_mapset</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structmapset.html">mapset</a> *ms)</td></tr>
+<tr class="memdesc:a67cf6c2cd7cb215f256a1ef396d773f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mapset of the route passwd. <a href="#a67cf6c2cd7cb215f256a1ef396d773f3">More...</a><br/></td></tr>
+<tr class="separator:a67cf6c2cd7cb215f256a1ef396d773f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23e557c7cfd7e1b074e95b251a398c16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a23e557c7cfd7e1b074e95b251a398c16">route_set_profile</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structvehicleprofile.html">vehicleprofile</a> *prof)</td></tr>
+<tr class="memdesc:a23e557c7cfd7e1b074e95b251a398c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the vehicle profile of a route. <a href="#a23e557c7cfd7e1b074e95b251a398c16">More...</a><br/></td></tr>
+<tr class="separator:a23e557c7cfd7e1b074e95b251a398c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a277947f9dd480a8206d068d45a71c25c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmapset.html">mapset</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a277947f9dd480a8206d068d45a71c25c">route_get_mapset</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:a277947f9dd480a8206d068d45a71c25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the mapset of the route passed. <a href="#a277947f9dd480a8206d068d45a71c25c">More...</a><br/></td></tr>
+<tr class="separator:a277947f9dd480a8206d068d45a71c25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a213e3f87cabf82aff4f235c06a8e8ab1"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structroute__info.html">route_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a213e3f87cabf82aff4f235c06a8e8ab1">route_get_pos</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:a213e3f87cabf82aff4f235c06a8e8ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current position within the route passed. <a href="#a213e3f87cabf82aff4f235c06a8e8ab1">More...</a><br/></td></tr>
+<tr class="separator:a213e3f87cabf82aff4f235c06a8e8ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a985681c05f56cd4355bacaf236f3dbc8"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structroute__info.html">route_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a985681c05f56cd4355bacaf236f3dbc8">route_get_dst</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:a985681c05f56cd4355bacaf236f3dbc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the destination of the route passed. <a href="#a985681c05f56cd4355bacaf236f3dbc8">More...</a><br/></td></tr>
+<tr class="separator:a985681c05f56cd4355bacaf236f3dbc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a549ab0769b7e477e18dd72f90cfdb232"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a549ab0769b7e477e18dd72f90cfdb232">route_get_path_set</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:a549ab0769b7e477e18dd72f90cfdb232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the path is calculated for the route passed. <a href="#a549ab0769b7e477e18dd72f90cfdb232">More...</a><br/></td></tr>
+<tr class="separator:a549ab0769b7e477e18dd72f90cfdb232"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81663bf28ea85cc76c4ffe71edb6ba6c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a81663bf28ea85cc76c4ffe71edb6ba6c">route_contains</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structitem.html">item</a> *<a class="el" href="structitem.html">item</a>)</td></tr>
+<tr class="memdesc:a81663bf28ea85cc76c4ffe71edb6ba6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the route passed contains a certain item within the route path. <a href="#a81663bf28ea85cc76c4ffe71edb6ba6c">More...</a><br/></td></tr>
+<tr class="separator:a81663bf28ea85cc76c4ffe71edb6ba6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee9c34f3d6046134e05c4ba794e42119"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#aee9c34f3d6046134e05c4ba794e42119">route_destination_reached</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:aee9c34f3d6046134e05c4ba794e42119"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a route has reached its destination. <a href="#aee9c34f3d6046134e05c4ba794e42119">More...</a><br/></td></tr>
+<tr class="separator:aee9c34f3d6046134e05c4ba794e42119"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afde07e20f4a6f15a29ece77f420b4d79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#afde07e20f4a6f15a29ece77f420b4d79">route_set_position</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structpcoord.html">pcoord</a> *pos)</td></tr>
+<tr class="memdesc:afde07e20f4a6f15a29ece77f420b4d79"><td class="mdescLeft">&#160;</td><td class="mdescRight">This sets the current position of the route passed. <a href="#afde07e20f4a6f15a29ece77f420b4d79">More...</a><br/></td></tr>
+<tr class="separator:afde07e20f4a6f15a29ece77f420b4d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89e25e74be07bce7e18d9f294873df8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a89e25e74be07bce7e18d9f294873df8e">route_set_position_from_tracking</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structtracking.html">tracking</a> *<a class="el" href="structtracking.html">tracking</a>, enum projection pro)</td></tr>
+<tr class="memdesc:a89e25e74be07bce7e18d9f294873df8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a route's current position based on coordinates from tracking. <a href="#a89e25e74be07bce7e18d9f294873df8e">More...</a><br/></td></tr>
+<tr class="separator:a89e25e74be07bce7e18d9f294873df8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b134b5ca05c402e2a12ee014e2ff794"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b134b5ca05c402e2a12ee014e2ff794"></a>
+struct <a class="el" href="structmap__selection.html">map_selection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a9b134b5ca05c402e2a12ee014e2ff794">route_rect</a> (int order, struct <a class="el" href="structcoord.html">coord</a> *c1, struct <a class="el" href="structcoord.html">coord</a> *c2, int rel, int abs)</td></tr>
+<tr class="memdesc:a9b134b5ca05c402e2a12ee014e2ff794"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a single map selection. <br/></td></tr>
+<tr class="separator:a9b134b5ca05c402e2a12ee014e2ff794"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76dbb039f1261c5e6d66b6acf4277a4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a76dbb039f1261c5e6d66b6acf4277a4c">route_set_destinations</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structpcoord.html">pcoord</a> *dst, int count, int async)</td></tr>
+<tr class="memdesc:a76dbb039f1261c5e6d66b6acf4277a4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the destination of a route. <a href="#a76dbb039f1261c5e6d66b6acf4277a4c">More...</a><br/></td></tr>
+<tr class="separator:a76dbb039f1261c5e6d66b6acf4277a4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf448a2ecf38fcef1f40e9a37c080e8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf448a2ecf38fcef1f40e9a37c080e8e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>route_get_destinations</b> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structpcoord.html">pcoord</a> *pc, int count)</td></tr>
+<tr class="separator:aaf448a2ecf38fcef1f40e9a37c080e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36e3ba74f3e6a105e761d34aa6cb54ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a36e3ba74f3e6a105e761d34aa6cb54ad">route_get_destination_count</a> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="memdesc:a36e3ba74f3e6a105e761d34aa6cb54ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the destinations count for the route. <a href="#a36e3ba74f3e6a105e761d34aa6cb54ad">More...</a><br/></td></tr>
+<tr class="separator:a36e3ba74f3e6a105e761d34aa6cb54ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4e30ffdd2ff74573cf9fa818b7e4d86"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#af4e30ffdd2ff74573cf9fa818b7e4d86">route_get_destination_description</a> (struct <a class="el" href="structroute.html">route</a> *this, int n)</td></tr>
+<tr class="memdesc:af4e30ffdd2ff74573cf9fa818b7e4d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a description for a waypoint as (type or street_name_systematic) + (label or WayID[osm_wayid]) <a href="#af4e30ffdd2ff74573cf9fa818b7e4d86">More...</a><br/></td></tr>
+<tr class="separator:af4e30ffdd2ff74573cf9fa818b7e4d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f81f751d71194e46a72072e6f42b248"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a9f81f751d71194e46a72072e6f42b248">route_set_destination</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structpcoord.html">pcoord</a> *dst, int async)</td></tr>
+<tr class="memdesc:a9f81f751d71194e46a72072e6f42b248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a route given set of coordinates. <a href="#a9f81f751d71194e46a72072e6f42b248">More...</a><br/></td></tr>
+<tr class="separator:a9f81f751d71194e46a72072e6f42b248"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48ca63f73dc68ceefad68cc7da18630d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a48ca63f73dc68ceefad68cc7da18630d">route_append_destination</a> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structpcoord.html">pcoord</a> *dst, int async)</td></tr>
+<tr class="memdesc:a48ca63f73dc68ceefad68cc7da18630d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a waypoint to the route. <a href="#a48ca63f73dc68ceefad68cc7da18630d">More...</a><br/></td></tr>
+<tr class="separator:a48ca63f73dc68ceefad68cc7da18630d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a255107bfa06589b1147e041c18c6cb3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a255107bfa06589b1147e041c18c6cb3b">route_remove_nth_waypoint</a> (struct <a class="el" href="structroute.html">route</a> *this, int n)</td></tr>
+<tr class="memdesc:a255107bfa06589b1147e041c18c6cb3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the nth waypoint of the route. <a href="#a255107bfa06589b1147e041c18c6cb3b">More...</a><br/></td></tr>
+<tr class="separator:a255107bfa06589b1147e041c18c6cb3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae433cd31b87ac5d23e60f0d73c339eb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae433cd31b87ac5d23e60f0d73c339eb6"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_remove_waypoint</b> (struct <a class="el" href="structroute.html">route</a> *this)</td></tr>
+<tr class="separator:ae433cd31b87ac5d23e60f0d73c339eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03a2c87fe7268b8a6aef10b431813a27"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcoord.html">coord</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a03a2c87fe7268b8a6aef10b431813a27">route_get_coord_dist</a> (struct <a class="el" href="structroute.html">route</a> *this_, int dist)</td></tr>
+<tr class="memdesc:a03a2c87fe7268b8a6aef10b431813a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a coordinate at a given distance. <a href="#a03a2c87fe7268b8a6aef10b431813a27">More...</a><br/></td></tr>
+<tr class="separator:a03a2c87fe7268b8a6aef10b431813a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d58eeebe86073b86fccfec847ab8472"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structstreet__data.html">street_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a6d58eeebe86073b86fccfec847ab8472">street_get_data</a> (struct <a class="el" href="structitem.html">item</a> *<a class="el" href="structitem.html">item</a>)</td></tr>
+<tr class="memdesc:a6d58eeebe86073b86fccfec847ab8472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets street data for an item. <a href="#a6d58eeebe86073b86fccfec847ab8472">More...</a><br/></td></tr>
+<tr class="separator:a6d58eeebe86073b86fccfec847ab8472"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa833f58f659d2a68125d100ff0a5adf2"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structstreet__data.html">street_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#aa833f58f659d2a68125d100ff0a5adf2">street_data_dup</a> (struct <a class="el" href="structstreet__data.html">street_data</a> *orig)</td></tr>
+<tr class="memdesc:aa833f58f659d2a68125d100ff0a5adf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies street data. <a href="#aa833f58f659d2a68125d100ff0a5adf2">More...</a><br/></td></tr>
+<tr class="separator:aa833f58f659d2a68125d100ff0a5adf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbb407c7b7f4e713736961d6b6c121f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#abbb407c7b7f4e713736961d6b6c121f0">street_data_free</a> (struct <a class="el" href="structstreet__data.html">street_data</a> *sd)</td></tr>
+<tr class="memdesc:abbb407c7b7f4e713736961d6b6c121f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees street data. <a href="#abbb407c7b7f4e713736961d6b6c121f0">More...</a><br/></td></tr>
+<tr class="separator:abbb407c7b7f4e713736961d6b6c121f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a248081bb540de81b2fbbcbe2593dc29c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a248081bb540de81b2fbbcbe2593dc29c">route_info_free</a> (struct <a class="el" href="structroute__info.html">route_info</a> *inf)</td></tr>
+<tr class="memdesc:a248081bb540de81b2fbbcbe2593dc29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a <a class="el" href="structroute__info.html" title="Usually represents a destination or position. ">route_info</a>. <a href="#a248081bb540de81b2fbbcbe2593dc29c">More...</a><br/></td></tr>
+<tr class="separator:a248081bb540de81b2fbbcbe2593dc29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9fd5fc03a4e663ae683c73a7674b80c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structstreet__data.html">street_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#af9fd5fc03a4e663ae683c73a7674b80c">route_info_street</a> (struct <a class="el" href="structroute__info.html">route_info</a> *rinf)</td></tr>
+<tr class="memdesc:af9fd5fc03a4e663ae683c73a7674b80c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns street data for a route info. <a href="#af9fd5fc03a4e663ae683c73a7674b80c">More...</a><br/></td></tr>
+<tr class="separator:af9fd5fc03a4e663ae683c73a7674b80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9904a53f743876344695c1ef3dab283b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9904a53f743876344695c1ef3dab283b"></a>
+struct <a class="el" href="structroute__crossings.html">route_crossings</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>route_crossings_get</b> (struct <a class="el" href="structroute.html">route</a> *this, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr>
+<tr class="separator:a9904a53f743876344695c1ef3dab283b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb206a7bcf64a858f2ab385697d102b1"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmap.html">map</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#aeb206a7bcf64a858f2ab385697d102b1">route_get_map</a> (struct <a class="el" href="structroute.html">route</a> *this_)</td></tr>
+<tr class="memdesc:aeb206a7bcf64a858f2ab385697d102b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new map containing the route path. <a href="#aeb206a7bcf64a858f2ab385697d102b1">More...</a><br/></td></tr>
+<tr class="separator:aeb206a7bcf64a858f2ab385697d102b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25508afaaf0b6f06ec5bf467593b81fc"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmap.html">map</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a25508afaaf0b6f06ec5bf467593b81fc">route_get_graph_map</a> (struct <a class="el" href="structroute.html">route</a> *this_)</td></tr>
+<tr class="memdesc:a25508afaaf0b6f06ec5bf467593b81fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new map containing the route graph. <a href="#a25508afaaf0b6f06ec5bf467593b81fc">More...</a><br/></td></tr>
+<tr class="separator:a25508afaaf0b6f06ec5bf467593b81fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbc1b6d420056c3cff9e60e3227143f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbc1b6d420056c3cff9e60e3227143f2"></a>
+enum route_path_flags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#acbc1b6d420056c3cff9e60e3227143f2">route_get_flags</a> (struct <a class="el" href="structroute.html">route</a> *this_)</td></tr>
+<tr class="memdesc:acbc1b6d420056c3cff9e60e3227143f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the flags for the route. <br/></td></tr>
+<tr class="separator:acbc1b6d420056c3cff9e60e3227143f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e07a0865bb864ab1ad0f505810e47e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a1e07a0865bb864ab1ad0f505810e47e0">route_has_graph</a> (struct <a class="el" href="structroute.html">route</a> *this_)</td></tr>
+<tr class="memdesc:a1e07a0865bb864ab1ad0f505810e47e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the route has a valid graph. <a href="#a1e07a0865bb864ab1ad0f505810e47e0">More...</a><br/></td></tr>
+<tr class="separator:a1e07a0865bb864ab1ad0f505810e47e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a728f8ca3f7e02ffe4b48ae30c439c5e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a728f8ca3f7e02ffe4b48ae30c439c5e7"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_set_projection</b> (struct <a class="el" href="structroute.html">route</a> *this_, enum projection pro)</td></tr>
+<tr class="separator:a728f8ca3f7e02ffe4b48ae30c439c5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acad5a08b925ad1fa0429997b0febde9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acad5a08b925ad1fa0429997b0febde9b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>route_set_attr</b> (struct <a class="el" href="structroute.html">route</a> *this_, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>)</td></tr>
+<tr class="separator:acad5a08b925ad1fa0429997b0febde9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf5630829e3459305171d52db6e24fe6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf5630829e3459305171d52db6e24fe6"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>route_add_attr</b> (struct <a class="el" href="structroute.html">route</a> *this_, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>)</td></tr>
+<tr class="separator:acf5630829e3459305171d52db6e24fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d8a75a45bed6f61c1783c4e6447c414"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d8a75a45bed6f61c1783c4e6447c414"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>route_remove_attr</b> (struct <a class="el" href="structroute.html">route</a> *this_, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>)</td></tr>
+<tr class="separator:a6d8a75a45bed6f61c1783c4e6447c414"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd57c04075f3eae04f5c3fb4fc4d7689"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd57c04075f3eae04f5c3fb4fc4d7689"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>route_get_attr</b> (struct <a class="el" href="structroute.html">route</a> *this_, enum attr_type type, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>, struct <a class="el" href="structattr__iter.html">attr_iter</a> *iter)</td></tr>
+<tr class="separator:acd57c04075f3eae04f5c3fb4fc4d7689"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf8e0ef1e7a81568092a35d65b11beae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf8e0ef1e7a81568092a35d65b11beae"></a>
+struct <a class="el" href="structattr__iter.html">attr_iter</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>route_attr_iter_new</b> (void)</td></tr>
+<tr class="separator:acf8e0ef1e7a81568092a35d65b11beae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3634a13adb89a341c91d322079d2ba1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3634a13adb89a341c91d322079d2ba1f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_attr_iter_destroy</b> (struct <a class="el" href="structattr__iter.html">attr_iter</a> *iter)</td></tr>
+<tr class="separator:a3634a13adb89a341c91d322079d2ba1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54777eb5e273c249f1fa36a69b0d2520"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54777eb5e273c249f1fa36a69b0d2520"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_init</b> (void)</td></tr>
+<tr class="separator:a54777eb5e273c249f1fa36a69b0d2520"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7d2ff1bc3006c9967b0a4ae3e54fe90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7d2ff1bc3006c9967b0a4ae3e54fe90"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>route_destroy</b> (struct <a class="el" href="structroute.html">route</a> *this_)</td></tr>
+<tr class="separator:ae7d2ff1bc3006c9967b0a4ae3e54fe90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a2ce0d27052b039e875248c6359a968e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ce0d27052b039e875248c6359a968e5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>debug_route</b> =0</td></tr>
+<tr class="separator:a2ce0d27052b039e875248c6359a968e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a85a74de6740a4737c0ec1ab36737ed"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmap__selection.html">map_selection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="route_8c.html#a7a85a74de6740a4737c0ec1ab36737ed">route_selection</a></td></tr>
+<tr class="separator:a7a85a74de6740a4737c0ec1ab36737ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e68e38b75a73288198f97c5971aa04"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structobject__func.html">object_func</a>&#160;</td><td class="memItemRight" valign="bottom"><b>route_func</b></td></tr>
+<tr class="separator:a44e68e38b75a73288198f97c5971aa04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Contains code related to finding a route from a position to a destination. </p>
+<p>Navit, a modular navigation system. Copyright (C) 2005-2008 Navit Team</p>
+<p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.</p>
+<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p>You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Routing uses segments, points and items. Items are items from the map: Streets, highways, etc. Segments represent such items, or parts of it. Generally, a segment is a driveable path. An item can be represented by more than one segment - in that case it is "segmented". Each segment has an "offset" associated, that indicates at which position in a segmented item this segment is - a segment representing a not-segmented item always has the offset 1. A point is located at the end of segments, often connecting several segments.</p>
+<p>The code in this file will make navit find a route between a position and a destination. It accomplishes this by first building a "route graph". This graph contains segments and points.</p>
+<p>After building this graph in route_graph_build(), the function route_graph_flood() assigns every point and segment a "value" which represents the "costs" of traveling from this point to the destination. This is done by Dijkstra's algorithm.</p>
+<p>When the graph is built a "route path" is created, which is a path in this graph from a given position to the destination determined at time of building the graph. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a48ca63f73dc68ceefad68cc7da18630d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_append_destination </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcoord.html">pcoord</a> *&#160;</td>
+ <td class="paramname"><em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>async</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append a waypoint to the route. </p>
+<p>This appends a waypoint to the current route, targetting the street nearest to the coordinates passed, and updates the route.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the destination for </td></tr>
+ <tr><td class="paramname">dst</td><td>Coordinates of the new waypoint </td></tr>
+ <tr><td class="paramname">async</td><td>If set, do routing asynchronously </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="route_8c.html#a985681c05f56cd4355bacaf236f3dbc8">route_get_dst()</a>, and <a class="el" href="route_8c.html#a76dbb039f1261c5e6d66b6acf4277a4c">route_set_destinations()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__navit.html#gab059a4aca70ca8da61aab4ee461f8392">navit_set_destination()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a81663bf28ea85cc76c4ffe71edb6ba6c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int route_contains </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structitem.html">item</a> *&#160;</td>
+ <td class="paramname"><em>item</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Checks if the route passed contains a certain item within the route path. </p>
+<p>This function checks if a certain items exists in the path that navit will guide the user to his destination. It does <em>not</em> check if this item exists in the route graph!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to check for this item </td></tr>
+ <tr><td class="paramname">item</td><td>The item to search for </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the item was found, false if the item was not found or the route was not calculated </dd></dl>
+
+<p>References <a class="el" href="structroute__info.html#a2257f91a0e0fb5758edda3624d725159">route_info::pos</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aee9c34f3d6046134e05c4ba794e42119"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int route_destination_reached </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Checks if a route has reached its destination. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to be checked </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the destination is "reached", false otherwise. </dd></dl>
+
+<p>References <a class="el" href="structstreet__data.html#a224c9e84d6d6d05fe9d2213919d1d22a">street_data::item</a>, <a class="el" href="structroute__info.html#a853893715875ae1c20a04460221330fa">route_info::lenneg</a>, <a class="el" href="structroute__info.html#a3fa9599989a18a28c4c5035671c9c9c2">route_info::lenpos</a>, <a class="el" href="structroute__info.html#a02dbf41712f47bb700aea836d3b63d14">route_info::lp</a>, <a class="el" href="structroute__info.html#a2257f91a0e0fb5758edda3624d725159">route_info::pos</a>, and <a class="el" href="structroute__info.html#ad0de7737462fbefc4f9020233b8f82db">route_info::street</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acd539fe25796de904f57342b14dde071"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structroute.html">route</a>* route_dup </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>orig</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Duplicates a route object. </p>
+<dl class="section return"><dt>Returns</dt><dd>The duplicated route </dd></dl>
+
+<p>References <a class="el" href="structroute.html#a5f456183d2312e96607cfab6239e7818">route::cbl2</a>, <a class="el" href="structroute.html#aa1edf18cdace11ebf4cc1605181d0eac">route::destination_distance</a>, <a class="el" href="structroute.html#abb33b9282cba092fcc246c2401511f3d">route::ms</a>, and <a class="el" href="structroute.html#a0bdbb423178c93cc7d2930ae04804983">route::vehicleprofile</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a03a2c87fe7268b8a6aef10b431813a27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structcoord.html">coord</a> route_get_coord_dist </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this_</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>dist</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns a coordinate at a given distance. </p>
+<p>This function returns the coordinate, where the user will be if he follows the current route for a certain distance.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this_</td><td>The route we're driving upon </td></tr>
+ <tr><td class="paramname">dist</td><td>The distance in meters </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The coordinate where the user will be in that distance </dd></dl>
+
+<p>References <a class="el" href="structroute__path__segment.html#afa4ba8577e77e6f88f87dea5bcff3c8f">route_path_segment::c</a>, <a class="el" href="structroute__info.html#a08424350941a8de98ed325aa5ec6ee88">route_info::c</a>, <a class="el" href="structroute__path__segment.html#ab4a507112d5aa2d6fc1e49d11e363f33">route_path_segment::data</a>, <a class="el" href="structroute__segment__data.html#a5e01624990fe1ce9a33059e5465f1b00">route_segment_data::len</a>, <a class="el" href="structroute__path__segment.html#a0b431f8ff7b84bcb005fcbc46e08f270">route_path_segment::ncoords</a>, <a class="el" href="structroute__path__segment.html#a01084799d02765c27c0afd8aa08c53fd">route_path_segment::next</a>, <a class="el" href="route_8c.html#a985681c05f56cd4355bacaf236f3dbc8">route_get_dst()</a>, <a class="el" href="structcoord.html#ac3e93ff628aa19d2888c5f6fa26f430d">coord::x</a>, and <a class="el" href="structcoord.html#a2b099692d87f98e4844b615136ca37fb">coord::y</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36e3ba74f3e6a105e761d34aa6cb54ad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int route_get_destination_count </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the destinations count for the route. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route instance </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>destination count for the route </dd></dl>
+
+<p>Referenced by <a class="el" href="group__navit.html#gab059a4aca70ca8da61aab4ee461f8392">navit_set_destination()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af4e30ffdd2ff74573cf9fa818b7e4d86"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* route_get_destination_description </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns a description for a waypoint as (type or street_name_systematic) + (label or WayID[osm_wayid]) </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route instance </td></tr>
+ <tr><td class="paramname">n</td><td>The nth waypoint </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The description </dd></dl>
+
+<p>References <a class="el" href="structitem.html#a193c3e2ec0076325a4f3139f9d33e06e">item::id_hi</a>, <a class="el" href="structitem.html#a8be73452bc1e39e9054361ab579c9dc1">item::id_lo</a>, <a class="el" href="structstreet__data.html#a224c9e84d6d6d05fe9d2213919d1d22a">street_data::item</a>, <a class="el" href="structitem.html#a9d90a195a3654c3b1e872ad92ae74369">item::map</a>, <a class="el" href="map_8c.html#afe7311d63f1e8a4a697634cf79329f7d">map_rect_destroy()</a>, <a class="el" href="map_8c.html#a9e27d0888db14bf9b88727ead943eaf6">map_rect_get_item_byid()</a>, <a class="el" href="map_8c.html#a52e6ae5ec3beaec49ce12ce603d7d72a">map_rect_new()</a>, <a class="el" href="structroute__info.html#ad0de7737462fbefc4f9020233b8f82db">route_info::street</a>, and <a class="el" href="structitem.html#a3abafd36669ef817be82676acd8e5989">item::type</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a985681c05f56cd4355bacaf236f3dbc8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structroute__info.html">route_info</a>* route_get_dst </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the destination of the route passed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to get the destination for </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The destination of the route passed </dd></dl>
+
+<p>Referenced by <a class="el" href="route_8h.html#a3ef42040ce440fb91532f292a44e4062">route_append_destination()</a>, <a class="el" href="route_8h.html#a03a2c87fe7268b8a6aef10b431813a27">route_get_coord_dist()</a>, <a class="el" href="route_8h.html#a9540945fd3d5176850d438904bfd903f">route_remove_nth_waypoint()</a>, and <a class="el" href="route_8h.html#a72a72ba653784a692bb599af0a3d71c8">route_set_destinations()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a25508afaaf0b6f06ec5bf467593b81fc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structmap.html">map</a>* route_get_graph_map </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this_</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns a new map containing the route graph. </p>
+<p>This function returns a new map containing the route graph.</p>
+<p>Do not <a class="el" href="map_8c.html#a06f624f20492c8e9e9f3c7eb43b70396" title="Destroys an opened map. ">map_destroy()</a> this!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this_</td><td>The route to get the map of </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new map containing the route graph </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aeb206a7bcf64a858f2ab385697d102b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structmap.html">map</a>* route_get_map </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this_</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns a new map containing the route path. </p>
+<p>This function returns a new map containing the route path.</p>
+<p>Do not <a class="el" href="map_8c.html#a06f624f20492c8e9e9f3c7eb43b70396" title="Destroys an opened map. ">map_destroy()</a> this!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this_</td><td>The route to get the map of </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new map containing the route path </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a277947f9dd480a8206d068d45a71c25c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structmapset.html">mapset</a>* route_get_mapset </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the mapset of the route passed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to get the mapset of </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The mapset of the route passed </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a549ab0769b7e477e18dd72f90cfdb232"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int route_get_path_set </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Checks if the path is calculated for the route passed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to check </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the path is calculated, false if not </dd></dl>
+
+<p>Referenced by <a class="el" href="group__navit.html#ga7ce58517a9082005032863f07893ee4c">navit_check_route()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a213e3f87cabf82aff4f235c06a8e8ab1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structroute__info.html">route_info</a>* route_get_pos </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the current position within the route passed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to get the position for </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The position within the route passed </dd></dl>
+
+<p>References <a class="el" href="structroute__info.html#a2257f91a0e0fb5758edda3624d725159">route_info::pos</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1e07a0865bb864ab1ad0f505810e47e0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int route_has_graph </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this_</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Whether the route has a valid graph. </p>
+<dl class="section return"><dt>Returns</dt><dd>True if the route has a graph, false if not. </dd></dl>
+
+<p>References <a class="el" href="structroute.html#a87641aa05073f2c20434369aa6c42e4c">route::graph</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a248081bb540de81b2fbbcbe2593dc29c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_info_free </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute__info.html">route_info</a> *&#160;</td>
+ <td class="paramname"><em>inf</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Destroys a <a class="el" href="structroute__info.html" title="Usually represents a destination or position. ">route_info</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">info</td><td>The route info to be destroyed </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="structroute__info.html#ad0de7737462fbefc4f9020233b8f82db">route_info::street</a>, and <a class="el" href="route_8c.html#abbb407c7b7f4e713736961d6b6c121f0">street_data_free()</a>.</p>
+
+<p>Referenced by <a class="el" href="route_8h.html#a9540945fd3d5176850d438904bfd903f">route_remove_nth_waypoint()</a>, and <a class="el" href="route_8h.html#ab6eb41cc5297c0031fd887ab23ff445e">route_set_position_from_tracking()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af9fd5fc03a4e663ae683c73a7674b80c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structstreet__data.html">street_data</a>* route_info_street </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute__info.html">route_info</a> *&#160;</td>
+ <td class="paramname"><em>rinf</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns street data for a route info. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rinf</td><td>The route info to return the street data for </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Street data for the route info </dd></dl>
+
+<p>References <a class="el" href="structroute__info.html#ad0de7737462fbefc4f9020233b8f82db">route_info::street</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a15fb35208d5234b2f334d31f930b3c4c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structroute.html">route</a>* route_new </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structattr.html">attr</a> *&#160;</td>
+ <td class="paramname"><em>parent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structattr.html">attr</a> **&#160;</td>
+ <td class="paramname"><em>attrs</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates a completely new route structure. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">attrs</td><td>Not used </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The newly created route </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a255107bfa06589b1147e041c18c6cb3b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_remove_nth_waypoint </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Remove the nth waypoint of the route. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route instance </td></tr>
+ <tr><td class="paramname">n</td><td>The waypoint to remove </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>
+
+<p>References <a class="el" href="route_8c.html#a985681c05f56cd4355bacaf236f3dbc8">route_get_dst()</a>, and <a class="el" href="route_8c.html#a248081bb540de81b2fbbcbe2593dc29c">route_info_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9f81f751d71194e46a72072e6f42b248"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_destination </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcoord.html">pcoord</a> *&#160;</td>
+ <td class="paramname"><em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>async</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Start a route given set of coordinates. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route instance </td></tr>
+ <tr><td class="paramname">dst</td><td>The coordinate to start routing to </td></tr>
+ <tr><td class="paramname">async</td><td>Set to 1 to do route calculation asynchronously </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>
+
+<p>References <a class="el" href="route_8c.html#a76dbb039f1261c5e6d66b6acf4277a4c">route_set_destinations()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__navit.html#gab059a4aca70ca8da61aab4ee461f8392">navit_set_destination()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a76dbb039f1261c5e6d66b6acf4277a4c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_destinations </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcoord.html">pcoord</a> *&#160;</td>
+ <td class="paramname"><em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>async</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets the destination of a route. </p>
+<p>This sets the destination of a route to the street nearest to the coordinates passed and updates the route.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the destination for </td></tr>
+ <tr><td class="paramname">dst</td><td>Coordinates to set as destination </td></tr>
+ <tr><td class="paramname">count</td><td>Number of destinations (last one is final) </td></tr>
+ <tr><td class="paramname">async</td><td>If set, do routing asynchronously </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="route_8c.html#a985681c05f56cd4355bacaf236f3dbc8">route_get_dst()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__navit.html#ga8c4ba89eaca2dc43b6f6263b4be97d97">navit_set_destinations()</a>, <a class="el" href="route_8h.html#a3ef42040ce440fb91532f292a44e4062">route_append_destination()</a>, <a class="el" href="route_8h.html#a9097ff0fd3025bd6b52babbb4634c741">route_set_destination()</a>, and <a class="el" href="route_8h.html#a92d2668037d5654c117046ff317c600b">route_set_profile()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a67cf6c2cd7cb215f256a1ef396d773f3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_mapset </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structmapset.html">mapset</a> *&#160;</td>
+ <td class="paramname"><em>ms</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets the mapset of the route passwd. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the mapset for </td></tr>
+ <tr><td class="paramname">ms</td><td>The mapset to set for this route </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afde07e20f4a6f15a29ece77f420b4d79"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_position </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcoord.html">pcoord</a> *&#160;</td>
+ <td class="paramname"><em>pos</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This sets the current position of the route passed. </p>
+<p>This will set the current position of the route passed to the street that is nearest to the passed coordinates. It also automatically updates the route.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the position of </td></tr>
+ <tr><td class="paramname">pos</td><td>Coordinates to set as position </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__navit.html#gaf0224062b4a1b7e4ec04c67343d79f15">navit_set_position()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a89e25e74be07bce7e18d9f294873df8e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_position_from_tracking </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structtracking.html">tracking</a> *&#160;</td>
+ <td class="paramname"><em>tracking</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum projection&#160;</td>
+ <td class="paramname"><em>pro</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets a route's current position based on coordinates from tracking. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the current position of </td></tr>
+ <tr><td class="paramname">tracking</td><td>The tracking to get the coordinates from </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="structstreet__data.html#aa1320249fcb1425f71d076eacb1bdb47">street_data::c</a>, <a class="el" href="structroute__info.html#a08424350941a8de98ed325aa5ec6ee88">route_info::c</a>, <a class="el" href="structstreet__data.html#aae566cd82e377cec86f6c98672e1cf19">street_data::count</a>, <a class="el" href="structitem.html#a193c3e2ec0076325a4f3139f9d33e06e">item::id_hi</a>, <a class="el" href="structitem.html#a8be73452bc1e39e9054361ab579c9dc1">item::id_lo</a>, <a class="el" href="structstreet__data.html#a224c9e84d6d6d05fe9d2213919d1d22a">street_data::item</a>, <a class="el" href="structroute__info.html#a853893715875ae1c20a04460221330fa">route_info::lenneg</a>, <a class="el" href="structroute__info.html#a3fa9599989a18a28c4c5035671c9c9c2">route_info::lenpos</a>, <a class="el" href="structroute__info.html#a02dbf41712f47bb700aea836d3b63d14">route_info::lp</a>, <a class="el" href="structroute__info.html#a2257f91a0e0fb5758edda3624d725159">route_info::pos</a>, <a class="el" href="route_8c.html#a248081bb540de81b2fbbcbe2593dc29c">route_info_free()</a>, <a class="el" href="structroute__info.html#ad0de7737462fbefc4f9020233b8f82db">route_info::street</a>, <a class="el" href="route_8c.html#aa833f58f659d2a68125d100ff0a5adf2">street_data_dup()</a>, <a class="el" href="structroute__info.html#a67693ed66d1a53fbe512dd619f82649c">route_info::street_direction</a>, <a class="el" href="structcoord.html#ac3e93ff628aa19d2888c5f6fa26f430d">coord::x</a>, and <a class="el" href="structcoord.html#a2b099692d87f98e4844b615136ca37fb">coord::y</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a23e557c7cfd7e1b074e95b251a398c16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void route_set_profile </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structroute.html">route</a> *&#160;</td>
+ <td class="paramname"><em>this</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structvehicleprofile.html">vehicleprofile</a> *&#160;</td>
+ <td class="paramname"><em>prof</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets the vehicle profile of a route. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">this</td><td>The route to set the profile for </td></tr>
+ <tr><td class="paramname">prof</td><td>The vehicle profile </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="route_8c.html#a76dbb039f1261c5e6d66b6acf4277a4c">route_set_destinations()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa833f58f659d2a68125d100ff0a5adf2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structstreet__data.html">street_data</a>* street_data_dup </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structstreet__data.html">street_data</a> *&#160;</td>
+ <td class="paramname"><em>orig</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Copies street data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">orig</td><td>The street data to copy </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The copied street data </dd></dl>
+
+<p>Referenced by <a class="el" href="route_8h.html#ab6eb41cc5297c0031fd887ab23ff445e">route_set_position_from_tracking()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abbb407c7b7f4e713736961d6b6c121f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void street_data_free </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structstreet__data.html">street_data</a> *&#160;</td>
+ <td class="paramname"><em>sd</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Frees street data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sd</td><td>Street data to be freed </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="route_8h.html#a248081bb540de81b2fbbcbe2593dc29c">route_info_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6d58eeebe86073b86fccfec847ab8472"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structstreet__data.html">street_data</a>* street_get_data </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structitem.html">item</a> *&#160;</td>
+ <td class="paramname"><em>item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Gets street data for an item. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">item</td><td>The item to get the data for </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Street data for the item </dd></dl>
+
+<p>References <a class="el" href="structstreet__data.html#aa1320249fcb1425f71d076eacb1bdb47">street_data::c</a>, <a class="el" href="structstreet__data.html#aae566cd82e377cec86f6c98672e1cf19">street_data::count</a>, <a class="el" href="structstreet__data.html#a224c9e84d6d6d05fe9d2213919d1d22a">street_data::item</a>, <a class="el" href="structstreet__data.html#a7d1b7d4f57b823532c9b7f7805780fad">street_data::maxspeed</a>, and <a class="el" href="structitem.html#a3abafd36669ef817be82676acd8e5989">item::type</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a44e68e38b75a73288198f97c5971aa04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structobject__func.html">object_func</a> route_func</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line"> attr_route,</div>
+<div class="line"> (object_func_new)<a class="code" href="route_8c.html#a15fb35208d5234b2f334d31f930b3c4c">route_new</a>,</div>
+<div class="line"> (object_func_get_attr)route_get_attr,</div>
+<div class="line"> (object_func_iter_new)NULL,</div>
+<div class="line"> (object_func_iter_destroy)NULL,</div>
+<div class="line"> (object_func_set_attr)route_set_attr,</div>
+<div class="line"> (object_func_add_attr)route_add_attr,</div>
+<div class="line"> (object_func_remove_attr)route_remove_attr,</div>
+<div class="line"> (object_func_init)NULL,</div>
+<div class="line"> (object_func_destroy)route_destroy,</div>
+<div class="line"> (object_func_dup)<a class="code" href="route_8c.html#acd539fe25796de904f57342b14dde071">route_dup</a>,</div>
+<div class="line"> (object_func_ref)navit_object_ref,</div>
+<div class="line"> (object_func_unref)navit_object_unref,</div>
+<div class="line">}</div>
+<div class="ttc" id="route_8c_html_a15fb35208d5234b2f334d31f930b3c4c"><div class="ttname"><a href="route_8c.html#a15fb35208d5234b2f334d31f930b3c4c">route_new</a></div><div class="ttdeci">struct route * route_new(struct attr *parent, struct attr **attrs)</div><div class="ttdoc">Creates a completely new route structure. </div><div class="ttdef"><b>Definition:</b> route.c:474</div></div>
+<div class="ttc" id="route_8c_html_acd539fe25796de904f57342b14dde071"><div class="ttname"><a href="route_8c.html#acd539fe25796de904f57342b14dde071">route_dup</a></div><div class="ttdeci">struct route * route_dup(struct route *orig)</div><div class="ttdoc">Duplicates a route object. </div><div class="ttdef"><b>Definition:</b> route.c:499</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a7a85a74de6740a4737c0ec1ab36737ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structmap__selection.html">map_selection</a>* route_selection</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>FIXME </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">&lt;&gt;</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>&lt;&gt; </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Martin Schaller (04/2008) </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="route_8c.html">route.c</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
+ </ul>
+</div>
+</body>
+</html>