This file is indexed.

/usr/share/doc/geographiclib/html/Gnomonic_8hpp_source.html is in geographiclib-tools 1.8-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<!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"/>
<title>GeographicLib: Gnomonic.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="dir_f624aa4962e92581e36e10adf24cfc84.html">include</a>      </li>
      <li><a class="el" href="dir_0f324d7550514966066ff24c6d4b8a42.html">GeographicLib</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<h1>Gnomonic.hpp</h1>  </div>
</div>
<div class="contents">
<a href="Gnomonic_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/**</span>
<a name="l00002"></a>00002 <span class="comment"> * \file Gnomonic.hpp</span>
<a name="l00003"></a>00003 <span class="comment"> * \brief Header for GeographicLib::Gnomonic class</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * Copyright (c) Charles Karney (2010, 2011) &lt;charles@karney.com&gt; and licensed</span>
<a name="l00006"></a>00006 <span class="comment"> * under the LGPL.  For more information, see</span>
<a name="l00007"></a>00007 <span class="comment"> * http://geographiclib.sourceforge.net/</span>
<a name="l00008"></a>00008 <span class="comment"> **********************************************************************/</span>
<a name="l00009"></a>00009 
<a name="l00010"></a>00010 <span class="preprocessor">#if !defined(GEOGRAPHICLIB_GNOMONIC_HPP)</span>
<a name="l00011"></a><a class="code" href="Gnomonic_8hpp.html#af85f3f443620d568666f526ee193308a">00011</a> <span class="preprocessor"></span><span class="preprocessor">#define GEOGRAPHICLIB_GNOMONIC_HPP &quot;$Id: Gnomonic.hpp 6968 2011-02-19 15:58:56Z karney $&quot;</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;<a class="code" href="Geodesic_8hpp.html" title="Header for GeographicLib::Geodesic class.">GeographicLib/Geodesic.hpp</a>&quot;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;<a class="code" href="GeodesicLine_8hpp.html" title="Header for GeographicLib::GeodesicLine class.">GeographicLib/GeodesicLine.hpp</a>&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;<a class="code" href="Constants_8hpp.html" title="Header for GeographicLib::Constants class.">GeographicLib/Constants.hpp</a>&quot;</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="keyword">namespace </span>GeographicLib {
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="comment">  /**</span>
<a name="l00020"></a>00020 <span class="comment">   * \brief %Gnomonic Projection.</span>
<a name="l00021"></a>00021 <span class="comment">   *</span>
<a name="l00022"></a>00022 <span class="comment">   * %Gnomonic projection centered at an arbitrary position \e C on the</span>
<a name="l00023"></a>00023 <span class="comment">   * ellipsoid.  This projection is derived in Section 13 of</span>
<a name="l00024"></a>00024 <span class="comment">   * - C. F. F. Karney,</span>
<a name="l00025"></a>00025 <span class="comment">   *   &lt;a href=&quot;http://arxiv.org/abs/1102.1215&quot;&gt;Geodesics</span>
<a name="l00026"></a>00026 <span class="comment">   *   on an ellipsoid of revolution&lt;/a&gt;,</span>
<a name="l00027"></a>00027 <span class="comment">   *   Feb. 2011;</span>
<a name="l00028"></a>00028 <span class="comment">   *   preprint</span>
<a name="l00029"></a>00029 <span class="comment">   *   &lt;a href=&quot;http://arxiv.org/abs/1102.1215&quot;&gt;arxiv:1102.1215&lt;/a&gt;.</span>
<a name="l00030"></a>00030 <span class="comment">   * .</span>
<a name="l00031"></a>00031 <span class="comment">   * The projection of \e P is defined as follows: compute the</span>
<a name="l00032"></a>00032 <span class="comment">   * geodesic line from \e C to \e P; compute the reduced length \e m12,</span>
<a name="l00033"></a>00033 <span class="comment">   * geodesic scale \e M12, and \e rho = \e m12/\e M12; finally \e x = \e rho</span>
<a name="l00034"></a>00034 <span class="comment">   * sin \e azi1; \e y = \e rho cos \e azi1, where \e azi1 is the azimuth of</span>
<a name="l00035"></a>00035 <span class="comment">   * the geodesic at \e C.  The Gnomonic::Forward and Gnomonic::Reverse methods</span>
<a name="l00036"></a>00036 <span class="comment">   * also return the azimuth \e azi of the geodesic at \e P and reciprocal</span>
<a name="l00037"></a>00037 <span class="comment">   * scale \e rk in the azimuthal direction.  The scale in the radial direction</span>
<a name="l00038"></a>00038 <span class="comment">   * if 1/\e rk&lt;sup&gt;2&lt;/sup&gt;.</span>
<a name="l00039"></a>00039 <span class="comment">   *</span>
<a name="l00040"></a>00040 <span class="comment">   * For a sphere, \e rho is reduces to \e a tan(\e s12/\e a), where \e s12 is</span>
<a name="l00041"></a>00041 <span class="comment">   * the length of the geodesic from \e C to \e P, and the gnomonic projection</span>
<a name="l00042"></a>00042 <span class="comment">   * has the property that all geodesics appear as straight lines.  For an</span>
<a name="l00043"></a>00043 <span class="comment">   * ellipsoid, this property holds only for geodesics interesting the centers.</span>
<a name="l00044"></a>00044 <span class="comment">   * However geodesic segments close to the center are approximately straight.</span>
<a name="l00045"></a>00045 <span class="comment">   *</span>
<a name="l00046"></a>00046 <span class="comment">   * Consider a geodesic segment of length \e l.  Let \e T be the point on the</span>
<a name="l00047"></a>00047 <span class="comment">   * geodesic (extended if necessary) closest to \e C the center of the</span>
<a name="l00048"></a>00048 <span class="comment">   * projection and \e t be the distance \e CT.  To lowest order, the maximum</span>
<a name="l00049"></a>00049 <span class="comment">   * deviation (as a true distance) of the corresponding gnomonic line segment</span>
<a name="l00050"></a>00050 <span class="comment">   * (i.e., with the same end points) from the geodesic is&lt;br&gt;</span>
<a name="l00051"></a>00051 <span class="comment">   * &lt;br&gt;</span>
<a name="l00052"></a>00052 <span class="comment">   * (\e K(T) - \e K(C)) \e l&lt;sup&gt;2&lt;/sup&gt; \e t / 32.&lt;br&gt;</span>
<a name="l00053"></a>00053 <span class="comment">   * &lt;br&gt;</span>
<a name="l00054"></a>00054 <span class="comment">   * where \e K is the Gaussian curvature.</span>
<a name="l00055"></a>00055 <span class="comment">   *</span>
<a name="l00056"></a>00056 <span class="comment">   * This result applies for any surface.  For an allipsoid of revolution,</span>
<a name="l00057"></a>00057 <span class="comment">   * consider all geodesics whose end points are within a distance \e r of \e</span>
<a name="l00058"></a>00058 <span class="comment">   * C.  For a given \e r, the deviation is maximum when the latitude of \e C</span>
<a name="l00059"></a>00059 <span class="comment">   * is 45&lt;sup&gt;o&lt;/sup&gt;, when endpoints are a distance \e r away, and when their</span>
<a name="l00060"></a>00060 <span class="comment">   * azimuths from the center are +/- 45&lt;sup&gt;o&lt;/sup&gt; or +/- 135&lt;sup&gt;o&lt;/sup&gt;.</span>
<a name="l00061"></a>00061 <span class="comment">   * To lowest order in \e r and the flattening \e f, the deviation is \e f</span>
<a name="l00062"></a>00062 <span class="comment">   * (\e r/2\e a)&lt;sup&gt;3&lt;/sup&gt; \e r.</span>
<a name="l00063"></a>00063 <span class="comment">   *</span>
<a name="l00064"></a>00064 <span class="comment">   * The conversions all take place using a Geodesic object (by default</span>
<a name="l00065"></a>00065 <span class="comment">   * Geodesic::WGS84).  For more information on geodesics see \ref geodesic.</span>
<a name="l00066"></a>00066 <span class="comment">   *</span>
<a name="l00067"></a>00067 <span class="comment">   * &lt;b&gt;CAUTION:&lt;/b&gt; The definition of this projection for a sphere is</span>
<a name="l00068"></a>00068 <span class="comment">   * standard.  However, there is no standard for how it should be extended to</span>
<a name="l00069"></a>00069 <span class="comment">   * an ellipsoid.  The choices are:</span>
<a name="l00070"></a>00070 <span class="comment">   * - Declare that the projection is undefined for an ellipsoid.</span>
<a name="l00071"></a>00071 <span class="comment">   * - Project to a tangent plane from the center of the ellipsoid.  This</span>
<a name="l00072"></a>00072 <span class="comment">   *   causes great ellipses to appear as straight lines in the projection;</span>
<a name="l00073"></a>00073 <span class="comment">   *   i.e., it generalizes the spherical great circle to a great ellipse.</span>
<a name="l00074"></a>00074 <span class="comment">   *   This was proposed by independently by Bowring and Williams in 1997.</span>
<a name="l00075"></a>00075 <span class="comment">   * - Project to the conformal sphere with the constant of integration chosen</span>
<a name="l00076"></a>00076 <span class="comment">   *   so that the values of the latitude match for the center point and</span>
<a name="l00077"></a>00077 <span class="comment">   *   perform a central projection onto the plane tangent to the conformal</span>
<a name="l00078"></a>00078 <span class="comment">   *   sphere at the center point.  This causes normal sections through the</span>
<a name="l00079"></a>00079 <span class="comment">   *   center point to appear as straight lines in the projection; i.e., it</span>
<a name="l00080"></a>00080 <span class="comment">   *   generalizes the spherical great circle to a normal section.  This was</span>
<a name="l00081"></a>00081 <span class="comment">   *   proposed by I. G. Letoval&#39;tsev, Generalization of the %Gnomonic</span>
<a name="l00082"></a>00082 <span class="comment">   *   Projection for a Spheroid and the Principal Geodetic Problems Involved</span>
<a name="l00083"></a>00083 <span class="comment">   *   in the Alignment of Surface Routes, Geodesy and Aerophotography (5),</span>
<a name="l00084"></a>00084 <span class="comment">   *   271-274 (1963).</span>
<a name="l00085"></a>00085 <span class="comment">   * - The projection given here.  This causes geodesics close to the center</span>
<a name="l00086"></a>00086 <span class="comment">   *   point to appear as straight lines in the projection; i.e., it</span>
<a name="l00087"></a>00087 <span class="comment">   *   generalizes the spherical great circle to a geodesic.</span>
<a name="l00088"></a>00088 <span class="comment">   **********************************************************************/</span>
<a name="l00089"></a>00089 
<a name="l00090"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html">00090</a>   <span class="keyword">class </span><a class="code" href="classGeographicLib_1_1Gnomonic.html" title="Gnomonic Projection.">Gnomonic</a> {
<a name="l00091"></a>00091   <span class="keyword">private</span>:
<a name="l00092"></a>00092     <span class="keyword">typedef</span> <a class="code" href="classGeographicLib_1_1Math.html#aeee4778d7cf2f9fb9648efe4911da59d">Math::real</a> real;
<a name="l00093"></a>00093     <span class="keyword">const</span> <a class="code" href="classGeographicLib_1_1Geodesic.html" title="Geodesic calculations">Geodesic</a> _earth;
<a name="l00094"></a>00094     real _a, _f;
<a name="l00095"></a>00095     <span class="keyword">static</span> <span class="keyword">const</span> real eps0, eps;
<a name="l00096"></a>00096     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> numit = 5;
<a name="l00097"></a>00097   <span class="keyword">public</span>:
<a name="l00098"></a>00098 <span class="comment"></span>
<a name="l00099"></a>00099 <span class="comment">    /**</span>
<a name="l00100"></a>00100 <span class="comment">     * Constructor for Gnomonic.</span>
<a name="l00101"></a>00101 <span class="comment">     *</span>
<a name="l00102"></a>00102 <span class="comment">     * @param[in] earth the Geodesic object to use for geodesic calculations.</span>
<a name="l00103"></a>00103 <span class="comment">     *   By default this uses the WGS84 ellipsoid.</span>
<a name="l00104"></a>00104 <span class="comment">     **********************************************************************/</span>
<a name="l00105"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html#a2ac973ebbd7aaf18c451b152cd92db99">00105</a>     <span class="keyword">explicit</span> <a class="code" href="classGeographicLib_1_1Gnomonic.html#a2ac973ebbd7aaf18c451b152cd92db99">Gnomonic</a>(<span class="keyword">const</span> <a class="code" href="classGeographicLib_1_1Geodesic.html" title="Geodesic calculations">Geodesic</a>&amp; earth = <a class="code" href="classGeographicLib_1_1Geodesic.html#ae918bb7e1555fba38483449cbbac0ca1">Geodesic::WGS84</a>)
<a name="l00106"></a>00106       throw()
<a name="l00107"></a>00107       : _earth(earth)
<a name="l00108"></a>00108       , _a(_earth.<a class="code" href="classGeographicLib_1_1Gnomonic.html#a8598fe6d8c3896fa3fd58d24023f78ee">MajorRadius</a>())
<a name="l00109"></a>00109       , _f(_earth.<a class="code" href="classGeographicLib_1_1Gnomonic.html#a655eff8ef95f92902899459e8a5efe63">InverseFlattening</a>() ?
<a name="l00110"></a>00110            1/std::abs(_earth.<a class="code" href="classGeographicLib_1_1Gnomonic.html#a655eff8ef95f92902899459e8a5efe63">InverseFlattening</a>()) : 0)
<a name="l00111"></a>00111     {}
<a name="l00112"></a>00112 <span class="comment"></span>
<a name="l00113"></a>00113 <span class="comment">    /**</span>
<a name="l00114"></a>00114 <span class="comment">     * Forward projection, from geographic to gnomonic.</span>
<a name="l00115"></a>00115 <span class="comment">     *</span>
<a name="l00116"></a>00116 <span class="comment">     * @param[in] lat0 latitude of center point of projection (degrees).</span>
<a name="l00117"></a>00117 <span class="comment">     * @param[in] lon0 longitude of center point of projection (degrees).</span>
<a name="l00118"></a>00118 <span class="comment">     * @param[in] lat latitude of point (degrees).</span>
<a name="l00119"></a>00119 <span class="comment">     * @param[in] lon longitude of point (degrees).</span>
<a name="l00120"></a>00120 <span class="comment">     * @param[out] x easting of point (meters).</span>
<a name="l00121"></a>00121 <span class="comment">     * @param[out] y northing of point (meters).</span>
<a name="l00122"></a>00122 <span class="comment">     * @param[out] azi azimuth of geodesic at point (degrees).</span>
<a name="l00123"></a>00123 <span class="comment">     * @param[out] rk reciprocal of azimuthal scale at point.</span>
<a name="l00124"></a>00124 <span class="comment">     *</span>
<a name="l00125"></a>00125 <span class="comment">     * \e lat0 and \e lat should be in the range [-90, 90] and \e lon0 and \e</span>
<a name="l00126"></a>00126 <span class="comment">     * lon should be in the range [-180, 360].  The scale of the projection is</span>
<a name="l00127"></a>00127 <span class="comment">     * 1/\e rk&lt;sup&gt;2&lt;/sup&gt; in the &quot;radial&quot; direction, \e azi clockwise from</span>
<a name="l00128"></a>00128 <span class="comment">     * true north, and is 1/\e rk in the direction perpendicular to this.  If</span>
<a name="l00129"></a>00129 <span class="comment">     * the point lies &quot;over the horizon&quot;, i.e., if \e rk &lt;= 0, then NaNs are</span>
<a name="l00130"></a>00130 <span class="comment">     * returned for \e x and \e y (the correct values are returned for \e azi</span>
<a name="l00131"></a>00131 <span class="comment">     * and \e rk).  A call to Forward followed by a call to Reverse will return</span>
<a name="l00132"></a>00132 <span class="comment">     * the original (\e lat, \e lon) (to within roundoff) provided the point in</span>
<a name="l00133"></a>00133 <span class="comment">     * not over the horizon.</span>
<a name="l00134"></a>00134 <span class="comment">     **********************************************************************/</span>
<a name="l00135"></a>00135     <span class="keywordtype">void</span> <a class="code" href="classGeographicLib_1_1Gnomonic.html#ab851ea19db5671f8d4a4151820bc6853">Forward</a>(<a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lat0, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lon0, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lat, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lon,
<a name="l00136"></a>00136                  <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; x, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; y, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; azi, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; rk) <span class="keyword">const</span> <span class="keywordflow">throw</span>();
<a name="l00137"></a>00137 <span class="comment"></span>
<a name="l00138"></a>00138 <span class="comment">    /**</span>
<a name="l00139"></a>00139 <span class="comment">     * Reverse projection, from gnomonic to geographic.</span>
<a name="l00140"></a>00140 <span class="comment">     *</span>
<a name="l00141"></a>00141 <span class="comment">     * @param[in] lat0 latitude of center point of projection (degrees).</span>
<a name="l00142"></a>00142 <span class="comment">     * @param[in] lon0 longitude of center point of projection (degrees).</span>
<a name="l00143"></a>00143 <span class="comment">     * @param[in] x easting of point (meters).</span>
<a name="l00144"></a>00144 <span class="comment">     * @param[in] y northing of point (meters).</span>
<a name="l00145"></a>00145 <span class="comment">     * @param[out] lat latitude of point (degrees).</span>
<a name="l00146"></a>00146 <span class="comment">     * @param[out] lon longitude of point (degrees).</span>
<a name="l00147"></a>00147 <span class="comment">     * @param[out] azi azimuth of geodesic at point (degrees).</span>
<a name="l00148"></a>00148 <span class="comment">     * @param[out] rk reciprocal of azimuthal scale at point.</span>
<a name="l00149"></a>00149 <span class="comment">     *</span>
<a name="l00150"></a>00150 <span class="comment">     * \e lat0 should be in the range [-90, 90] and \e lon0 should be in the</span>
<a name="l00151"></a>00151 <span class="comment">     * range [-180, 360].  \e lat will be in the range [-90, 90] and \e lon</span>
<a name="l00152"></a>00152 <span class="comment">     * will be in the range [-180, 180).  The scale of the projection is 1/\e</span>
<a name="l00153"></a>00153 <span class="comment">     * rk&lt;sup&gt;2&lt;/sup&gt; in the &quot;radial&quot; direction, \e azi clockwise from true</span>
<a name="l00154"></a>00154 <span class="comment">     * north, and is 1/\e rk in the direction perpendicular to this.  Even</span>
<a name="l00155"></a>00155 <span class="comment">     * though all inputs should return a valid \e lat and \e lon, it&#39;s possible</span>
<a name="l00156"></a>00156 <span class="comment">     * that the procedure fails to converge for very large \e x or \e y; in</span>
<a name="l00157"></a>00157 <span class="comment">     * this case NaNs are returned for all the output arguments.  A call to</span>
<a name="l00158"></a>00158 <span class="comment">     * Reverse followed by a call to Forward will return the original (\e x, \e</span>
<a name="l00159"></a>00159 <span class="comment">     * y) (to roundoff).</span>
<a name="l00160"></a>00160 <span class="comment">     **********************************************************************/</span>
<a name="l00161"></a>00161     <span class="keywordtype">void</span> <a class="code" href="classGeographicLib_1_1Gnomonic.html#afccbed660a482ef73d33ad16406ee626">Reverse</a>(<a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lat0, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> lon0, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> x, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a> y,
<a name="l00162"></a>00162                  <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; lat, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; lon, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; azi, <a class="code" href="Geod_8cpp.html#a5caf95d46b184d9ca1d3764b3781b3c9">real</a>&amp; rk) <span class="keyword">const</span> <span class="keywordflow">throw</span>();
<a name="l00163"></a>00163 <span class="comment"></span>
<a name="l00164"></a>00164 <span class="comment">    /**</span>
<a name="l00165"></a>00165 <span class="comment">     * Gnomonic::Forward without returning the azimuth and scale.</span>
<a name="l00166"></a>00166 <span class="comment">     **********************************************************************/</span>
<a name="l00167"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html#a2c08cf2bad190ee9ab88f7d877223208">00167</a>     <span class="keywordtype">void</span> <a class="code" href="classGeographicLib_1_1Gnomonic.html#ab851ea19db5671f8d4a4151820bc6853">Forward</a>(real lat0, real lon0, real lat, real lon,
<a name="l00168"></a>00168                  real&amp; x, real&amp; y) <span class="keyword">const</span> <span class="keywordflow">throw</span>() {
<a name="l00169"></a>00169       real azi, rk;
<a name="l00170"></a>00170       <a class="code" href="classGeographicLib_1_1Gnomonic.html#ab851ea19db5671f8d4a4151820bc6853">Forward</a>(lat0, lon0, lat, lon, x, y, azi, rk);
<a name="l00171"></a>00171     }
<a name="l00172"></a>00172 <span class="comment"></span>
<a name="l00173"></a>00173 <span class="comment">    /**</span>
<a name="l00174"></a>00174 <span class="comment">     * Gnomonic::Reverse without returning the azimuth and scale.</span>
<a name="l00175"></a>00175 <span class="comment">     **********************************************************************/</span>
<a name="l00176"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html#a8700d59a1e244f8dd211e344587dfed3">00176</a>     <span class="keywordtype">void</span> <a class="code" href="classGeographicLib_1_1Gnomonic.html#afccbed660a482ef73d33ad16406ee626">Reverse</a>(real lat0, real lon0, real x, real y,
<a name="l00177"></a>00177                  real&amp; lat, real&amp; lon) <span class="keyword">const</span> <span class="keywordflow">throw</span>() {
<a name="l00178"></a>00178       real azi, rk;
<a name="l00179"></a>00179       <a class="code" href="classGeographicLib_1_1Gnomonic.html#afccbed660a482ef73d33ad16406ee626">Reverse</a>(lat0, lon0, x, y, lat, lon, azi, rk);
<a name="l00180"></a>00180     }
<a name="l00181"></a>00181 <span class="comment"></span>
<a name="l00182"></a>00182 <span class="comment">    /** \name Inspector functions</span>
<a name="l00183"></a>00183 <span class="comment">     **********************************************************************/</span><span class="comment"></span>
<a name="l00184"></a>00184 <span class="comment">    ///@{</span>
<a name="l00185"></a>00185 <span class="comment"></span><span class="comment">    /**</span>
<a name="l00186"></a>00186 <span class="comment">     * @return \e a the equatorial radius of the ellipsoid (meters).  This is</span>
<a name="l00187"></a>00187 <span class="comment">     *   the value inherited from the Geodesic object used in the constructor.</span>
<a name="l00188"></a>00188 <span class="comment">     **********************************************************************/</span>
<a name="l00189"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html#a8598fe6d8c3896fa3fd58d24023f78ee">00189</a>     <a class="code" href="classGeographicLib_1_1Math.html#aeee4778d7cf2f9fb9648efe4911da59d">Math::real</a> <a class="code" href="classGeographicLib_1_1Gnomonic.html#a8598fe6d8c3896fa3fd58d24023f78ee">MajorRadius</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> _earth.<a class="code" href="classGeographicLib_1_1Geodesic.html#acd276bb113cfdf3fe59aa43fb3d7289b">MajorRadius</a>(); }
<a name="l00190"></a>00190 <span class="comment"></span>
<a name="l00191"></a>00191 <span class="comment">    /**</span>
<a name="l00192"></a>00192 <span class="comment">     * @return \e r the inverse flattening of the ellipsoid.  This is the</span>
<a name="l00193"></a>00193 <span class="comment">     *   value inherited from the Geodesic object used in the constructor.  A</span>
<a name="l00194"></a>00194 <span class="comment">     *   value of 0 is returned for a sphere (infinite inverse flattening).</span>
<a name="l00195"></a>00195 <span class="comment">     **********************************************************************/</span>
<a name="l00196"></a><a class="code" href="classGeographicLib_1_1Gnomonic.html#a655eff8ef95f92902899459e8a5efe63">00196</a>     <a class="code" href="classGeographicLib_1_1Math.html#aeee4778d7cf2f9fb9648efe4911da59d">Math::real</a> <a class="code" href="classGeographicLib_1_1Gnomonic.html#a655eff8ef95f92902899459e8a5efe63">InverseFlattening</a>() <span class="keyword">const</span> throw()
<a name="l00197"></a>00197     { <span class="keywordflow">return</span> _earth.<a class="code" href="classGeographicLib_1_1Geodesic.html#ab64c9662ce24d7a658924db0c85f8b2d">InverseFlattening</a>(); }<span class="comment"></span>
<a name="l00198"></a>00198 <span class="comment">    ///@}</span>
<a name="l00199"></a>00199 <span class="comment"></span>  };
<a name="l00200"></a>00200 
<a name="l00201"></a>00201 } <span class="comment">// namespace GeographicLib</span>
<a name="l00202"></a>00202 
<a name="l00203"></a>00203 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 22 2011 for GeographicLib by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>