diff options
Diffstat (limited to 'transform_8c.html')
-rw-r--r-- | transform_8c.html | 565 |
1 files changed, 565 insertions, 0 deletions
diff --git a/transform_8c.html b/transform_8c.html new file mode 100644 index 000000000..45519312b --- /dev/null +++ b/transform_8c.html @@ -0,0 +1,565 @@ +<!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: transform.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 +  <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 Page</span></a></li> + <li><a href="pages.html"><span>Related 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 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 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('transform_8c.html','');}); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Data Structures</a> | +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">transform.c File Reference</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><code>#include <assert.h></code><br/> +<code>#include <stdio.h></code><br/> +<code>#include <math.h></code><br/> +<code>#include <limits.h></code><br/> +<code>#include <glib.h></code><br/> +<code>#include <string.h></code><br/> +<code>#include <stdlib.h></code><br/> +<code>#include "config.h"</code><br/> +<code>#include "coord.h"</code><br/> +<code>#include "debug.h"</code><br/> +<code>#include "item.h"</code><br/> +<code>#include "<a class="el" href="map_8h_source.html">map.h</a>"</code><br/> +<code>#include "transform.h"</code><br/> +<code>#include "projection.h"</code><br/> +<code>#include "point.h"</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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structtransformation.html">transformation</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The parameters needed to transform a map for display. <a href="structtransformation.html#details">More...</a><br/></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcoord__3d.html">coord_3d</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structz__clip__result.html">z_clip_result</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a525335710b53cb064ca56b936120431e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#a525335710b53cb064ca56b936120431e">_USE_MATH_DEFINES</a>   1</td></tr> +<tr class="separator:a525335710b53cb064ca56b936120431e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a142f183c856d187544d5beb8db7b564f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#a142f183c856d187544d5beb8db7b564f">POST_SHIFT</a>   5</td></tr> +<tr class="memdesc:a142f183c856d187544d5beb8db7b564f"><td class="mdescLeft"> </td><td class="mdescRight">Bitshift to apply during coordinate transformation. <a href="#a142f183c856d187544d5beb8db7b564f">More...</a><br/></td></tr> +<tr class="separator:a142f183c856d187544d5beb8db7b564f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a21c9763d0694cbf3dd25e7b780434144"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21c9763d0694cbf3dd25e7b780434144"></a> +#define </td><td class="memItemRight" valign="bottom"><b>HOG</b>(t)   0</td></tr> +<tr class="separator:a21c9763d0694cbf3dd25e7b780434144"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4912c64aec0c943b7985db6cb61ff83a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4912c64aec0c943b7985db6cb61ff83a"></a> +#define </td><td class="memItemRight" valign="bottom"><b>TWOPI</b>   (M_PI*2)</td></tr> +<tr class="separator:a4912c64aec0c943b7985db6cb61ff83a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5869507f3b4e971d6a69232734e892ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5869507f3b4e971d6a69232734e892ac"></a> +#define </td><td class="memItemRight" valign="bottom"><b>GC2RAD</b>(c)   ((c) * TWOPI/(1<<24))</td></tr> +<tr class="separator:a5869507f3b4e971d6a69232734e892ac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa841bb4d90b9745dab841c733126bdfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa841bb4d90b9745dab841c733126bdfe"></a> +#define </td><td class="memItemRight" valign="bottom"><b>minf</b>(a, b)   ((a) < (b) ? (a) : (b))</td></tr> +<tr class="separator:aa841bb4d90b9745dab841c733126bdfe"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab71851b87771f298c8ef7153fc08ef29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab71851b87771f298c8ef7153fc08ef29"></a> +#define </td><td class="memItemRight" valign="bottom"><b>GMETER</b>   2.3887499999999999</td></tr> +<tr class="separator:ab71851b87771f298c8ef7153fc08ef29"><td class="memSeparator" colspan="2"> </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:a7a7bfdede2bb9b2d05f4969b56449cd0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a7bfdede2bb9b2d05f4969b56449cd0"></a> +struct <a class="el" href="structtransformation.html">transformation</a> * </td><td class="memItemRight" valign="bottom"><b>transform_new</b> (struct <a class="el" href="structpcoord.html">pcoord</a> *center, int scale, int yaw)</td></tr> +<tr class="separator:a7a7bfdede2bb9b2d05f4969b56449cd0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a814d58b8403b734178d1c1191e096615"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a814d58b8403b734178d1c1191e096615"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_hog</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a814d58b8403b734178d1c1191e096615"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a49a14792e4d46bf7887f5dc006407044"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49a14792e4d46bf7887f5dc006407044"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_hog</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int hog)</td></tr> +<tr class="separator:a49a14792e4d46bf7887f5dc006407044"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a70d9f4c1906b6e8da445d86482202a22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70d9f4c1906b6e8da445d86482202a22"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_attr</b> (struct <a class="el" href="structtransformation.html">transformation</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:a70d9f4c1906b6e8da445d86482202a22"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af2a530d63a1f05a92d1629cfbe63d046"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2a530d63a1f05a92d1629cfbe63d046"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_set_attr</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structattr.html">attr</a>)</td></tr> +<tr class="separator:af2a530d63a1f05a92d1629cfbe63d046"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4c40e49945de57235c9b1443e0b5eace"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c40e49945de57235c9b1443e0b5eace"></a> +int </td><td class="memItemRight" valign="bottom"><b>transformation_get_order_base</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a4c40e49945de57235c9b1443e0b5eace"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a616c0669ae0a8bc8abef4eb1e4b0cab5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a616c0669ae0a8bc8abef4eb1e4b0cab5"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_order_base</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int order_base)</td></tr> +<tr class="separator:a616c0669ae0a8bc8abef4eb1e4b0cab5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5b24b78a752baed872322716720dc2e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b24b78a752baed872322716720dc2e1"></a> +struct <a class="el" href="structtransformation.html">transformation</a> * </td><td class="memItemRight" valign="bottom"><b>transform_dup</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t)</td></tr> +<tr class="separator:a5b24b78a752baed872322716720dc2e1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5cbcb421bbf89d276019e973aa7c5703"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cbcb421bbf89d276019e973aa7c5703"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_to_geo</b> (enum projection pro, struct <a class="el" href="structcoord.html">coord</a> *c, struct <a class="el" href="structcoord__geo.html">coord_geo</a> *g)</td></tr> +<tr class="separator:a5cbcb421bbf89d276019e973aa7c5703"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a677e361bc2370ddd5203fabda516a1e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a677e361bc2370ddd5203fabda516a1e3"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_from_geo</b> (enum projection pro, struct <a class="el" href="structcoord__geo.html">coord_geo</a> *g, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr> +<tr class="separator:a677e361bc2370ddd5203fabda516a1e3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac81bc15ee9c9a1e2793d53233a60a4a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac81bc15ee9c9a1e2793d53233a60a4a2"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_from_to_count</b> (struct <a class="el" href="structcoord.html">coord</a> *cfrom, enum projection from, struct <a class="el" href="structcoord.html">coord</a> *cto, enum projection to, int count)</td></tr> +<tr class="separator:ac81bc15ee9c9a1e2793d53233a60a4a2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae1b04ebb9ec02e3a4ddffd54434412a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1b04ebb9ec02e3a4ddffd54434412a1"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_from_to</b> (struct <a class="el" href="structcoord.html">coord</a> *cfrom, enum projection from, struct <a class="el" href="structcoord.html">coord</a> *cto, enum projection to)</td></tr> +<tr class="separator:ae1b04ebb9ec02e3a4ddffd54434412a1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a638f6568ea669aee76cc358eea50720f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#a638f6568ea669aee76cc358eea50720f">transform_geo_to_cart</a> (struct <a class="el" href="structcoord__geo.html">coord_geo</a> *geo, navit_float a, navit_float b, struct <a class="el" href="structcoord__geo__cart.html">coord_geo_cart</a> *cart)</td></tr> +<tr class="memdesc:a638f6568ea669aee76cc358eea50720f"><td class="mdescLeft"> </td><td class="mdescRight">Transforms geodetic to Cartesian coordinates. <a href="#a638f6568ea669aee76cc358eea50720f">More...</a><br/></td></tr> +<tr class="separator:a638f6568ea669aee76cc358eea50720f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa9c7031e996d0ec6bb245225be9fe4a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#aa9c7031e996d0ec6bb245225be9fe4a5">transform_cart_to_geo</a> (struct <a class="el" href="structcoord__geo__cart.html">coord_geo_cart</a> *cart, navit_float a, navit_float b, struct <a class="el" href="structcoord__geo.html">coord_geo</a> *geo)</td></tr> +<tr class="memdesc:aa9c7031e996d0ec6bb245225be9fe4a5"><td class="mdescLeft"> </td><td class="mdescRight">Transforms Cartesian to geodetic coordinates. <a href="#aa9c7031e996d0ec6bb245225be9fe4a5">More...</a><br/></td></tr> +<tr class="separator:aa9c7031e996d0ec6bb245225be9fe4a5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acc9ea9d8b6cb2d53d35907d55c2a52ee"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#acc9ea9d8b6cb2d53d35907d55c2a52ee">transform_utm_to_geo</a> (const double UTMEasting, const double UTMNorthing, int ZoneNumber, int NorthernHemisphere, struct <a class="el" href="structcoord__geo.html">coord_geo</a> *geo)</td></tr> +<tr class="memdesc:acc9ea9d8b6cb2d53d35907d55c2a52ee"><td class="mdescLeft"> </td><td class="mdescRight">Converts UTM coords to lat/long. <a href="#acc9ea9d8b6cb2d53d35907d55c2a52ee">More...</a><br/></td></tr> +<tr class="separator:acc9ea9d8b6cb2d53d35907d55c2a52ee"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a26cd39d9b4265244e9453c5904c7eb02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26cd39d9b4265244e9453c5904c7eb02"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, enum projection required_projection, struct <a class="el" href="structcoord.html">coord</a> *input, struct <a class="el" href="structpoint.html">point</a> *<a class="el" href="structresult.html">result</a>, int count, int mindist, int width, int *width_result)</td></tr> +<tr class="separator:a26cd39d9b4265244e9453c5904c7eb02"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5a40f38ebfbe5adacd7450e6bace9a29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a40f38ebfbe5adacd7450e6bace9a29"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_reverse</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, struct <a class="el" href="structpoint.html">point</a> *p, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr> +<tr class="separator:a5a40f38ebfbe5adacd7450e6bace9a29"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a884903c79e69175a6008d3ccff261b2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a884903c79e69175a6008d3ccff261b2e"></a> +double </td><td class="memItemRight" valign="bottom"><b>transform_pixels_to_map_distance</b> (struct <a class="el" href="structtransformation.html">transformation</a> *<a class="el" href="structtransformation.html">transformation</a>, int pixels)</td></tr> +<tr class="separator:a884903c79e69175a6008d3ccff261b2e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a15d0284f89bb7b2d2cc240847aa942d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15d0284f89bb7b2d2cc240847aa942d3"></a> +enum projection </td><td class="memItemRight" valign="bottom"><b>transform_get_projection</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a15d0284f89bb7b2d2cc240847aa942d3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aac4929397a5aaa87b82ee4e4b726f1a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac4929397a5aaa87b82ee4e4b726f1a3"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_projection</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, enum projection pro)</td></tr> +<tr class="separator:aac4929397a5aaa87b82ee4e4b726f1a3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab2c6743998d19227685bfc9ade4a73f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2c6743998d19227685bfc9ade4a73f0"></a> +struct <a class="el" href="structmap__selection.html">map_selection</a> * </td><td class="memItemRight" valign="bottom"><b>transform_get_selection</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, enum projection pro, int order)</td></tr> +<tr class="separator:ab2c6743998d19227685bfc9ade4a73f0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acfd8aede3d2b5564394739cd2c9b327e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfd8aede3d2b5564394739cd2c9b327e"></a> +struct <a class="el" href="structcoord.html">coord</a> * </td><td class="memItemRight" valign="bottom"><b>transform_center</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:acfd8aede3d2b5564394739cd2c9b327e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a740e84249080ba94050d5501fe285db8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a740e84249080ba94050d5501fe285db8"></a> +struct <a class="el" href="structcoord.html">coord</a> * </td><td class="memItemRight" valign="bottom"><b>transform_get_center</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a740e84249080ba94050d5501fe285db8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab77dbc51823e0478c082bd78bc9754f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab77dbc51823e0478c082bd78bc9754f5"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_center</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr> +<tr class="separator:ab77dbc51823e0478c082bd78bc9754f5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7b8915f7e30c6aead73ab2fda929b48c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b8915f7e30c6aead73ab2fda929b48c"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_yaw</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, int yaw)</td></tr> +<tr class="separator:a7b8915f7e30c6aead73ab2fda929b48c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8a92e6ed1f885c1ad359488eb6013281"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a92e6ed1f885c1ad359488eb6013281"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_yaw</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a8a92e6ed1f885c1ad359488eb6013281"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4f4e47e02c6fd4655be2b81f05e19bdf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f4e47e02c6fd4655be2b81f05e19bdf"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_pitch</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int pitch)</td></tr> +<tr class="separator:a4f4e47e02c6fd4655be2b81f05e19bdf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0503d516e333c5c990b7bce55bc1a7af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0503d516e333c5c990b7bce55bc1a7af"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_pitch</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a0503d516e333c5c990b7bce55bc1a7af"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a80346ab0b59af0a2b690bdfc90b349e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80346ab0b59af0a2b690bdfc90b349e3"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_roll</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int roll)</td></tr> +<tr class="separator:a80346ab0b59af0a2b690bdfc90b349e3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5e8c4510e3993192b9f82bfc5340c63a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e8c4510e3993192b9f82bfc5340c63a"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_roll</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a5e8c4510e3993192b9f82bfc5340c63a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a859d5013f4f0c07d0d2a5d82e3c4b131"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a859d5013f4f0c07d0d2a5d82e3c4b131"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_distance</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int distance)</td></tr> +<tr class="separator:a859d5013f4f0c07d0d2a5d82e3c4b131"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3557daa8a2ebf0768628aaaf9f06e3d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3557daa8a2ebf0768628aaaf9f06e3d3"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_distance</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_)</td></tr> +<tr class="separator:a3557daa8a2ebf0768628aaaf9f06e3d3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aaa191a99a0e24a2e2a24a00f524926ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa191a99a0e24a2e2a24a00f524926ba"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_scales</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, int xscale, int yscale, int wscale)</td></tr> +<tr class="separator:aaa191a99a0e24a2e2a24a00f524926ba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acd2bd54ce3b5ab0fbf2f53f52aa9f175"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd2bd54ce3b5ab0fbf2f53f52aa9f175"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_screen_selection</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, struct <a class="el" href="structmap__selection.html">map_selection</a> *sel)</td></tr> +<tr class="separator:acd2bd54ce3b5ab0fbf2f53f52aa9f175"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a102a8bc4eefd800e69039ed3d4972c63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a102a8bc4eefd800e69039ed3d4972c63"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_screen_center</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, struct <a class="el" href="structpoint.html">point</a> *p)</td></tr> +<tr class="separator:a102a8bc4eefd800e69039ed3d4972c63"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a14c0f80f525cbd3d44bba0ea859bbb8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14c0f80f525cbd3d44bba0ea859bbb8b"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_get_size</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, int *width, int *height)</td></tr> +<tr class="separator:a14c0f80f525cbd3d44bba0ea859bbb8b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab18da629c0d3677cc417a08813a63fe4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab18da629c0d3677cc417a08813a63fe4"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_setup_source_rect</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t)</td></tr> +<tr class="separator:ab18da629c0d3677cc417a08813a63fe4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad28a3e5f7f730e35bd5f582a4cac89bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad28a3e5f7f730e35bd5f582a4cac89bb"></a> +long </td><td class="memItemRight" valign="bottom"><b>transform_get_scale</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t)</td></tr> +<tr class="separator:ad28a3e5f7f730e35bd5f582a4cac89bb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a82dd549a3e2370f027c13b0b04b4ae0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82dd549a3e2370f027c13b0b04b4ae0d"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_set_scale</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t, long scale)</td></tr> +<tr class="separator:a82dd549a3e2370f027c13b0b04b4ae0d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a35fc5bc1642ce4fc7557c9a2f34cd1cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35fc5bc1642ce4fc7557c9a2f34cd1cf"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_get_order</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t)</td></tr> +<tr class="separator:a35fc5bc1642ce4fc7557c9a2f34cd1cf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af7f5c25ad56b17d0f964c444a109d30a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f5c25ad56b17d0f964c444a109d30a"></a> +double </td><td class="memItemRight" valign="bottom"><b>transform_scale</b> (int y)</td></tr> +<tr class="separator:af7f5c25ad56b17d0f964c444a109d30a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abf0560a954a531f44ab7e05715da80f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf0560a954a531f44ab7e05715da80f3"></a> +double </td><td class="memItemRight" valign="bottom"><b>transform_distance</b> (enum projection pro, struct <a class="el" href="structcoord.html">coord</a> *c1, struct <a class="el" href="structcoord.html">coord</a> *c2)</td></tr> +<tr class="separator:abf0560a954a531f44ab7e05715da80f3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aab26d54522bb49785c15a3a6a9f0ac4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab26d54522bb49785c15a3a6a9f0ac4b"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_project</b> (enum projection pro, struct <a class="el" href="structcoord.html">coord</a> *c, int distance, int angle, struct <a class="el" href="structcoord.html">coord</a> *res)</td></tr> +<tr class="separator:aab26d54522bb49785c15a3a6a9f0ac4b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2a164704cd689c4fe7b0b78259e19249"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a164704cd689c4fe7b0b78259e19249"></a> +double </td><td class="memItemRight" valign="bottom"><b>transform_polyline_length</b> (enum projection pro, struct <a class="el" href="structcoord.html">coord</a> *c, int count)</td></tr> +<tr class="separator:a2a164704cd689c4fe7b0b78259e19249"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a965e3084a10d5bda58185a389851460f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a965e3084a10d5bda58185a389851460f"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_distance_sq</b> (struct <a class="el" href="structcoord.html">coord</a> *c1, struct <a class="el" href="structcoord.html">coord</a> *c2)</td></tr> +<tr class="separator:a965e3084a10d5bda58185a389851460f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a207e554c5eb4b0d12c0f9cdd752845c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a207e554c5eb4b0d12c0f9cdd752845c5"></a> +navit_float </td><td class="memItemRight" valign="bottom"><b>transform_distance_sq_float</b> (struct <a class="el" href="structcoord.html">coord</a> *c1, struct <a class="el" href="structcoord.html">coord</a> *c2)</td></tr> +<tr class="separator:a207e554c5eb4b0d12c0f9cdd752845c5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:adeaa0bc60b6541725a856a0a23d6a388"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeaa0bc60b6541725a856a0a23d6a388"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_distance_sq_pc</b> (struct <a class="el" href="structpcoord.html">pcoord</a> *c1, struct <a class="el" href="structpcoord.html">pcoord</a> *c2)</td></tr> +<tr class="separator:adeaa0bc60b6541725a856a0a23d6a388"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a27503406c67175ef2cdf98be34d12422"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27503406c67175ef2cdf98be34d12422"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_distance_line_sq</b> (struct <a class="el" href="structcoord.html">coord</a> *l0, struct <a class="el" href="structcoord.html">coord</a> *l1, struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *lpnt)</td></tr> +<tr class="separator:a27503406c67175ef2cdf98be34d12422"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae000c02a85c13b056aa425df8c6522ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae000c02a85c13b056aa425df8c6522ad"></a> +navit_float </td><td class="memItemRight" valign="bottom"><b>transform_distance_line_sq_float</b> (struct <a class="el" href="structcoord.html">coord</a> *l0, struct <a class="el" href="structcoord.html">coord</a> *l1, struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *lpnt)</td></tr> +<tr class="separator:ae000c02a85c13b056aa425df8c6522ad"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9db50d07acafe0d8e916459f6a568d59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9db50d07acafe0d8e916459f6a568d59"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_distance_polyline_sq</b> (struct <a class="el" href="structcoord.html">coord</a> *c, int count, struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *lpnt, int *pos)</td></tr> +<tr class="separator:a9db50d07acafe0d8e916459f6a568d59"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8a900115e1620f2bcb323751024134eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a900115e1620f2bcb323751024134eb"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_douglas_peucker</b> (struct <a class="el" href="structcoord.html">coord</a> *in, int count, int dist_sq, struct <a class="el" href="structcoord.html">coord</a> *out)</td></tr> +<tr class="separator:a8a900115e1620f2bcb323751024134eb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2f1f70d26b7e4993ac27db4a8e32d604"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f1f70d26b7e4993ac27db4a8e32d604"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_douglas_peucker_float</b> (struct <a class="el" href="structcoord.html">coord</a> *in, int count, navit_float dist_sq, struct <a class="el" href="structcoord.html">coord</a> *out)</td></tr> +<tr class="separator:a2f1f70d26b7e4993ac27db4a8e32d604"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3350d82778e30d53e5d2af89efef2add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3350d82778e30d53e5d2af89efef2add"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_print_deg</b> (double deg)</td></tr> +<tr class="separator:a3350d82778e30d53e5d2af89efef2add"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a957cf45974ab30e11fdba372af1468e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8c.html#a957cf45974ab30e11fdba372af1468e6">transform_get_angle_delta</a> (struct <a class="el" href="structcoord.html">coord</a> *c1, struct <a class="el" href="structcoord.html">coord</a> *c2, int dir)</td></tr> +<tr class="memdesc:a957cf45974ab30e11fdba372af1468e6"><td class="mdescLeft"> </td><td class="mdescRight">Gets the bearing from one point to another. <a href="#a957cf45974ab30e11fdba372af1468e6">More...</a><br/></td></tr> +<tr class="separator:a957cf45974ab30e11fdba372af1468e6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8f20669829e65e806598f14318a551f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f20669829e65e806598f14318a551f9"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_border</b> (struct <a class="el" href="structtransformation.html">transformation</a> *this_, struct <a class="el" href="structpoint.html">point</a> *p, int border)</td></tr> +<tr class="separator:a8f20669829e65e806598f14318a551f9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a24e81f6e6c8c1ccd55f7bc4c3d1e672f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24e81f6e6c8c1ccd55f7bc4c3d1e672f"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_dist_point</b> (struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *c, int dist)</td></tr> +<tr class="separator:a24e81f6e6c8c1ccd55f7bc4c3d1e672f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a23466624422258d5647391974de863c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23466624422258d5647391974de863c9"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_dist_line</b> (struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *c0, struct <a class="el" href="structcoord.html">coord</a> *c1, int dist)</td></tr> +<tr class="separator:a23466624422258d5647391974de863c9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a41b6eb52bb4b99c1db65e49d3295dfcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41b6eb52bb4b99c1db65e49d3295dfcf"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_dist_polyline</b> (struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *c, int count, int close, int dist)</td></tr> +<tr class="separator:a41b6eb52bb4b99c1db65e49d3295dfcf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae8cd0e4c679aeb0b1d151a793baa53bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8cd0e4c679aeb0b1d151a793baa53bc"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_dist_polygon</b> (struct <a class="el" href="structcoord.html">coord</a> *ref, struct <a class="el" href="structcoord.html">coord</a> *c, int count, int dist)</td></tr> +<tr class="separator:ae8cd0e4c679aeb0b1d151a793baa53bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aeb74e833a1968a5509cc19fe48d2d3d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb74e833a1968a5509cc19fe48d2d3d1"></a> +int </td><td class="memItemRight" valign="bottom"><b>transform_within_dist_item</b> (struct <a class="el" href="structcoord.html">coord</a> *ref, enum item_type type, struct <a class="el" href="structcoord.html">coord</a> *c, int count, int dist)</td></tr> +<tr class="separator:aeb74e833a1968a5509cc19fe48d2d3d1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3cd65d27f5fa565a7b5265ab000fd44e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cd65d27f5fa565a7b5265ab000fd44e"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_copy</b> (struct <a class="el" href="structtransformation.html">transformation</a> *src, struct <a class="el" href="structtransformation.html">transformation</a> *dst)</td></tr> +<tr class="separator:a3cd65d27f5fa565a7b5265ab000fd44e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa6ae4250d27f20248e9a06989cbeac86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6ae4250d27f20248e9a06989cbeac86"></a> +void </td><td class="memItemRight" valign="bottom"><b>transform_destroy</b> (struct <a class="el" href="structtransformation.html">transformation</a> *t)</td></tr> +<tr class="separator:aa6ae4250d27f20248e9a06989cbeac86"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Coordinate transformations and projections. </p> +</div><h2 class="groupheader">Macro Definition Documentation</h2> +<a class="anchor" id="a525335710b53cb064ca56b936120431e"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _USE_MATH_DEFINES   1</td> + </tr> + </table> +</div><div class="memdoc"> +<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. </p> + +</div> +</div> +<a class="anchor" id="a142f183c856d187544d5beb8db7b564f"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define POST_SHIFT   5</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Bitshift to apply during coordinate transformation. </p> +<p>This bitshift is applied (left shift) during coordinate transformation (and later reversed). The transformation is performed with integer arithmetic, and this shift reduces rounding errors when converting floating point numbers to integers, particularly because some input values are fairly small (for example, the entries in the transformation matrix, <code>struct transformation</code>).</p> +<p>This works because the transformations involve only multiplications, so the shift can be applied to one factor and removed from the result.</p> +<p>The value is a compromise; if it is too small, rounding errors increase, if it is too large, signed integer calculations will overflow at high zoom levels (which is undefined behavior).</p> +<dl class="section see"><dt>See Also</dt><dd><a class="el" href="structtransformation.html" title="The parameters needed to transform a map for display. ">transformation</a> </dd></dl> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="aa9c7031e996d0ec6bb245225be9fe4a5"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void transform_cart_to_geo </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structcoord__geo__cart.html">coord_geo_cart</a> * </td> + <td class="paramname"><em>cart</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">navit_float </td> + <td class="paramname"><em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">navit_float </td> + <td class="paramname"><em>b</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structcoord__geo.html">coord_geo</a> * </td> + <td class="paramname"><em>geo</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Transforms Cartesian to geodetic coordinates. </p> +<p>This transforms ECEF Cartesian coordinates into geodetic coordinates, consisting of latitude and longitude.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">cart</td><td>The Cartesian coordinates </td></tr> + <tr><td class="paramname">a</td><td>Semi-minor axis of the ellipsoid </td></tr> + <tr><td class="paramname">b</td><td>Semi-minor axis of the ellipsoid </td></tr> + <tr><td class="paramname">geo</td><td>Points to a structure that will receive the geodetic coordinates </td></tr> + </table> + </dd> +</dl> + +<p>References <a class="el" href="structcoord__geo.html#a549223ef1f76a24ba2568a4b25a0f766">coord_geo::lat</a>, <a class="el" href="structcoord__geo.html#aa780b02448f92912d7c6a541f289e8fb">coord_geo::lng</a>, <a class="el" href="structcoord__geo__cart.html#a8ad416e3cc04ee4e4c632426f1ca6e71">coord_geo_cart::x</a>, <a class="el" href="structcoord__geo__cart.html#a46084267efb2fd57b37048d0e2bbbef7">coord_geo_cart::y</a>, and <a class="el" href="structcoord__geo__cart.html#a1a8fdd1415b27d16395494f3c35f0ca8">coord_geo_cart::z</a>.</p> + +</div> +</div> +<a class="anchor" id="a638f6568ea669aee76cc358eea50720f"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void transform_geo_to_cart </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structcoord__geo.html">coord_geo</a> * </td> + <td class="paramname"><em>geo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">navit_float </td> + <td class="paramname"><em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">navit_float </td> + <td class="paramname"><em>b</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structcoord__geo__cart.html">coord_geo_cart</a> * </td> + <td class="paramname"><em>cart</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Transforms geodetic to Cartesian coordinates. </p> +<p>This transforms geodetic coordinates (consisting of latitude and longitude) into ECEF Cartesian coordinates.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">geo</td><td>The WGS84 coordinates to convert </td></tr> + <tr><td class="paramname">a</td><td>Semi-minor axis of the ellipsoid </td></tr> + <tr><td class="paramname">b</td><td>Semi-minor axis of the ellipsoid </td></tr> + <tr><td class="paramname">cart</td><td>Points to a structure that will receive the Cartesian coordinates </td></tr> + </table> + </dd> +</dl> + +<p>References <a class="el" href="structcoord__geo.html#a549223ef1f76a24ba2568a4b25a0f766">coord_geo::lat</a>, <a class="el" href="structcoord__geo.html#aa780b02448f92912d7c6a541f289e8fb">coord_geo::lng</a>, <a class="el" href="structcoord__geo__cart.html#a8ad416e3cc04ee4e4c632426f1ca6e71">coord_geo_cart::x</a>, <a class="el" href="structcoord__geo__cart.html#a46084267efb2fd57b37048d0e2bbbef7">coord_geo_cart::y</a>, and <a class="el" href="structcoord__geo__cart.html#a1a8fdd1415b27d16395494f3c35f0ca8">coord_geo_cart::z</a>.</p> + +</div> +</div> +<a class="anchor" id="a957cf45974ab30e11fdba372af1468e6"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int transform_get_angle_delta </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structcoord.html">coord</a> * </td> + <td class="paramname"><em>c1</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structcoord.html">coord</a> * </td> + <td class="paramname"><em>c2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>dir</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Gets the bearing from one point to another. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">c1</td><td>The first coordinate </td></tr> + <tr><td class="paramname">c2</td><td>The second coordinate </td></tr> + <tr><td class="paramname">dir</td><td>The direction: if it is -1, the bearing from c2 to c1 is returned, else the bearing from c1 to c2</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>The bearing in degrees,<div class="fragment"><div class="line">0 <= <a class="code" href="structresult.html">result</a> < 360 </div> +</div><!-- fragment --> . </dd></dl> + +<p>References <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="acc9ea9d8b6cb2d53d35907d55c2a52ee"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void transform_utm_to_geo </td> + <td>(</td> + <td class="paramtype">const double </td> + <td class="paramname"><em>UTMEasting</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const double </td> + <td class="paramname"><em>UTMNorthing</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>ZoneNumber</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>NorthernHemisphere</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structcoord__geo.html">coord_geo</a> * </td> + <td class="paramname"><em>geo</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Converts UTM coords to lat/long. </p> +<p>Equations from USGS Bulletin 1532.</p> +<dl class="section author"><dt>Author</dt><dd>Chuck Gantz- <a href="#" onclick="location.href='mai'+'lto:'+'chu'+'ck'+'.ga'+'nt'+'z@g'+'lo'+'bal'+'st'+'ar.'+'co'+'m'; return false;">chuck<span style="display: none;">.nosp@m.</span>.gan<span style="display: none;">.nosp@m.</span>tz@gl<span style="display: none;">.nosp@m.</span>obal<span style="display: none;">.nosp@m.</span>star.<span style="display: none;">.nosp@m.</span>com</a> </dd></dl> + +<p>References <a class="el" href="structcoord__geo.html#a549223ef1f76a24ba2568a4b25a0f766">coord_geo::lat</a>, and <a class="el" href="structcoord__geo.html#aa780b02448f92912d7c6a541f289e8fb">coord_geo::lng</a>.</p> + +</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="transform_8c.html">transform.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> |