wcslib (8.2.2)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>WCSLIB: prj.h Source File</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectrow">
<td id="projectalign">
<div id="projectname">WCSLIB<span id="projectnumber"> 8.2.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_af99bb3c152a306abd27951285ad1127.html">C</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">prj.h</div></div>
</div><!--header-->
<div class="contents">
<a href="prj_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*============================================================================</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> WCSLIB 8.2 - an implementation of the FITS WCS standard.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright (C) 1995-2023, Mark Calabretta</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> This file is part of WCSLIB.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> WCSLIB is free software: you can redistribute it and/or modify it under the</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> terms of the GNU Lesser General Public License as published by the Free</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> Software Foundation, either version 3 of the License, or (at your option)</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> any later version.</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"></span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> WCSLIB is distributed in the hope that it will be useful, but WITHOUT ANY</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> more details.</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"></span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> You should have received a copy of the GNU Lesser General Public License</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> along with WCSLIB. If not, see http://www.gnu.org/licenses.</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"></span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> Author: Mark Calabretta, Australia Telescope National Facility, CSIRO.</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> http://www.atnf.csiro.au/people/Mark.Calabretta</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> $Id: prj.h,v 8.2.1.1 2023/11/16 10:05:57 mcalabre Exp mcalabre $</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">*=============================================================================</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">*</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">* WCSLIB 8.2 - C routines that implement the FITS World Coordinate System</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">* (WCS) standard. Refer to the README file provided with WCSLIB for an</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">* overview of the library.</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">*</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">*</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">* Summary of the prj routines</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">* ---------------------------</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">* Routines in this suite implement the spherical map projections defined by</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">* the FITS World Coordinate System (WCS) standard, as described in</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">*</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">= "Representations of world coordinates in FITS",</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">= Greisen, E.W., & Calabretta, M.R. 2002, A&A, 395, 1061 (WCS Paper I)</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">=</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">= "Representations of celestial coordinates in FITS",</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">= Calabretta, M.R., & Greisen, E.W. 2002, A&A, 395, 1077 (WCS Paper II)</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">=</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">= "Mapping on the HEALPix grid",</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment">= Calabretta, M.R., & Roukema, B.F. 2007, MNRAS, 381, 865 (WCS Paper V)</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment">=</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">= "Representing the 'Butterfly' Projection in FITS -- Projection Code XPH",</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">= Calabretta, M.R., & Lowe, S.R. 2013, PASA, 30, e050 (WCS Paper VI)</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">*</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">* These routines are based on the prjprm struct which contains all information</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">* needed for the computations. The struct contains some members that must be</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">* set by the user, and others that are maintained by these routines, somewhat</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">* like a C++ class but with no encapsulation.</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">*</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">* Routine prjini() is provided to initialize the prjprm struct with default</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">* values, prjfree() reclaims any memory that may have been allocated to store</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">* an error message, prjsize() computes its total size including allocated</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment">* memory, and prjprt() prints its contents.</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment">*</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">* prjperr() prints the error message(s) (if any) stored in a prjprm struct.</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">* prjbchk() performs bounds checking on native spherical coordinates.</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">*</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">* Setup routines for each projection with names of the form ???set(), where</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">* "???" is the down-cased three-letter projection code, compute intermediate</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">* values in the prjprm struct from parameters in it that were supplied by the</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment">* user. The struct always needs to be set by the projection's setup routine</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">* but that need not be called explicitly - refer to the explanation of</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment">* prjprm::flag.</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">*</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">* Each map projection is implemented via separate functions for the spherical</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">* projection, ???s2x(), and deprojection, ???x2s().</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment">*</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">* A set of driver routines, prjset(), prjx2s(), and prjs2x(), provides a</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment">* generic interface to the specific projection routines which they invoke</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">* via pointers-to-functions stored in the prjprm struct.</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">*</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment">* In summary, the routines are:</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment">* - prjini() Initialization routine for the prjprm struct.</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">* - prjfree() Reclaim memory allocated for error messages.</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment">* - prjsize() Compute total size of a prjprm struct.</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment">* - prjprt() Print a prjprm struct.</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment">* - prjperr() Print error message (if any).</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment">* - prjbchk() Bounds checking on native coordinates.</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment">*</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">* - prjset(), prjx2s(), prjs2x(): Generic driver routines</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment">*</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment">* - azpset(), azpx2s(), azps2x(): AZP (zenithal/azimuthal perspective)</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment">* - szpset(), szpx2s(), szps2x(): SZP (slant zenithal perspective)</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment">* - tanset(), tanx2s(), tans2x(): TAN (gnomonic)</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment">* - stgset(), stgx2s(), stgs2x(): STG (stereographic)</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment">* - sinset(), sinx2s(), sins2x(): SIN (orthographic/synthesis)</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment">* - arcset(), arcx2s(), arcs2x(): ARC (zenithal/azimuthal equidistant)</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">* - zpnset(), zpnx2s(), zpns2x(): ZPN (zenithal/azimuthal polynomial)</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment">* - zeaset(), zeax2s(), zeas2x(): ZEA (zenithal/azimuthal equal area)</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment">* - airset(), airx2s(), airs2x(): AIR (Airy)</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">* - cypset(), cypx2s(), cyps2x(): CYP (cylindrical perspective)</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment">* - ceaset(), ceax2s(), ceas2x(): CEA (cylindrical equal area)</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment">* - carset(), carx2s(), cars2x(): CAR (Plate carree)</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment">* - merset(), merx2s(), mers2x(): MER (Mercator)</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">* - sflset(), sflx2s(), sfls2x(): SFL (Sanson-Flamsteed)</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment">* - parset(), parx2s(), pars2x(): PAR (parabolic)</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment">* - molset(), molx2s(), mols2x(): MOL (Mollweide)</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment">* - aitset(), aitx2s(), aits2x(): AIT (Hammer-Aitoff)</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment">* - copset(), copx2s(), cops2x(): COP (conic perspective)</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment">* - coeset(), coex2s(), coes2x(): COE (conic equal area)</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment">* - codset(), codx2s(), cods2x(): COD (conic equidistant)</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment">* - cooset(), coox2s(), coos2x(): COO (conic orthomorphic)</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment">* - bonset(), bonx2s(), bons2x(): BON (Bonne)</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">* - pcoset(), pcox2s(), pcos2x(): PCO (polyconic)</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment">* - tscset(), tscx2s(), tscs2x(): TSC (tangential spherical cube)</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment">* - cscset(), cscx2s(), cscs2x(): CSC (COBE spherical cube)</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">* - qscset(), qscx2s(), qscs2x(): QSC (quadrilateralized spherical cube)</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">* - hpxset(), hpxx2s(), hpxs2x(): HPX (HEALPix)</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment">* - xphset(), xphx2s(), xphs2x(): XPH (HEALPix polar, aka "butterfly")</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">*</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">* Argument checking (projection routines):</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">* ----------------------------------------</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">* The values of phi and theta (the native longitude and latitude) normally lie</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">* in the range [-180,180] for phi, and [-90,90] for theta. However, all</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">* projection routines will accept any value of phi and will not normalize it.</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment">*</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment">* The projection routines do not explicitly check that theta lies within the</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment">* range [-90,90]. They do check for any value of theta that produces an</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">* invalid argument to the projection equations (e.g. leading to division by</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment">* zero). The projection routines for AZP, SZP, TAN, SIN, ZPN, and COP also</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment">* return error 2 if (phi,theta) corresponds to the overlapped (far) side of</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment">* the projection but also return the corresponding value of (x,y). This</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment">* strict bounds checking may be relaxed at any time by setting</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment">* prjprm::bounds%2 to 0 (rather than 1); the projections need not be</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment">* reinitialized.</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment">*</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">* Argument checking (deprojection routines):</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment">* ------------------------------------------</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment">* Error checking on the projected coordinates (x,y) is limited to that</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">* required to ascertain whether a solution exists. Where a solution does</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment">* exist, an optional check is made that the value of phi and theta obtained</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">* lie within the ranges [-180,180] for phi, and [-90,90] for theta. This</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment">* check, performed by prjbchk(), is enabled by default. It may be disabled by</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment">* setting prjprm::bounds%4 to 0 (rather than 1); the projections need not be</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="comment">* reinitialized.</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">*</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">* Accuracy:</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">* ---------</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">* No warranty is given for the accuracy of these routines (refer to the</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment">* copyright notice); intending users must satisfy for themselves their</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment">* adequacy for the intended purpose. However, closure to a precision of at</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment">* least 1E-10 degree of longitude and latitude has been verified for typical</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment">* projection parameters on the 1 degree graticule of native longitude and</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment">* latitude (to within 5 degrees of any latitude where the projection may</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="comment">* diverge). Refer to the tprj1.c and tprj2.c test routines that accompany</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="comment">* this software.</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment">*</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment">*</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment">* prjini() - Default constructor for the prjprm struct</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment">* ----------------------------------------------------</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment">* prjini() sets all members of a prjprm struct to default values. It should</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment">* be used to initialize every prjprm struct.</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment">*</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment">* PLEASE NOTE: If the prjprm struct has already been initialized, then before</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">* reinitializing, it prjfree() should be used to free any memory that may have</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment">* been allocated to store an error message. A memory leak may otherwise</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment">* result.</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="comment">*</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="comment">*</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="comment">*</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="comment">*</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="comment">* prjfree() - Destructor for the prjprm struct</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="comment">* --------------------------------------------</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="comment">* prjfree() frees any memory that may have been allocated to store an error</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="comment">* message in the prjprm struct.</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span><span class="comment">*</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="comment">*</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment">*</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment">*</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment">* prjsize() - Compute the size of a prjprm struct</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment">* -----------------------------------------------</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment">* prjsize() computes the full size of a prjprm struct, including allocated</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="comment">* memory.</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="comment">*</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="comment">* prj const struct prjprm*</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="comment">*</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="comment">* If NULL, the base size of the struct and the allocated</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="comment">* size are both set to zero.</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="comment">*</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span><span class="comment">* sizes int[2] The first element is the base size of the struct as</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="comment">* returned by sizeof(struct prjprm). The second element</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="comment">* is the total allocated size, in bytes. This figure</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="comment">* includes memory allocated for the constituent struct,</span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="comment">* prjprm::err.</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span><span class="comment">*</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span><span class="comment">* It is not an error for the struct not to have been set</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span><span class="comment">* up via prjset().</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span><span class="comment">*</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="comment">*</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="comment">*</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="comment">* prjprt() - Print routine for the prjprm struct</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="comment">* ----------------------------------------------</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span><span class="comment">* prjprt() prints the contents of a prjprm struct using wcsprintf(). Mainly</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="comment">* intended for diagnostic purposes.</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span><span class="comment">*</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="comment">* prj const struct prjprm*</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="comment">*</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span><span class="comment">*</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="comment">*</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="comment">* prjperr() - Print error messages from a prjprm struct</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="comment">* -----------------------------------------------------</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="comment">* prjperr() prints the error message(s) (if any) stored in a prjprm struct.</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="comment">* If there are no errors then nothing is printed. It uses wcserr_prt(), q.v.</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="comment">*</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="comment">* prj const struct prjprm*</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span><span class="comment">*</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="comment">* prefix const char *</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="comment">* If non-NULL, each output line will be prefixed with</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="comment">* this string.</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="comment">*</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="comment">*</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span><span class="comment">*</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="comment">* prjbchk() - Bounds checking on native coordinates</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span><span class="comment">* -------------------------------------------------</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span><span class="comment">* prjbchk() performs bounds checking on native spherical coordinates. As</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="comment">* returned by the deprojection (x2s) routines, native longitude is expected</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span><span class="comment">* to lie in the closed interval [-180,180], with latitude in [-90,90].</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="comment">*</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span><span class="comment">* A tolerance may be specified to provide a small allowance for numerical</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="comment">* imprecision. Values that lie outside the allowed range by not more than</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="comment">* the specified tolerance will be adjusted back into range.</span></div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="comment">*</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="comment">* If prjprm::bounds&4 is set, as it is by prjini(), then prjbchk() will be</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="comment">* invoked automatically by the Cartesian-to-spherical deprojection (x2s)</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="comment">* routines with an appropriate tolerance set for each projection.</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="comment">*</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="comment">* tol double Tolerance for the bounds check [deg].</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="comment">*</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="comment">* nphi,</span></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="comment">* ntheta int Vector lengths.</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="comment">*</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="comment">* spt int Vector stride.</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span><span class="comment">*</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="comment">* phi,theta double[] Native longitude and latitude (phi,theta) [deg].</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span><span class="comment">*</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="comment">* stat int[] Status value for each vector element:</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="comment">* 0: Valid value of (phi,theta).</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="comment">* 1: Invalid value.</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="comment">*</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="comment">* 1: One or more of the (phi,theta) coordinates</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="comment">* were, invalid, as indicated by the stat vector.</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="comment">*</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="comment">*</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="comment">* prjset() - Generic setup routine for the prjprm struct</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="comment">* ------------------------------------------------------</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="comment">* prjset() sets up a prjprm struct according to information supplied within</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="comment">* it.</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="comment">*</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span><span class="comment">* Note that this routine need not be called directly; it will be invoked by</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="comment">* prjx2s() and prjs2x() if prj.flag is anything other than a predefined magic</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><span class="comment">* value.</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="comment">*</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="comment">* The one important distinction between prjset() and the setup routines for</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="comment">* the specific projections is that the projection code must be defined in the</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="comment">* prjprm struct in order for prjset() to identify the required projection.</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="comment">* Once prjset() has initialized the prjprm struct, prjx2s() and prjs2x() use</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="comment">* the pointers to the specific projection and deprojection routines contained</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="comment">* therein.</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="comment">*</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="comment">*</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="comment">*</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="comment">*</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="comment">*</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="comment">* prjx2s() - Generic Cartesian-to-spherical deprojection</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="comment">* ------------------------------------------------------</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="comment">* Deproject Cartesian (x,y) coordinates in the plane of projection to native</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="comment">* spherical coordinates (phi,theta).</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="comment">*</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="comment">* The projection is that specified by prjprm::code.</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="comment">*</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="comment">*</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment">* nx,ny int Vector lengths.</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="comment">*</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment">* sxy,spt int Vector strides.</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="comment">*</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="comment">* x,y const double[]</span></div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span><span class="comment">* Projected coordinates.</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="comment">*</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="comment">* phi,theta double[] Longitude and latitude (phi,theta) of the projected</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="comment">* point in native spherical coordinates [deg].</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment">*</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span><span class="comment">* stat int[] Status value for each vector element:</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="comment">* 1: Invalid value of (x,y).</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="comment">*</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span><span class="comment">* 3: One or more of the (x,y) coordinates were</span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span><span class="comment">* invalid, as indicated by the stat vector.</span></div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span><span class="comment">*</span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span><span class="comment">*</span></div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span><span class="comment">*</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span><span class="comment">* prjs2x() - Generic spherical-to-Cartesian projection</span></div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span><span class="comment">* ----------------------------------------------------</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span><span class="comment">* Project native spherical coordinates (phi,theta) to Cartesian (x,y)</span></div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span><span class="comment">* coordinates in the plane of projection.</span></div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span><span class="comment">*</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment">* The projection is that specified by prjprm::code.</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment">*</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="comment">*</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span><span class="comment">* nphi,</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="comment">* ntheta int Vector lengths.</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span><span class="comment">*</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span><span class="comment">* spt,sxy int Vector strides.</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span><span class="comment">*</span></div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span><span class="comment">* phi,theta const double[]</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span><span class="comment">* Longitude and latitude (phi,theta) of the projected</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="comment">* point in native spherical coordinates [deg].</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span><span class="comment">*</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="comment">* x,y double[] Projected coordinates.</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="comment">*</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="comment">* stat int[] Status value for each vector element:</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="comment">* 1: Invalid value of (phi,theta).</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="comment">*</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="comment">* 4: One or more of the (phi,theta) coordinates</span></div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span><span class="comment">* were, invalid, as indicated by the stat vector.</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="comment">*</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="comment">*</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span><span class="comment">*</span></div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="comment">* ???set() - Specific setup routines for the prjprm struct</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="comment">* --------------------------------------------------------</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span><span class="comment">* Set up a prjprm struct for a particular projection according to information</span></div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="comment">* supplied within it.</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span><span class="comment">*</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span><span class="comment">*</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span><span class="comment">*</span></div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="comment">*</span></div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span><span class="comment">*</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="comment">* ???x2s() - Specific Cartesian-to-spherical deprojection routines</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="comment">* ----------------------------------------------------------------</span></div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span><span class="comment">* Transform (x,y) coordinates in the plane of projection to native spherical</span></div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span><span class="comment">* coordinates (phi,theta).</span></div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="comment">*</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span><span class="comment">*</span></div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span><span class="comment">* nx,ny int Vector lengths.</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span><span class="comment">*</span></div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span><span class="comment">* sxy,spt int Vector strides.</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span><span class="comment">*</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span><span class="comment">* x,y const double[]</span></div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span><span class="comment">* Projected coordinates.</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span><span class="comment">*</span></div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span><span class="comment">* phi,theta double[] Longitude and latitude of the projected point in</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="comment">* native spherical coordinates [deg].</span></div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span><span class="comment">*</span></div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span><span class="comment">* stat int[] Status value for each vector element:</span></div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span><span class="comment">* 1: Invalid value of (x,y).</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span><span class="comment">*</span></div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span><span class="comment">* 3: One or more of the (x,y) coordinates were</span></div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span><span class="comment">* invalid, as indicated by the stat vector.</span></div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span><span class="comment">*</span></div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span><span class="comment">*</span></div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span><span class="comment">*</span></div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span><span class="comment">* ???s2x() - Specific spherical-to-Cartesian projection routines</span></div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span><span class="comment">*---------------------------------------------------------------</span></div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span><span class="comment">* Transform native spherical coordinates (phi,theta) to (x,y) coordinates in</span></div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span><span class="comment">* the plane of projection.</span></div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span><span class="comment">*</span></div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span><span class="comment">* Given and returned:</span></div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span><span class="comment">* prj struct prjprm*</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="comment">* Projection parameters.</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span><span class="comment">*</span></div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span><span class="comment">* Given:</span></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span><span class="comment">* nphi,</span></div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span><span class="comment">* ntheta int Vector lengths.</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span><span class="comment">*</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="comment">* spt,sxy int Vector strides.</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span><span class="comment">*</span></div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span><span class="comment">* phi,theta const double[]</span></div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span><span class="comment">* Longitude and latitude of the projected point in</span></div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span><span class="comment">* native spherical coordinates [deg].</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span><span class="comment">*</span></div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span><span class="comment">* Returned:</span></div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span><span class="comment">* x,y double[] Projected coordinates.</span></div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span><span class="comment">*</span></div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span><span class="comment">* stat int[] Status value for each vector element:</span></div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span><span class="comment">* 1: Invalid value of (phi,theta).</span></div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span><span class="comment">*</span></div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span><span class="comment">* Function return value:</span></div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span><span class="comment">* int Status return value:</span></div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span><span class="comment">* 0: Success.</span></div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span><span class="comment">* 1: Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span><span class="comment">* 2: Invalid projection parameters.</span></div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span><span class="comment">* 4: One or more of the (phi,theta) coordinates</span></div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span><span class="comment">* were, invalid, as indicated by the stat vector.</span></div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span><span class="comment">*</span></div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span><span class="comment">* For returns > 1, a detailed error message is set in</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span><span class="comment">* prjprm::err if enabled, see wcserr_enable().</span></div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span><span class="comment">*</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span><span class="comment">*</span></div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span><span class="comment">* prjprm struct - Projection parameters</span></div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span><span class="comment">* -------------------------------------</span></div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span><span class="comment">* The prjprm struct contains all information needed to project or deproject</span></div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span><span class="comment">* native spherical coordinates. It consists of certain members that must be</span></div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span><span class="comment">* set by the user ("given") and others that are set by the WCSLIB routines</span></div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span><span class="comment">* ("returned"). Some of the latter are supplied for informational purposes</span></div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span><span class="comment">* while others are for internal use only.</span></div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span><span class="comment">*</span></div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span><span class="comment">* int flag</span></div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span><span class="comment">* (Given and returned) This flag must be set to zero whenever any of the</span></div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span><span class="comment">* following prjprm struct members are set or changed:</span></div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span><span class="comment">*</span></div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span><span class="comment">* - prjprm::code,</span></div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span><span class="comment">* - prjprm::r0,</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span><span class="comment">* - prjprm::pv[],</span></div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span><span class="comment">* - prjprm::phi0,</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span><span class="comment">* - prjprm::theta0.</span></div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span><span class="comment">*</span></div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span><span class="comment">* This signals the initialization routine (prjset() or ???set()) to</span></div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span><span class="comment">* recompute the returned members of the prjprm struct. flag will then be</span></div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span><span class="comment">* reset to indicate that this has been done.</span></div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span><span class="comment">*</span></div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span><span class="comment">* Note that flag need not be reset when prjprm::bounds is changed.</span></div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span><span class="comment">*</span></div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span><span class="comment">* char code[4]</span></div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span><span class="comment">* (Given) Three-letter projection code defined by the FITS standard.</span></div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span><span class="comment">*</span></div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span><span class="comment">* double r0</span></div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span><span class="comment">* (Given) The radius of the generating sphere for the projection, a linear</span></div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span><span class="comment">* scaling parameter. If this is zero, it will be reset to its default</span></div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span><span class="comment">* value of 180/pi (the value for FITS WCS).</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span><span class="comment">*</span></div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span><span class="comment">* double pv[30]</span></div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span><span class="comment">* (Given) Projection parameters. These correspond to the PVi_ma keywords</span></div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span><span class="comment">* in FITS, so pv[0] is PVi_0a, pv[1] is PVi_1a, etc., where i denotes the</span></div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span><span class="comment">* latitude-like axis. Many projections use pv[1] (PVi_1a), some also use</span></div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span><span class="comment">* pv[2] (PVi_2a) and SZP uses pv[3] (PVi_3a). ZPN is currently the only</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span><span class="comment">* projection that uses any of the others.</span></div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span><span class="comment">*</span></div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span><span class="comment">* Usage of the pv[] array as it applies to each projection is described in</span></div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span><span class="comment">* the prologue to each trio of projection routines in prj.c.</span></div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span><span class="comment">*</span></div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span><span class="comment">* double phi0</span></div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span><span class="comment">* (Given) The native longitude, phi_0 [deg], and ...</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="comment">* double theta0</span></div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span><span class="comment">* (Given) ... the native latitude, theta_0 [deg], of the reference point,</span></div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span><span class="comment">* i.e. the point (x,y) = (0,0). If undefined (set to a magic value by</span></div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span><span class="comment">* prjini()) the initialization routine will set this to a</span></div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span><span class="comment">* projection-specific default.</span></div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span><span class="comment">*</span></div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span><span class="comment">* int bounds</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span><span class="comment">* (Given) Controls bounds checking. If bounds&1 then enable strict bounds</span></div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span><span class="comment">* checking for the spherical-to-Cartesian (s2x) transformation for the</span></div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span><span class="comment">* AZP, SZP, TAN, SIN, ZPN, and COP projections. If bounds&2 then enable</span></div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span><span class="comment">* strict bounds checking for the Cartesian-to-spherical transformation</span></div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span><span class="comment">* (x2s) for the HPX and XPH projections. If bounds&4 then the Cartesian-</span></div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span><span class="comment">* to-spherical transformations (x2s) will invoke prjbchk() to perform</span></div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span><span class="comment">* bounds checking on the computed native coordinates, with a tolerance set</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span><span class="comment">* to suit each projection. bounds is set to 7 by prjini() by default</span></div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span><span class="comment">* which enables all checks. Zero it to disable all checking.</span></div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span><span class="comment">*</span></div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span><span class="comment">* It is not necessary to reset the prjprm struct (via prjset() or</span></div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span><span class="comment">* ???set()) when prjprm::bounds is changed.</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span><span class="comment">*</span></div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span><span class="comment">* The remaining members of the prjprm struct are maintained by the setup</span></div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><span class="comment">* routines and must not be modified elsewhere:</span></div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span><span class="comment">*</span></div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span><span class="comment">* char name[40]</span></div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span><span class="comment">* (Returned) Long name of the projection.</span></div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span><span class="comment">*</span></div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span><span class="comment">*</span></div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span><span class="comment">* int category</span></div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><span class="comment">* (Returned) Projection category matching the value of the relevant global</span></div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span><span class="comment">* variable:</span></div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><span class="comment">*</span></div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span><span class="comment">* - ZENITHAL,</span></div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="comment">* - CYLINDRICAL,</span></div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span><span class="comment">* - PSEUDOCYLINDRICAL,</span></div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span><span class="comment">* - CONVENTIONAL,</span></div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span><span class="comment">* - CONIC,</span></div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span><span class="comment">* - POLYCONIC,</span></div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span><span class="comment">* - QUADCUBE, and</span></div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span><span class="comment">* - HEALPIX.</span></div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span><span class="comment">*</span></div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span><span class="comment">* The category name may be identified via the prj_categories character</span></div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span><span class="comment">* array, e.g.</span></div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span><span class="comment">*</span></div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span><span class="comment">= struct prjprm prj;</span></div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span><span class="comment">= ...</span></div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span><span class="comment">= printf("%s\n", prj_categories[prj.category]);</span></div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="comment">*</span></div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span><span class="comment">*</span></div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span><span class="comment">* int pvrange</span></div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="comment">* (Returned) Range of projection parameter indices: 100 times the first</span></div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span><span class="comment">* allowed index plus the number of parameters, e.g. TAN is 0 (no</span></div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="comment">* parameters), SZP is 103 (1 to 3), and ZPN is 30 (0 to 29).</span></div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span><span class="comment">*</span></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span><span class="comment">*</span></div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span><span class="comment">* int simplezen</span></div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span><span class="comment">* (Returned) True if the projection is a radially-symmetric zenithal</span></div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span><span class="comment">* projection.</span></div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span><span class="comment">*</span></div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span><span class="comment">*</span></div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span><span class="comment">* int equiareal</span></div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span><span class="comment">* (Returned) True if the projection is equal area.</span></div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span><span class="comment">*</span></div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span><span class="comment">*</span></div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span><span class="comment">* int conformal</span></div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span><span class="comment">* (Returned) True if the projection is conformal.</span></div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span><span class="comment">*</span></div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="comment">*</span></div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span><span class="comment">* int global</span></div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="comment">* (Returned) True if the projection can represent the whole sphere in a</span></div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span><span class="comment">* finite, non-overlapped mapping.</span></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span><span class="comment">*</span></div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="comment">*</span></div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span><span class="comment">* int divergent</span></div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="comment">* (Returned) True if the projection diverges in latitude.</span></div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span><span class="comment">*</span></div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span><span class="comment">* Provided for information only, not used by the projection routines.</span></div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span><span class="comment">*</span></div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span><span class="comment">* double x0</span></div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span><span class="comment">* (Returned) The offset in x, and ...</span></div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span><span class="comment">* double y0</span></div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span><span class="comment">* (Returned) ... the offset in y used to force (x,y) = (0,0) at</span></div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span><span class="comment">* (phi_0,theta_0).</span></div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span><span class="comment">*</span></div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span><span class="comment">* struct wcserr *err</span></div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span><span class="comment">* (Returned) If enabled, when an error status is returned, this struct</span></div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span><span class="comment">* contains detailed information about the error, see wcserr_enable().</span></div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span><span class="comment">*</span></div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="comment">* void *padding</span></div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span><span class="comment">* (An unused variable inserted for alignment purposes only.)</span></div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="comment">*</span></div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span><span class="comment">* double w[10]</span></div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span><span class="comment">* (Returned) Intermediate floating-point values derived from the</span></div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span><span class="comment">* projection parameters, cached here to save recomputation.</span></div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span><span class="comment">*</span></div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span><span class="comment">* Usage of the w[] array as it applies to each projection is described in</span></div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span><span class="comment">* the prologue to each trio of projection routines in prj.c.</span></div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span><span class="comment">*</span></div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span><span class="comment">* int n</span></div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span><span class="comment">* (Returned) Intermediate integer value (used only for the ZPN and HPX</span></div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span><span class="comment">* projections).</span></div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span><span class="comment">*</span></div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span><span class="comment">* int (*prjx2s)(PRJX2S_ARGS)</span></div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span><span class="comment">* (Returned) Pointer to the spherical projection ...</span></div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span><span class="comment">* int (*prjs2x)(PRJ_ARGS)</span></div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span><span class="comment">* (Returned) ... and deprojection routines.</span></div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span><span class="comment">*</span></div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span><span class="comment">*</span></div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span><span class="comment">* Global variable: const char *prj_errmsg[] - Status return messages</span></div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span><span class="comment">* ------------------------------------------------------------------</span></div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span><span class="comment">* Error messages to match the status value returned from each function.</span></div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span><span class="comment">*</span></div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span><span class="comment">*===========================================================================*/</span></div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span><span class="preprocessor">#ifndef WCSLIB_PROJ</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span><span class="preprocessor">#define WCSLIB_PROJ</span></div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> </div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> </div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> </div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span><span class="comment">// Total number of projection parameters; 0 to PVN-1.</span></div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"><a class="line" href="prj_8h.html#ac8dfb42cf72db0c4bc690d030f75c662"> 660</a></span><span class="preprocessor">#define PVN 30</span></div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> </div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="prj_8h.html#acb157519ef498bf669298c5508492f3e">prj_errmsg</a>[];</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> </div>
<div class="foldopen" id="foldopen00664" data-start="{" data-end="};">
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305"> 664</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305">prj_errmsg_enum</a> {</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6f3a73d3c0a7dc7d15ceb00e00714bea"> 665</a></span> <a class="code hl_enumvalue" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6f3a73d3c0a7dc7d15ceb00e00714bea">PRJERR_SUCCESS</a> = 0, <span class="comment">// Success.</span></div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a60d6a804ddfa2f2d0f25f397d653695b"> 666</a></span> <a class="code hl_enumvalue" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a60d6a804ddfa2f2d0f25f397d653695b">PRJERR_NULL_POINTER</a> = 1, <span class="comment">// Null prjprm pointer passed.</span></div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6a0f63e2f52f594637a12db14e5814e6"> 667</a></span> <a class="code hl_enumvalue" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6a0f63e2f52f594637a12db14e5814e6">PRJERR_BAD_PARAM</a> = 2, <span class="comment">// Invalid projection parameters.</span></div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305ad33460ba0b865ff7580e6d2cebd92c74"> 668</a></span> <a class="code hl_enumvalue" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305ad33460ba0b865ff7580e6d2cebd92c74">PRJERR_BAD_PIX</a> = 3, <span class="comment">// One or more of the (x, y) coordinates were</span></div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> <span class="comment">// invalid.</span></div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> <a class="code hl_enumvalue" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a0d15cd17822bea2f7fc0209a180cc998">PRJERR_BAD_WORLD</a> = 4 <span class="comment">// One or more of the (phi, theta) coordinates</span></div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> <span class="comment">// were invalid.</span></div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"><a class="line" href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a0d15cd17822bea2f7fc0209a180cc998"> 672</a></span>};</div>
</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> </div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"><a class="line" href="prj_8h.html#ac940da0fb0552876fb40a92f82c9625f"> 674</a></span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="prj_8h.html#adc97181f64d72234b8c6903b22b33df9">CONIC</a>, <a class="code hl_variable" href="prj_8h.html#ac940da0fb0552876fb40a92f82c9625f">CONVENTIONAL</a>, <a class="code hl_variable" href="prj_8h.html#a86e25219d2169702c7db6508750097cf">CYLINDRICAL</a>, <a class="code hl_variable" href="prj_8h.html#aafd25a96ccc5966c04d7732ca482c0c1">POLYCONIC</a>,</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"><a class="line" href="prj_8h.html#a6e2db45f219ba5732ddca43a9fc17408"> 675</a></span> <a class="code hl_variable" href="prj_8h.html#a5a2f80bed69a84464e5654f91ed4fb63">PSEUDOCYLINDRICAL</a>, <a class="code hl_variable" href="prj_8h.html#a749605599f1bf2b883c5c88b6cc9c06b">QUADCUBE</a>, <a class="code hl_variable" href="prj_8h.html#a4b25d630b7590f31fa0aa6d5861c9bfd">ZENITHAL</a>, <a class="code hl_variable" href="prj_8h.html#a6e2db45f219ba5732ddca43a9fc17408">HEALPIX</a>;</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="prj_8h.html#a9bceed17f625eb88a0826871dc8296b5">prj_categories</a>[9][32];</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> </div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="prj_8h.html#a2d30db5685dd1faa18680a0e69bc5854">prj_ncode</a>;</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="prj_8h.html#a5c0dfa6c6a33e8a936386c05d74e7202">prj_codes</a>[28][4];</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> </div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span><span class="preprocessor">#ifdef PRJX2S_ARGS</span></div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span><span class="preprocessor">#undef PRJX2S_ARGS</span></div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> </div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span><span class="preprocessor">#ifdef PRJS2X_ARGS</span></div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span><span class="preprocessor">#undef PRJS2X_ARGS</span></div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> </div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span><span class="comment">// For use in declaring deprojection function prototypes.</span></div>
<div class="foldopen" id="foldopen00690" data-start="" data-end="">
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0"> 690</a></span><span class="preprocessor">#define PRJX2S_ARGS struct prjprm *prj, int nx, int ny, int sxy, int spt, \</span></div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span><span class="preprocessor">const double x[], const double y[], double phi[], double theta[], int stat[]</span></div>
</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> </div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span><span class="comment">// For use in declaring projection function prototypes.</span></div>
<div class="foldopen" id="foldopen00694" data-start="" data-end="">
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"><a class="line" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a"> 694</a></span><span class="preprocessor">#define PRJS2X_ARGS struct prjprm *prj, int nx, int ny, int sxy, int spt, \</span></div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span><span class="preprocessor">const double phi[], const double theta[], double x[], double y[], int stat[]</span></div>
</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span> </div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span> </div>
<div class="foldopen" id="foldopen00698" data-start="{" data-end="};">
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"><a class="line" href="structprjprm.html"> 698</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structprjprm.html">prjprm</a> {</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span> <span class="comment">// Initialization flag (see the prologue above).</span></div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"><a class="line" href="structprjprm.html#ad304d66b3f3aa64fe9c7251d3c420d02"> 701</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#ad304d66b3f3aa64fe9c7251d3c420d02">flag</a>; <span class="comment">// Set to zero to force initialization.</span></div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"> 702</span> </div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span> <span class="comment">// Parameters to be provided (see the prologue above).</span></div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"><a class="line" href="structprjprm.html#a4f3c364f16d0b6498d7e11e6bb67239c"> 705</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structprjprm.html#a4f3c364f16d0b6498d7e11e6bb67239c">code</a>[4]; <span class="comment">// Three-letter projection code.</span></div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"><a class="line" href="structprjprm.html#a3894c2e551929b29adce50cd637fa351"> 706</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structprjprm.html#a3894c2e551929b29adce50cd637fa351">r0</a>; <span class="comment">// Radius of the generating sphere.</span></div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"><a class="line" href="structprjprm.html#a46d6928a9026e7b3376dcf0d3f91db64"> 707</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structprjprm.html#a46d6928a9026e7b3376dcf0d3f91db64">pv</a>[<a class="code hl_define" href="prj_8h.html#ac8dfb42cf72db0c4bc690d030f75c662">PVN</a>]; <span class="comment">// Projection parameters.</span></div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"><a class="line" href="structprjprm.html#a699ad609ff7c1935d8fb6a457a5b8164"> 708</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structprjprm.html#a699ad609ff7c1935d8fb6a457a5b8164">phi0</a>, <a class="code hl_variable" href="structprjprm.html#ae91fa3ff034b1c6de3ec98d8fb9e0ab1">theta0</a>; <span class="comment">// Fiducial native coordinates.</span></div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"><a class="line" href="structprjprm.html#ab8dd3d8b1e462a2b261fc9e304885943"> 709</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#ab8dd3d8b1e462a2b261fc9e304885943">bounds</a>; <span class="comment">// Controls bounds checking.</span></div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> </div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span> <span class="comment">// Information derived from the parameters supplied.</span></div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"><a class="line" href="structprjprm.html#ab165b11d417700de0a4187f133050a2b"> 713</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structprjprm.html#ab165b11d417700de0a4187f133050a2b">name</a>[40]; <span class="comment">// Projection name.</span></div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"><a class="line" href="structprjprm.html#af0fcebbc8155f0b1ee868e64a2ed9ac3"> 714</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#af0fcebbc8155f0b1ee868e64a2ed9ac3">category</a>; <span class="comment">// Projection category.</span></div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"><a class="line" href="structprjprm.html#abcd2a3ee9f61b930d23bf741cea63bf3"> 715</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#abcd2a3ee9f61b930d23bf741cea63bf3">pvrange</a>; <span class="comment">// Range of projection parameter indices.</span></div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"><a class="line" href="structprjprm.html#afecdd175932cbf29fcfac575b1a5cb9b"> 716</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#afecdd175932cbf29fcfac575b1a5cb9b">simplezen</a>; <span class="comment">// Is it a simple zenithal projection?</span></div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"><a class="line" href="structprjprm.html#ab3e207e26d1c9db06cedba2cf4460340"> 717</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#ab3e207e26d1c9db06cedba2cf4460340">equiareal</a>; <span class="comment">// Is it an equal area projection?</span></div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="structprjprm.html#ad7a41e3d03cb739c2a9aa1f8aabf54f9"> 718</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#ad7a41e3d03cb739c2a9aa1f8aabf54f9">conformal</a>; <span class="comment">// Is it a conformal projection?</span></div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"><a class="line" href="structprjprm.html#ae634b0747fe55f77e65b6909c94227d9"> 719</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#ae634b0747fe55f77e65b6909c94227d9">global</a>; <span class="comment">// Can it map the whole sphere?</span></div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"><a class="line" href="structprjprm.html#a62e88bd3c9e02f38193a800035b83918"> 720</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#a62e88bd3c9e02f38193a800035b83918">divergent</a>; <span class="comment">// Does the projection diverge in latitude?</span></div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"><a class="line" href="structprjprm.html#aae2c61d85c72e87f4b2b77a14c8eb316"> 721</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structprjprm.html#aae2c61d85c72e87f4b2b77a14c8eb316">x0</a>, <a class="code hl_variable" href="structprjprm.html#a164706f09314c493c7e9d2c7325f8372">y0</a>; <span class="comment">// Fiducial offsets.</span></div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span> </div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> <span class="comment">// Error handling</span></div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"><a class="line" href="structprjprm.html#a30e78bb110dc7a8ad0303370ce20762c"> 725</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structwcserr.html">wcserr</a> *<a class="code hl_variable" href="structprjprm.html#a30e78bb110dc7a8ad0303370ce20762c">err</a>;</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span> </div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span> <span class="comment">// Private</span></div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"><a class="line" href="structprjprm.html#a75cda8ae364a914f64e119ba859c8372"> 729</a></span> <span class="keywordtype">void</span> *<a class="code hl_variable" href="structprjprm.html#a75cda8ae364a914f64e119ba859c8372">padding</a>; <span class="comment">// (Dummy inserted for alignment purposes.)</span></div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"><a class="line" href="structprjprm.html#a3b40a2df3b436c4ffcf5be6814993278"> 730</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structprjprm.html#a3b40a2df3b436c4ffcf5be6814993278">w</a>[10]; <span class="comment">// Intermediate values.</span></div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"><a class="line" href="structprjprm.html#afb805c40a4d37c195074c1305874d615"> 731</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structprjprm.html#afb805c40a4d37c195074c1305874d615">m</a>, <a class="code hl_variable" href="structprjprm.html#aab36c6218a33025ac4c5025de7c67d42">n</a>; <span class="comment">// Intermediate values.</span></div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> </div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"><a class="line" href="structprjprm.html#aeef644ffeafea16e82b2b995a470a345"> 733</a></span> int (*<a class="code hl_variable" href="structprjprm.html#aeef644ffeafea16e82b2b995a470a345">prjx2s</a>)(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>); <span class="comment">// Pointers to the spherical projection and</span></div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"><a class="line" href="structprjprm.html#ae699a5fb02198777343057972e1452d0"> 734</a></span> int (*<a class="code hl_variable" href="structprjprm.html#ae699a5fb02198777343057972e1452d0">prjs2x</a>)(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>); <span class="comment">// deprojection functions.</span></div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span>};</div>
</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> </div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span><span class="comment">// Size of the prjprm struct in int units, used by the Fortran wrappers.</span></div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"><a class="line" href="prj_8h.html#a2cdabd9dfe78fe18b9e6597881d8ed92"> 738</a></span><span class="preprocessor">#define PRJLEN (sizeof(struct prjprm)/sizeof(int))</span></div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> </div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> </div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"><a class="line" href="prj_8h.html#ad994cb23871c51b20754973bef180f8a"> 741</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ad994cb23871c51b20754973bef180f8a">prjini</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> </div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"><a class="line" href="prj_8h.html#a50db1538981df162709b81be0b2961ab"> 743</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a50db1538981df162709b81be0b2961ab">prjfree</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> </div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"><a class="line" href="prj_8h.html#af096bf8f9a1f4e5075117ce9d77f4d1e"> 745</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#af096bf8f9a1f4e5075117ce9d77f4d1e">prjsize</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj, <span class="keywordtype">int</span> sizes[2]);</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> </div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"><a class="line" href="prj_8h.html#a8785bdf33bdaa3d9d52fd51b621ec8d5"> 747</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a8785bdf33bdaa3d9d52fd51b621ec8d5">prjprt</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> </div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"><a class="line" href="prj_8h.html#a60c7f872636d0abd6b0737107b20f2bb"> 749</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a60c7f872636d0abd6b0737107b20f2bb">prjperr</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj, <span class="keyword">const</span> <span class="keywordtype">char</span> *prefix);</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> </div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"><a class="line" href="prj_8h.html#a7b8c7d246d49aa143a133262dc4f96be"> 751</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a7b8c7d246d49aa143a133262dc4f96be">prjbchk</a>(<span class="keywordtype">double</span> tol, <span class="keywordtype">int</span> nphi, <span class="keywordtype">int</span> ntheta, <span class="keywordtype">int</span> spt, <span class="keywordtype">double</span> phi[],</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">double</span> theta[], <span class="keywordtype">int</span> stat[]);</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> </div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span><span class="comment">// Use the preprocessor to help declare function prototypes (see above).</span></div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"><a class="line" href="prj_8h.html#ad43dbc765c63162d0af2b9285b8a434f"> 755</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ad43dbc765c63162d0af2b9285b8a434f">prjset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"><a class="line" href="prj_8h.html#a9a387f05414e7b59487fdcb03ff79ced"> 756</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a9a387f05414e7b59487fdcb03ff79ced">prjx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"><a class="line" href="prj_8h.html#abe28216295d9e7ad7dbb01bf5985df9f"> 757</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#abe28216295d9e7ad7dbb01bf5985df9f">prjs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span> </div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"><a class="line" href="prj_8h.html#abf6696d3455c684cb44d06da7885ce94"> 759</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#abf6696d3455c684cb44d06da7885ce94">azpset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"><a class="line" href="prj_8h.html#a8ebb4c79b635cef463b4e7242ff23c25"> 760</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a8ebb4c79b635cef463b4e7242ff23c25">azpx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"><a class="line" href="prj_8h.html#abc26dfb2d0b0bee71f6e4541977d237f"> 761</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#abc26dfb2d0b0bee71f6e4541977d237f">azps2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> </div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"><a class="line" href="prj_8h.html#afaafab5c440384667d7af444b7aca750"> 763</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afaafab5c440384667d7af444b7aca750">szpset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"><a class="line" href="prj_8h.html#a2fe67a5ecf17729881efa24c83482611"> 764</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a2fe67a5ecf17729881efa24c83482611">szpx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"><a class="line" href="prj_8h.html#a70b750ec65eb4a277057200c7fbb251f"> 765</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a70b750ec65eb4a277057200c7fbb251f">szps2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span> </div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"><a class="line" href="prj_8h.html#a34d303d7ae44a6aca43c1a81bfaac10f"> 767</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a34d303d7ae44a6aca43c1a81bfaac10f">tanset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"><a class="line" href="prj_8h.html#acd4f54c072b6219242daeb6d4b9a74cb"> 768</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#acd4f54c072b6219242daeb6d4b9a74cb">tanx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"><a class="line" href="prj_8h.html#a9d3358bed907342e3309e54bd2ab89da"> 769</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a9d3358bed907342e3309e54bd2ab89da">tans2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> </div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"><a class="line" href="prj_8h.html#a66b51f10624b6c17a84b5b54058dd72b"> 771</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a66b51f10624b6c17a84b5b54058dd72b">stgset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"><a class="line" href="prj_8h.html#a88c15d0b6f789cbbd7c5d323ef131360"> 772</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a88c15d0b6f789cbbd7c5d323ef131360">stgx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"><a class="line" href="prj_8h.html#ab46a0a668f28939626287d048153863f"> 773</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ab46a0a668f28939626287d048153863f">stgs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> </div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"><a class="line" href="prj_8h.html#ab6ce2bb75a87b1679d05f251227d2f1b"> 775</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ab6ce2bb75a87b1679d05f251227d2f1b">sinset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"><a class="line" href="prj_8h.html#aeb7881cd5d7b4b5e26281a512b8f62ac"> 776</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aeb7881cd5d7b4b5e26281a512b8f62ac">sinx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"><a class="line" href="prj_8h.html#abdf8c6c3ef615a01ebf8822e013d6a63"> 777</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#abdf8c6c3ef615a01ebf8822e013d6a63">sins2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> </div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"><a class="line" href="prj_8h.html#ac038f2474d5d58de157554cee74a9735"> 779</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ac038f2474d5d58de157554cee74a9735">arcset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"><a class="line" href="prj_8h.html#a666322bfe8c4b8e73f00afeb47283f97"> 780</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a666322bfe8c4b8e73f00afeb47283f97">arcx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"><a class="line" href="prj_8h.html#aaba5ce89ae711728d8ba8105ac5fd599"> 781</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aaba5ce89ae711728d8ba8105ac5fd599">arcs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> </div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"><a class="line" href="prj_8h.html#ac983c5a393c5b3f1041f07b2eb95a3a5"> 783</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ac983c5a393c5b3f1041f07b2eb95a3a5">zpnset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"><a class="line" href="prj_8h.html#a574e44daea81568a6d5e324a6f339d6f"> 784</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a574e44daea81568a6d5e324a6f339d6f">zpnx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"><a class="line" href="prj_8h.html#a7b60d7992bf9c671cb4191f0ec2e0c90"> 785</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a7b60d7992bf9c671cb4191f0ec2e0c90">zpns2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> </div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"><a class="line" href="prj_8h.html#a3229533df20718c0d5671cc9eb5316fe"> 787</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a3229533df20718c0d5671cc9eb5316fe">zeaset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"><a class="line" href="prj_8h.html#a849a1bbd679d0c193e8be96a8b9ed534"> 788</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a849a1bbd679d0c193e8be96a8b9ed534">zeax2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"><a class="line" href="prj_8h.html#adc4da028cde2d970e9e5e22adca22f37"> 789</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#adc4da028cde2d970e9e5e22adca22f37">zeas2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> </div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"><a class="line" href="prj_8h.html#a025adf8a63b5d4a8d2a4de804e0707be"> 791</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a025adf8a63b5d4a8d2a4de804e0707be">airset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"><a class="line" href="prj_8h.html#a2c87fbf68277f03051d3eaae3db785e9"> 792</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a2c87fbf68277f03051d3eaae3db785e9">airx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"><a class="line" href="prj_8h.html#a75b6b1cb0a748e9b5d3a4cd31129ace6"> 793</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a75b6b1cb0a748e9b5d3a4cd31129ace6">airs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> </div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"><a class="line" href="prj_8h.html#a36cf447dee9f2e90e42d43d7adc5a0a1"> 795</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a36cf447dee9f2e90e42d43d7adc5a0a1">cypset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"><a class="line" href="prj_8h.html#affdbf993ce959fce2c148c07cd0f2c0c"> 796</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#affdbf993ce959fce2c148c07cd0f2c0c">cypx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"><a class="line" href="prj_8h.html#a13e0f81e1fd4bdc46847ab4c634ad346"> 797</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a13e0f81e1fd4bdc46847ab4c634ad346">cyps2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> </div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"><a class="line" href="prj_8h.html#a68ce41ad199c3385bed7e7d4ded2bd8a"> 799</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a68ce41ad199c3385bed7e7d4ded2bd8a">ceaset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"><a class="line" href="prj_8h.html#aff09e87b2246bdec83f6a7bb1bc0f471"> 800</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aff09e87b2246bdec83f6a7bb1bc0f471">ceax2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"><a class="line" href="prj_8h.html#a28ddb923a52cb597ca9c7dd03ceeb4fe"> 801</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a28ddb923a52cb597ca9c7dd03ceeb4fe">ceas2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> </div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"><a class="line" href="prj_8h.html#a36ccae7b426311614a4e80432a2b62c3"> 803</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a36ccae7b426311614a4e80432a2b62c3">carset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"><a class="line" href="prj_8h.html#af363383621fb2b72243c1d6b894874d5"> 804</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#af363383621fb2b72243c1d6b894874d5">carx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"><a class="line" href="prj_8h.html#ab4325a957786611772b90e7a080327f3"> 805</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ab4325a957786611772b90e7a080327f3">cars2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> </div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"><a class="line" href="prj_8h.html#acf989261fd56f1e8b4eb8941ec2c754f"> 807</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#acf989261fd56f1e8b4eb8941ec2c754f">merset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"><a class="line" href="prj_8h.html#a5380727f9aeff5aa57f8545d6b54a8f8"> 808</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a5380727f9aeff5aa57f8545d6b54a8f8">merx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"><a class="line" href="prj_8h.html#ad9a80b98c04b0e06d08fd84bacc58b27"> 809</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ad9a80b98c04b0e06d08fd84bacc58b27">mers2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> </div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"><a class="line" href="prj_8h.html#a7c719c0387d23c53b0ceb3ee161de66a"> 811</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a7c719c0387d23c53b0ceb3ee161de66a">sflset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"><a class="line" href="prj_8h.html#a310444979f8f0e62db2bcbe39b0e3d35"> 812</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a310444979f8f0e62db2bcbe39b0e3d35">sflx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"><a class="line" href="prj_8h.html#a5517fccc15882e298ac9433f44d1ae4c"> 813</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a5517fccc15882e298ac9433f44d1ae4c">sfls2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> </div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"><a class="line" href="prj_8h.html#ad2a2b56c0900516dd24eebf430bcb29c"> 815</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ad2a2b56c0900516dd24eebf430bcb29c">parset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"><a class="line" href="prj_8h.html#a17be11269d86b3308fd925949877718e"> 816</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a17be11269d86b3308fd925949877718e">parx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"><a class="line" href="prj_8h.html#aeb5951ec54b929d16ab464939a37d74f"> 817</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aeb5951ec54b929d16ab464939a37d74f">pars2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> </div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"><a class="line" href="prj_8h.html#a151140d870ed4f490317938bd6260a6a"> 819</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a151140d870ed4f490317938bd6260a6a">molset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"><a class="line" href="prj_8h.html#a853c1df5e8327d83e9cfdde9455355f5"> 820</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a853c1df5e8327d83e9cfdde9455355f5">molx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"><a class="line" href="prj_8h.html#a6f3cbaaf367984579aad5ec7eb00f397"> 821</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a6f3cbaaf367984579aad5ec7eb00f397">mols2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> </div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"><a class="line" href="prj_8h.html#a33f92621800eb880b75611c439526d19"> 823</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a33f92621800eb880b75611c439526d19">aitset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"><a class="line" href="prj_8h.html#a2da3bbd3c42c6ad324117cc5f249a834"> 824</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a2da3bbd3c42c6ad324117cc5f249a834">aitx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"><a class="line" href="prj_8h.html#a8cca776751549082521a72a743d6b937"> 825</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a8cca776751549082521a72a743d6b937">aits2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> </div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"><a class="line" href="prj_8h.html#ac2f3bc42ac6e7d458364ebcf2b35814f"> 827</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ac2f3bc42ac6e7d458364ebcf2b35814f">copset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"><a class="line" href="prj_8h.html#a588e9a86fc4dcd1195f867f718ce5429"> 828</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a588e9a86fc4dcd1195f867f718ce5429">copx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"><a class="line" href="prj_8h.html#a77283589634cc9a054f3a7c7fc91d38d"> 829</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a77283589634cc9a054f3a7c7fc91d38d">cops2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> </div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"><a class="line" href="prj_8h.html#ab1264f0201113c1a8e931ad9a7630e2f"> 831</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ab1264f0201113c1a8e931ad9a7630e2f">coeset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"><a class="line" href="prj_8h.html#ad70968320728202aa12048162248d368"> 832</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ad70968320728202aa12048162248d368">coex2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"><a class="line" href="prj_8h.html#afa8d27e481bbfffacd3e671e6715d5cb"> 833</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afa8d27e481bbfffacd3e671e6715d5cb">coes2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> </div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"><a class="line" href="prj_8h.html#afbf5f05496f1e018425e02d60a4e0b74"> 835</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afbf5f05496f1e018425e02d60a4e0b74">codset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"><a class="line" href="prj_8h.html#a105e2bf177120eb34f41e6af768f855d"> 836</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a105e2bf177120eb34f41e6af768f855d">codx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"><a class="line" href="prj_8h.html#afedc43dc512008174ec9b87753519031"> 837</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afedc43dc512008174ec9b87753519031">cods2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> </div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"><a class="line" href="prj_8h.html#a344308a1d96a93f9bc682141f3df1a14"> 839</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a344308a1d96a93f9bc682141f3df1a14">cooset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"><a class="line" href="prj_8h.html#a2f42dcec4ea56bbb25b563859228b02e"> 840</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a2f42dcec4ea56bbb25b563859228b02e">coox2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"><a class="line" href="prj_8h.html#aed0317c8ffef248346da897568df266c"> 841</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aed0317c8ffef248346da897568df266c">coos2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> </div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"><a class="line" href="prj_8h.html#aaec02a8e47d68e126983e9bb07a0c0aa"> 843</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aaec02a8e47d68e126983e9bb07a0c0aa">bonset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"><a class="line" href="prj_8h.html#a53315ef8d3bd4002d1e98142fcf62566"> 844</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a53315ef8d3bd4002d1e98142fcf62566">bonx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"><a class="line" href="prj_8h.html#a3b4cda48838c613460bff00c76fceb44"> 845</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a3b4cda48838c613460bff00c76fceb44">bons2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> </div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"><a class="line" href="prj_8h.html#aabdc7abc8b7c80187770cfd12c63f700"> 847</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aabdc7abc8b7c80187770cfd12c63f700">pcoset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"><a class="line" href="prj_8h.html#a28b623c88d38ab711fc61f36a97d0b27"> 848</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a28b623c88d38ab711fc61f36a97d0b27">pcox2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"><a class="line" href="prj_8h.html#a1f1714691f99f11640dccdc74eadfb49"> 849</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a1f1714691f99f11640dccdc74eadfb49">pcos2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> </div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"><a class="line" href="prj_8h.html#aad75dcd0cd2fd0b6a162b5587cba9c2d"> 851</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aad75dcd0cd2fd0b6a162b5587cba9c2d">tscset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"><a class="line" href="prj_8h.html#abbfbf3cba73850d7608765725993dfe3"> 852</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#abbfbf3cba73850d7608765725993dfe3">tscx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"><a class="line" href="prj_8h.html#a167a49d730bca43483aef311f7114ae4"> 853</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a167a49d730bca43483aef311f7114ae4">tscs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"><a class="line" href="prj_8h.html#a8bc552f12260f944e0b8f9b714804983"> 855</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a8bc552f12260f944e0b8f9b714804983">cscset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"><a class="line" href="prj_8h.html#afcefcb885b7d1c33e0458345cdc9f4a4"> 856</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afcefcb885b7d1c33e0458345cdc9f4a4">cscx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"><a class="line" href="prj_8h.html#ac9a7ed6b032cfdaba0e8caba17c6c149"> 857</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#ac9a7ed6b032cfdaba0e8caba17c6c149">cscs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> </div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"><a class="line" href="prj_8h.html#a6d1f0504f9b864d4aed4a59d60bab819"> 859</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a6d1f0504f9b864d4aed4a59d60bab819">qscset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"><a class="line" href="prj_8h.html#afc5276e759c799deea36271d9cafc5e9"> 860</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afc5276e759c799deea36271d9cafc5e9">qscx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"><a class="line" href="prj_8h.html#a847b7c3f5b7361596912d3d876b4f4fe"> 861</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a847b7c3f5b7361596912d3d876b4f4fe">qscs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> </div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"><a class="line" href="prj_8h.html#aa2167e62576d36eae341c2583cb5d678"> 863</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#aa2167e62576d36eae341c2583cb5d678">hpxset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"><a class="line" href="prj_8h.html#a4ff298fcdc6e7e23dfb4971fbd26ebe7"> 864</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a4ff298fcdc6e7e23dfb4971fbd26ebe7">hpxx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"><a class="line" href="prj_8h.html#af44375ad9036898dd6d12d2cc58bf53b"> 865</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#af44375ad9036898dd6d12d2cc58bf53b">hpxs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> </div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"><a class="line" href="prj_8h.html#afe3968d54673ee2d843005ad2f2276b5"> 867</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#afe3968d54673ee2d843005ad2f2276b5">xphset</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structprjprm.html">prjprm</a> *prj);</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"><a class="line" href="prj_8h.html#a6a15da57b1ebff4daea8728b0d064f23"> 868</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a6a15da57b1ebff4daea8728b0d064f23">xphx2s</a>(<a class="code hl_define" href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a>);</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"><a class="line" href="prj_8h.html#a6c92f19ce9244009f4ae9517bd4f68b4"> 869</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="prj_8h.html#a6c92f19ce9244009f4ae9517bd4f68b4">xphs2x</a>(<a class="code hl_define" href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a>);</div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> </div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span><span class="comment">// Deprecated.</span></div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"><a class="line" href="prj_8h.html#a7f080405538ea2ddd2882c991e25bd2f"> 873</a></span><span class="preprocessor">#define prjini_errmsg prj_errmsg</span></div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"><a class="line" href="prj_8h.html#af862254dceec64a987fdaabc40e4963d"> 874</a></span><span class="preprocessor">#define prjprt_errmsg prj_errmsg</span></div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"><a class="line" href="prj_8h.html#a94f59295c312536ce66482b3d9bebec4"> 875</a></span><span class="preprocessor">#define prjset_errmsg prj_errmsg</span></div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"><a class="line" href="prj_8h.html#a3672afec3db0f850d67404814ebdbc64"> 876</a></span><span class="preprocessor">#define prjx2s_errmsg prj_errmsg</span></div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"><a class="line" href="prj_8h.html#adf9cca0265038851129d1966017cd525"> 877</a></span><span class="preprocessor">#define prjs2x_errmsg prj_errmsg</span></div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> </div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span>}</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> </div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span><span class="preprocessor">#endif </span><span class="comment">// WCSLIB_PROJ</span></div>
<div class="ttc" id="aprj_8h_html_a025adf8a63b5d4a8d2a4de804e0707be"><div class="ttname"><a href="prj_8h.html#a025adf8a63b5d4a8d2a4de804e0707be">airset</a></div><div class="ttdeci">int airset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for Airy's (AIR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a105e2bf177120eb34f41e6af768f855d"><div class="ttname"><a href="prj_8h.html#a105e2bf177120eb34f41e6af768f855d">codx2s</a></div><div class="ttdeci">int codx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the conic equidistant (COD) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a13e0f81e1fd4bdc46847ab4c634ad346"><div class="ttname"><a href="prj_8h.html#a13e0f81e1fd4bdc46847ab4c634ad346">cyps2x</a></div><div class="ttdeci">int cyps2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the cylindrical perspective (CYP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a151140d870ed4f490317938bd6260a6a"><div class="ttname"><a href="prj_8h.html#a151140d870ed4f490317938bd6260a6a">molset</a></div><div class="ttdeci">int molset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for Mollweide's (MOL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a167a49d730bca43483aef311f7114ae4"><div class="ttname"><a href="prj_8h.html#a167a49d730bca43483aef311f7114ae4">tscs2x</a></div><div class="ttdeci">int tscs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the tangential spherical cube (TSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a17be11269d86b3308fd925949877718e"><div class="ttname"><a href="prj_8h.html#a17be11269d86b3308fd925949877718e">parx2s</a></div><div class="ttdeci">int parx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the parabolic (PAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a1f1714691f99f11640dccdc74eadfb49"><div class="ttname"><a href="prj_8h.html#a1f1714691f99f11640dccdc74eadfb49">pcos2x</a></div><div class="ttdeci">int pcos2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the polyconic (PCO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a28b623c88d38ab711fc61f36a97d0b27"><div class="ttname"><a href="prj_8h.html#a28b623c88d38ab711fc61f36a97d0b27">pcox2s</a></div><div class="ttdeci">int pcox2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the polyconic (PCO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a28ddb923a52cb597ca9c7dd03ceeb4fe"><div class="ttname"><a href="prj_8h.html#a28ddb923a52cb597ca9c7dd03ceeb4fe">ceas2x</a></div><div class="ttdeci">int ceas2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the cylindrical equal area (CEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305">prj_errmsg_enum</a></div><div class="ttdeci">prj_errmsg_enum</div><div class="ttdef"><b>Definition</b> prj.h:664</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305a0d15cd17822bea2f7fc0209a180cc998"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a0d15cd17822bea2f7fc0209a180cc998">PRJERR_BAD_WORLD</a></div><div class="ttdeci">@ PRJERR_BAD_WORLD</div><div class="ttdef"><b>Definition</b> prj.h:670</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305a60d6a804ddfa2f2d0f25f397d653695b"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a60d6a804ddfa2f2d0f25f397d653695b">PRJERR_NULL_POINTER</a></div><div class="ttdeci">@ PRJERR_NULL_POINTER</div><div class="ttdef"><b>Definition</b> prj.h:666</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305a6a0f63e2f52f594637a12db14e5814e6"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6a0f63e2f52f594637a12db14e5814e6">PRJERR_BAD_PARAM</a></div><div class="ttdeci">@ PRJERR_BAD_PARAM</div><div class="ttdef"><b>Definition</b> prj.h:667</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305a6f3a73d3c0a7dc7d15ceb00e00714bea"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305a6f3a73d3c0a7dc7d15ceb00e00714bea">PRJERR_SUCCESS</a></div><div class="ttdeci">@ PRJERR_SUCCESS</div><div class="ttdef"><b>Definition</b> prj.h:665</div></div>
<div class="ttc" id="aprj_8h_html_a2ac22403e59a9e8d2b2f53f6d0574305ad33460ba0b865ff7580e6d2cebd92c74"><div class="ttname"><a href="prj_8h.html#a2ac22403e59a9e8d2b2f53f6d0574305ad33460ba0b865ff7580e6d2cebd92c74">PRJERR_BAD_PIX</a></div><div class="ttdeci">@ PRJERR_BAD_PIX</div><div class="ttdef"><b>Definition</b> prj.h:668</div></div>
<div class="ttc" id="aprj_8h_html_a2c87fbf68277f03051d3eaae3db785e9"><div class="ttname"><a href="prj_8h.html#a2c87fbf68277f03051d3eaae3db785e9">airx2s</a></div><div class="ttdeci">int airx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for Airy's (AIR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a2d30db5685dd1faa18680a0e69bc5854"><div class="ttname"><a href="prj_8h.html#a2d30db5685dd1faa18680a0e69bc5854">prj_ncode</a></div><div class="ttdeci">const int prj_ncode</div><div class="ttdoc">The number of recognized three-letter projection codes.</div></div>
<div class="ttc" id="aprj_8h_html_a2da3bbd3c42c6ad324117cc5f249a834"><div class="ttname"><a href="prj_8h.html#a2da3bbd3c42c6ad324117cc5f249a834">aitx2s</a></div><div class="ttdeci">int aitx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the Hammer-Aitoff (AIT) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a2f42dcec4ea56bbb25b563859228b02e"><div class="ttname"><a href="prj_8h.html#a2f42dcec4ea56bbb25b563859228b02e">coox2s</a></div><div class="ttdeci">int coox2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the conic orthomorphic (COO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a2fe67a5ecf17729881efa24c83482611"><div class="ttname"><a href="prj_8h.html#a2fe67a5ecf17729881efa24c83482611">szpx2s</a></div><div class="ttdeci">int szpx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the slant zenithal perspective (SZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a310444979f8f0e62db2bcbe39b0e3d35"><div class="ttname"><a href="prj_8h.html#a310444979f8f0e62db2bcbe39b0e3d35">sflx2s</a></div><div class="ttdeci">int sflx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the Sanson-Flamsteed (SFL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a3229533df20718c0d5671cc9eb5316fe"><div class="ttname"><a href="prj_8h.html#a3229533df20718c0d5671cc9eb5316fe">zeaset</a></div><div class="ttdeci">int zeaset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the zenithal/azimuthal equal area (ZEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a33f92621800eb880b75611c439526d19"><div class="ttname"><a href="prj_8h.html#a33f92621800eb880b75611c439526d19">aitset</a></div><div class="ttdeci">int aitset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the Hammer-Aitoff (AIT) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a344308a1d96a93f9bc682141f3df1a14"><div class="ttname"><a href="prj_8h.html#a344308a1d96a93f9bc682141f3df1a14">cooset</a></div><div class="ttdeci">int cooset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the conic orthomorphic (COO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a34d303d7ae44a6aca43c1a81bfaac10f"><div class="ttname"><a href="prj_8h.html#a34d303d7ae44a6aca43c1a81bfaac10f">tanset</a></div><div class="ttdeci">int tanset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the gnomonic (TAN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a36ccae7b426311614a4e80432a2b62c3"><div class="ttname"><a href="prj_8h.html#a36ccae7b426311614a4e80432a2b62c3">carset</a></div><div class="ttdeci">int carset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the plate carrée (CAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a36cf447dee9f2e90e42d43d7adc5a0a1"><div class="ttname"><a href="prj_8h.html#a36cf447dee9f2e90e42d43d7adc5a0a1">cypset</a></div><div class="ttdeci">int cypset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the cylindrical perspective (CYP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a37ad31c5d2926862d211db0d14f401f0"><div class="ttname"><a href="prj_8h.html#a37ad31c5d2926862d211db0d14f401f0">PRJX2S_ARGS</a></div><div class="ttdeci">#define PRJX2S_ARGS</div><div class="ttdoc">For use in declaring deprojection function prototypes.</div><div class="ttdef"><b>Definition</b> prj.h:690</div></div>
<div class="ttc" id="aprj_8h_html_a3b4cda48838c613460bff00c76fceb44"><div class="ttname"><a href="prj_8h.html#a3b4cda48838c613460bff00c76fceb44">bons2x</a></div><div class="ttdeci">int bons2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for Bonne's (BON) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a4b25d630b7590f31fa0aa6d5861c9bfd"><div class="ttname"><a href="prj_8h.html#a4b25d630b7590f31fa0aa6d5861c9bfd">ZENITHAL</a></div><div class="ttdeci">const int ZENITHAL</div><div class="ttdoc">Identifier for zenithal/azimuthal projections.</div><div class="ttdef"><b>Definition</b> prj.h:675</div></div>
<div class="ttc" id="aprj_8h_html_a4ff298fcdc6e7e23dfb4971fbd26ebe7"><div class="ttname"><a href="prj_8h.html#a4ff298fcdc6e7e23dfb4971fbd26ebe7">hpxx2s</a></div><div class="ttdeci">int hpxx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the HEALPix (HPX) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a50db1538981df162709b81be0b2961ab"><div class="ttname"><a href="prj_8h.html#a50db1538981df162709b81be0b2961ab">prjfree</a></div><div class="ttdeci">int prjfree(struct prjprm *prj)</div><div class="ttdoc">Destructor for the prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_a53315ef8d3bd4002d1e98142fcf62566"><div class="ttname"><a href="prj_8h.html#a53315ef8d3bd4002d1e98142fcf62566">bonx2s</a></div><div class="ttdeci">int bonx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for Bonne's (BON) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a5380727f9aeff5aa57f8545d6b54a8f8"><div class="ttname"><a href="prj_8h.html#a5380727f9aeff5aa57f8545d6b54a8f8">merx2s</a></div><div class="ttdeci">int merx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for Mercator's (MER) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a5517fccc15882e298ac9433f44d1ae4c"><div class="ttname"><a href="prj_8h.html#a5517fccc15882e298ac9433f44d1ae4c">sfls2x</a></div><div class="ttdeci">int sfls2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the Sanson-Flamsteed (SFL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a574e44daea81568a6d5e324a6f339d6f"><div class="ttname"><a href="prj_8h.html#a574e44daea81568a6d5e324a6f339d6f">zpnx2s</a></div><div class="ttdeci">int zpnx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the zenithal/azimuthal polynomial (ZPN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a588e9a86fc4dcd1195f867f718ce5429"><div class="ttname"><a href="prj_8h.html#a588e9a86fc4dcd1195f867f718ce5429">copx2s</a></div><div class="ttdeci">int copx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the conic perspective (COP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a5a2f80bed69a84464e5654f91ed4fb63"><div class="ttname"><a href="prj_8h.html#a5a2f80bed69a84464e5654f91ed4fb63">PSEUDOCYLINDRICAL</a></div><div class="ttdeci">const int PSEUDOCYLINDRICAL</div><div class="ttdoc">Identifier for pseudocylindrical projections.</div><div class="ttdef"><b>Definition</b> prj.h:675</div></div>
<div class="ttc" id="aprj_8h_html_a5c0dfa6c6a33e8a936386c05d74e7202"><div class="ttname"><a href="prj_8h.html#a5c0dfa6c6a33e8a936386c05d74e7202">prj_codes</a></div><div class="ttdeci">const char prj_codes[28][4]</div><div class="ttdoc">Recognized three-letter projection codes.</div></div>
<div class="ttc" id="aprj_8h_html_a60c7f872636d0abd6b0737107b20f2bb"><div class="ttname"><a href="prj_8h.html#a60c7f872636d0abd6b0737107b20f2bb">prjperr</a></div><div class="ttdeci">int prjperr(const struct prjprm *prj, const char *prefix)</div><div class="ttdoc">Print error messages from a prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_a666322bfe8c4b8e73f00afeb47283f97"><div class="ttname"><a href="prj_8h.html#a666322bfe8c4b8e73f00afeb47283f97">arcx2s</a></div><div class="ttdeci">int arcx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the zenithal/azimuthal equidistant (ARC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a66b51f10624b6c17a84b5b54058dd72b"><div class="ttname"><a href="prj_8h.html#a66b51f10624b6c17a84b5b54058dd72b">stgset</a></div><div class="ttdeci">int stgset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the stereographic (STG) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a68ce41ad199c3385bed7e7d4ded2bd8a"><div class="ttname"><a href="prj_8h.html#a68ce41ad199c3385bed7e7d4ded2bd8a">ceaset</a></div><div class="ttdeci">int ceaset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the cylindrical equal area (CEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a6a15da57b1ebff4daea8728b0d064f23"><div class="ttname"><a href="prj_8h.html#a6a15da57b1ebff4daea8728b0d064f23">xphx2s</a></div><div class="ttdeci">int xphx2s(PRJX2S_ARGS)</div></div>
<div class="ttc" id="aprj_8h_html_a6c92f19ce9244009f4ae9517bd4f68b4"><div class="ttname"><a href="prj_8h.html#a6c92f19ce9244009f4ae9517bd4f68b4">xphs2x</a></div><div class="ttdeci">int xphs2x(PRJS2X_ARGS)</div></div>
<div class="ttc" id="aprj_8h_html_a6d1f0504f9b864d4aed4a59d60bab819"><div class="ttname"><a href="prj_8h.html#a6d1f0504f9b864d4aed4a59d60bab819">qscset</a></div><div class="ttdeci">int qscset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the quadrilateralized spherical cube (QSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a6e2db45f219ba5732ddca43a9fc17408"><div class="ttname"><a href="prj_8h.html#a6e2db45f219ba5732ddca43a9fc17408">HEALPIX</a></div><div class="ttdeci">const int HEALPIX</div><div class="ttdoc">Identifier for the HEALPix projection.</div><div class="ttdef"><b>Definition</b> prj.h:675</div></div>
<div class="ttc" id="aprj_8h_html_a6f3cbaaf367984579aad5ec7eb00f397"><div class="ttname"><a href="prj_8h.html#a6f3cbaaf367984579aad5ec7eb00f397">mols2x</a></div><div class="ttdeci">int mols2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for Mollweide's (MOL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a70b750ec65eb4a277057200c7fbb251f"><div class="ttname"><a href="prj_8h.html#a70b750ec65eb4a277057200c7fbb251f">szps2x</a></div><div class="ttdeci">int szps2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the slant zenithal perspective (SZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a749605599f1bf2b883c5c88b6cc9c06b"><div class="ttname"><a href="prj_8h.html#a749605599f1bf2b883c5c88b6cc9c06b">QUADCUBE</a></div><div class="ttdeci">const int QUADCUBE</div><div class="ttdoc">Identifier for quadcube projections.</div><div class="ttdef"><b>Definition</b> prj.h:675</div></div>
<div class="ttc" id="aprj_8h_html_a75b6b1cb0a748e9b5d3a4cd31129ace6"><div class="ttname"><a href="prj_8h.html#a75b6b1cb0a748e9b5d3a4cd31129ace6">airs2x</a></div><div class="ttdeci">int airs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for Airy's (AIR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a77283589634cc9a054f3a7c7fc91d38d"><div class="ttname"><a href="prj_8h.html#a77283589634cc9a054f3a7c7fc91d38d">cops2x</a></div><div class="ttdeci">int cops2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the conic perspective (COP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a7b60d7992bf9c671cb4191f0ec2e0c90"><div class="ttname"><a href="prj_8h.html#a7b60d7992bf9c671cb4191f0ec2e0c90">zpns2x</a></div><div class="ttdeci">int zpns2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the zenithal/azimuthal polynomial (ZPN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a7b8c7d246d49aa143a133262dc4f96be"><div class="ttname"><a href="prj_8h.html#a7b8c7d246d49aa143a133262dc4f96be">prjbchk</a></div><div class="ttdeci">int prjbchk(double tol, int nphi, int ntheta, int spt, double phi[], double theta[], int stat[])</div><div class="ttdoc">Bounds checking on native coordinates.</div></div>
<div class="ttc" id="aprj_8h_html_a7c719c0387d23c53b0ceb3ee161de66a"><div class="ttname"><a href="prj_8h.html#a7c719c0387d23c53b0ceb3ee161de66a">sflset</a></div><div class="ttdeci">int sflset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the Sanson-Flamsteed (SFL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a847b7c3f5b7361596912d3d876b4f4fe"><div class="ttname"><a href="prj_8h.html#a847b7c3f5b7361596912d3d876b4f4fe">qscs2x</a></div><div class="ttdeci">int qscs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the quadrilateralized spherical cube (QSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a849a1bbd679d0c193e8be96a8b9ed534"><div class="ttname"><a href="prj_8h.html#a849a1bbd679d0c193e8be96a8b9ed534">zeax2s</a></div><div class="ttdeci">int zeax2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the zenithal/azimuthal equal area (ZEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a853c1df5e8327d83e9cfdde9455355f5"><div class="ttname"><a href="prj_8h.html#a853c1df5e8327d83e9cfdde9455355f5">molx2s</a></div><div class="ttdeci">int molx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for Mollweide's (MOL) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a86e25219d2169702c7db6508750097cf"><div class="ttname"><a href="prj_8h.html#a86e25219d2169702c7db6508750097cf">CYLINDRICAL</a></div><div class="ttdeci">const int CYLINDRICAL</div><div class="ttdoc">Identifier for cylindrical projections.</div><div class="ttdef"><b>Definition</b> prj.h:674</div></div>
<div class="ttc" id="aprj_8h_html_a8785bdf33bdaa3d9d52fd51b621ec8d5"><div class="ttname"><a href="prj_8h.html#a8785bdf33bdaa3d9d52fd51b621ec8d5">prjprt</a></div><div class="ttdeci">int prjprt(const struct prjprm *prj)</div><div class="ttdoc">Print routine for the prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_a88c15d0b6f789cbbd7c5d323ef131360"><div class="ttname"><a href="prj_8h.html#a88c15d0b6f789cbbd7c5d323ef131360">stgx2s</a></div><div class="ttdeci">int stgx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the stereographic (STG) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a8bc552f12260f944e0b8f9b714804983"><div class="ttname"><a href="prj_8h.html#a8bc552f12260f944e0b8f9b714804983">cscset</a></div><div class="ttdeci">int cscset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the COBE spherical cube (CSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a8cca776751549082521a72a743d6b937"><div class="ttname"><a href="prj_8h.html#a8cca776751549082521a72a743d6b937">aits2x</a></div><div class="ttdeci">int aits2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the Hammer-Aitoff (AIT) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a8ebb4c79b635cef463b4e7242ff23c25"><div class="ttname"><a href="prj_8h.html#a8ebb4c79b635cef463b4e7242ff23c25">azpx2s</a></div><div class="ttdeci">int azpx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the zenithal/azimuthal perspective (AZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_a9a387f05414e7b59487fdcb03ff79ced"><div class="ttname"><a href="prj_8h.html#a9a387f05414e7b59487fdcb03ff79ced">prjx2s</a></div><div class="ttdeci">int prjx2s(PRJX2S_ARGS)</div><div class="ttdoc">Generic Cartesian-to-spherical deprojection.</div></div>
<div class="ttc" id="aprj_8h_html_a9bceed17f625eb88a0826871dc8296b5"><div class="ttname"><a href="prj_8h.html#a9bceed17f625eb88a0826871dc8296b5">prj_categories</a></div><div class="ttdeci">const char prj_categories[9][32]</div><div class="ttdoc">Projection categories.</div></div>
<div class="ttc" id="aprj_8h_html_a9d3358bed907342e3309e54bd2ab89da"><div class="ttname"><a href="prj_8h.html#a9d3358bed907342e3309e54bd2ab89da">tans2x</a></div><div class="ttdeci">int tans2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the gnomonic (TAN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aa2167e62576d36eae341c2583cb5d678"><div class="ttname"><a href="prj_8h.html#aa2167e62576d36eae341c2583cb5d678">hpxset</a></div><div class="ttdeci">int hpxset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the HEALPix (HPX) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aaba5ce89ae711728d8ba8105ac5fd599"><div class="ttname"><a href="prj_8h.html#aaba5ce89ae711728d8ba8105ac5fd599">arcs2x</a></div><div class="ttdeci">int arcs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the zenithal/azimuthal equidistant (ARC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aabdc7abc8b7c80187770cfd12c63f700"><div class="ttname"><a href="prj_8h.html#aabdc7abc8b7c80187770cfd12c63f700">pcoset</a></div><div class="ttdeci">int pcoset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the polyconic (PCO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aacc46318c778bd844e30d6997394cc8a"><div class="ttname"><a href="prj_8h.html#aacc46318c778bd844e30d6997394cc8a">PRJS2X_ARGS</a></div><div class="ttdeci">#define PRJS2X_ARGS</div><div class="ttdoc">For use in declaring projection function prototypes.</div><div class="ttdef"><b>Definition</b> prj.h:694</div></div>
<div class="ttc" id="aprj_8h_html_aad75dcd0cd2fd0b6a162b5587cba9c2d"><div class="ttname"><a href="prj_8h.html#aad75dcd0cd2fd0b6a162b5587cba9c2d">tscset</a></div><div class="ttdeci">int tscset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the tangential spherical cube (TSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aaec02a8e47d68e126983e9bb07a0c0aa"><div class="ttname"><a href="prj_8h.html#aaec02a8e47d68e126983e9bb07a0c0aa">bonset</a></div><div class="ttdeci">int bonset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for Bonne's (BON) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aafd25a96ccc5966c04d7732ca482c0c1"><div class="ttname"><a href="prj_8h.html#aafd25a96ccc5966c04d7732ca482c0c1">POLYCONIC</a></div><div class="ttdeci">const int POLYCONIC</div><div class="ttdoc">Identifier for polyconic projections.</div><div class="ttdef"><b>Definition</b> prj.h:674</div></div>
<div class="ttc" id="aprj_8h_html_ab1264f0201113c1a8e931ad9a7630e2f"><div class="ttname"><a href="prj_8h.html#ab1264f0201113c1a8e931ad9a7630e2f">coeset</a></div><div class="ttdeci">int coeset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the conic equal area (COE) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ab4325a957786611772b90e7a080327f3"><div class="ttname"><a href="prj_8h.html#ab4325a957786611772b90e7a080327f3">cars2x</a></div><div class="ttdeci">int cars2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the plate carrée (CAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ab46a0a668f28939626287d048153863f"><div class="ttname"><a href="prj_8h.html#ab46a0a668f28939626287d048153863f">stgs2x</a></div><div class="ttdeci">int stgs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the stereographic (STG) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ab6ce2bb75a87b1679d05f251227d2f1b"><div class="ttname"><a href="prj_8h.html#ab6ce2bb75a87b1679d05f251227d2f1b">sinset</a></div><div class="ttdeci">int sinset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the orthographic/synthesis (SIN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_abbfbf3cba73850d7608765725993dfe3"><div class="ttname"><a href="prj_8h.html#abbfbf3cba73850d7608765725993dfe3">tscx2s</a></div><div class="ttdeci">int tscx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the tangential spherical cube (TSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_abc26dfb2d0b0bee71f6e4541977d237f"><div class="ttname"><a href="prj_8h.html#abc26dfb2d0b0bee71f6e4541977d237f">azps2x</a></div><div class="ttdeci">int azps2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the zenithal/azimuthal perspective (AZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_abdf8c6c3ef615a01ebf8822e013d6a63"><div class="ttname"><a href="prj_8h.html#abdf8c6c3ef615a01ebf8822e013d6a63">sins2x</a></div><div class="ttdeci">int sins2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the orthographic/synthesis (SIN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_abe28216295d9e7ad7dbb01bf5985df9f"><div class="ttname"><a href="prj_8h.html#abe28216295d9e7ad7dbb01bf5985df9f">prjs2x</a></div><div class="ttdeci">int prjs2x(PRJS2X_ARGS)</div><div class="ttdoc">Generic spherical-to-Cartesian projection.</div></div>
<div class="ttc" id="aprj_8h_html_abf6696d3455c684cb44d06da7885ce94"><div class="ttname"><a href="prj_8h.html#abf6696d3455c684cb44d06da7885ce94">azpset</a></div><div class="ttdeci">int azpset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the zenithal/azimuthal perspective (AZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ac038f2474d5d58de157554cee74a9735"><div class="ttname"><a href="prj_8h.html#ac038f2474d5d58de157554cee74a9735">arcset</a></div><div class="ttdeci">int arcset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the zenithal/azimuthal equidistant (ARC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ac2f3bc42ac6e7d458364ebcf2b35814f"><div class="ttname"><a href="prj_8h.html#ac2f3bc42ac6e7d458364ebcf2b35814f">copset</a></div><div class="ttdeci">int copset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the conic perspective (COP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ac8dfb42cf72db0c4bc690d030f75c662"><div class="ttname"><a href="prj_8h.html#ac8dfb42cf72db0c4bc690d030f75c662">PVN</a></div><div class="ttdeci">#define PVN</div><div class="ttdoc">Total number of projection parameters.</div><div class="ttdef"><b>Definition</b> prj.h:660</div></div>
<div class="ttc" id="aprj_8h_html_ac940da0fb0552876fb40a92f82c9625f"><div class="ttname"><a href="prj_8h.html#ac940da0fb0552876fb40a92f82c9625f">CONVENTIONAL</a></div><div class="ttdeci">const int CONVENTIONAL</div><div class="ttdoc">Identifier for conventional projections.</div><div class="ttdef"><b>Definition</b> prj.h:674</div></div>
<div class="ttc" id="aprj_8h_html_ac983c5a393c5b3f1041f07b2eb95a3a5"><div class="ttname"><a href="prj_8h.html#ac983c5a393c5b3f1041f07b2eb95a3a5">zpnset</a></div><div class="ttdeci">int zpnset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the zenithal/azimuthal polynomial (ZPN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ac9a7ed6b032cfdaba0e8caba17c6c149"><div class="ttname"><a href="prj_8h.html#ac9a7ed6b032cfdaba0e8caba17c6c149">cscs2x</a></div><div class="ttdeci">int cscs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the COBE spherical cube (CSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_acb157519ef498bf669298c5508492f3e"><div class="ttname"><a href="prj_8h.html#acb157519ef498bf669298c5508492f3e">prj_errmsg</a></div><div class="ttdeci">const char * prj_errmsg[]</div><div class="ttdoc">Status return messages.</div></div>
<div class="ttc" id="aprj_8h_html_acd4f54c072b6219242daeb6d4b9a74cb"><div class="ttname"><a href="prj_8h.html#acd4f54c072b6219242daeb6d4b9a74cb">tanx2s</a></div><div class="ttdeci">int tanx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the gnomonic (TAN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_acf989261fd56f1e8b4eb8941ec2c754f"><div class="ttname"><a href="prj_8h.html#acf989261fd56f1e8b4eb8941ec2c754f">merset</a></div><div class="ttdeci">int merset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for Mercator's (MER) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ad2a2b56c0900516dd24eebf430bcb29c"><div class="ttname"><a href="prj_8h.html#ad2a2b56c0900516dd24eebf430bcb29c">parset</a></div><div class="ttdeci">int parset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the parabolic (PAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ad43dbc765c63162d0af2b9285b8a434f"><div class="ttname"><a href="prj_8h.html#ad43dbc765c63162d0af2b9285b8a434f">prjset</a></div><div class="ttdeci">int prjset(struct prjprm *prj)</div><div class="ttdoc">Generic setup routine for the prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_ad70968320728202aa12048162248d368"><div class="ttname"><a href="prj_8h.html#ad70968320728202aa12048162248d368">coex2s</a></div><div class="ttdeci">int coex2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the conic equal area (COE) projection.</div></div>
<div class="ttc" id="aprj_8h_html_ad994cb23871c51b20754973bef180f8a"><div class="ttname"><a href="prj_8h.html#ad994cb23871c51b20754973bef180f8a">prjini</a></div><div class="ttdeci">int prjini(struct prjprm *prj)</div><div class="ttdoc">Default constructor for the prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_ad9a80b98c04b0e06d08fd84bacc58b27"><div class="ttname"><a href="prj_8h.html#ad9a80b98c04b0e06d08fd84bacc58b27">mers2x</a></div><div class="ttdeci">int mers2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for Mercator's (MER) projection.</div></div>
<div class="ttc" id="aprj_8h_html_adc4da028cde2d970e9e5e22adca22f37"><div class="ttname"><a href="prj_8h.html#adc4da028cde2d970e9e5e22adca22f37">zeas2x</a></div><div class="ttdeci">int zeas2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the zenithal/azimuthal equal area (ZEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_adc97181f64d72234b8c6903b22b33df9"><div class="ttname"><a href="prj_8h.html#adc97181f64d72234b8c6903b22b33df9">CONIC</a></div><div class="ttdeci">const int CONIC</div><div class="ttdoc">Identifier for conic projections.</div></div>
<div class="ttc" id="aprj_8h_html_aeb5951ec54b929d16ab464939a37d74f"><div class="ttname"><a href="prj_8h.html#aeb5951ec54b929d16ab464939a37d74f">pars2x</a></div><div class="ttdeci">int pars2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the parabolic (PAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aeb7881cd5d7b4b5e26281a512b8f62ac"><div class="ttname"><a href="prj_8h.html#aeb7881cd5d7b4b5e26281a512b8f62ac">sinx2s</a></div><div class="ttdeci">int sinx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the orthographic/synthesis (SIN) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aed0317c8ffef248346da897568df266c"><div class="ttname"><a href="prj_8h.html#aed0317c8ffef248346da897568df266c">coos2x</a></div><div class="ttdeci">int coos2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the conic orthomorphic (COO) projection.</div></div>
<div class="ttc" id="aprj_8h_html_af096bf8f9a1f4e5075117ce9d77f4d1e"><div class="ttname"><a href="prj_8h.html#af096bf8f9a1f4e5075117ce9d77f4d1e">prjsize</a></div><div class="ttdeci">int prjsize(const struct prjprm *prj, int sizes[2])</div><div class="ttdoc">Compute the size of a prjprm struct.</div></div>
<div class="ttc" id="aprj_8h_html_af363383621fb2b72243c1d6b894874d5"><div class="ttname"><a href="prj_8h.html#af363383621fb2b72243c1d6b894874d5">carx2s</a></div><div class="ttdeci">int carx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the plate carrée (CAR) projection.</div></div>
<div class="ttc" id="aprj_8h_html_af44375ad9036898dd6d12d2cc58bf53b"><div class="ttname"><a href="prj_8h.html#af44375ad9036898dd6d12d2cc58bf53b">hpxs2x</a></div><div class="ttdeci">int hpxs2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the HEALPix (HPX) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afa8d27e481bbfffacd3e671e6715d5cb"><div class="ttname"><a href="prj_8h.html#afa8d27e481bbfffacd3e671e6715d5cb">coes2x</a></div><div class="ttdeci">int coes2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the conic equal area (COE) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afaafab5c440384667d7af444b7aca750"><div class="ttname"><a href="prj_8h.html#afaafab5c440384667d7af444b7aca750">szpset</a></div><div class="ttdeci">int szpset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the slant zenithal perspective (SZP) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afbf5f05496f1e018425e02d60a4e0b74"><div class="ttname"><a href="prj_8h.html#afbf5f05496f1e018425e02d60a4e0b74">codset</a></div><div class="ttdeci">int codset(struct prjprm *prj)</div><div class="ttdoc">Set up a prjprm struct for the conic equidistant (COD) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afc5276e759c799deea36271d9cafc5e9"><div class="ttname"><a href="prj_8h.html#afc5276e759c799deea36271d9cafc5e9">qscx2s</a></div><div class="ttdeci">int qscx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the quadrilateralized spherical cube (QSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afcefcb885b7d1c33e0458345cdc9f4a4"><div class="ttname"><a href="prj_8h.html#afcefcb885b7d1c33e0458345cdc9f4a4">cscx2s</a></div><div class="ttdeci">int cscx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the COBE spherical cube (CSC) projection.</div></div>
<div class="ttc" id="aprj_8h_html_afe3968d54673ee2d843005ad2f2276b5"><div class="ttname"><a href="prj_8h.html#afe3968d54673ee2d843005ad2f2276b5">xphset</a></div><div class="ttdeci">int xphset(struct prjprm *prj)</div></div>
<div class="ttc" id="aprj_8h_html_afedc43dc512008174ec9b87753519031"><div class="ttname"><a href="prj_8h.html#afedc43dc512008174ec9b87753519031">cods2x</a></div><div class="ttdeci">int cods2x(PRJS2X_ARGS)</div><div class="ttdoc">Spherical-to-Cartesian transformation for the conic equidistant (COD) projection.</div></div>
<div class="ttc" id="aprj_8h_html_aff09e87b2246bdec83f6a7bb1bc0f471"><div class="ttname"><a href="prj_8h.html#aff09e87b2246bdec83f6a7bb1bc0f471">ceax2s</a></div><div class="ttdeci">int ceax2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the cylindrical equal area (CEA) projection.</div></div>
<div class="ttc" id="aprj_8h_html_affdbf993ce959fce2c148c07cd0f2c0c"><div class="ttname"><a href="prj_8h.html#affdbf993ce959fce2c148c07cd0f2c0c">cypx2s</a></div><div class="ttdeci">int cypx2s(PRJX2S_ARGS)</div><div class="ttdoc">Cartesian-to-spherical transformation for the cylindrical perspective (CYP) projection.</div></div>
<div class="ttc" id="astructprjprm_html"><div class="ttname"><a href="structprjprm.html">prjprm</a></div><div class="ttdoc">Projection parameters.</div><div class="ttdef"><b>Definition</b> prj.h:698</div></div>
<div class="ttc" id="astructprjprm_html_a164706f09314c493c7e9d2c7325f8372"><div class="ttname"><a href="structprjprm.html#a164706f09314c493c7e9d2c7325f8372">prjprm::y0</a></div><div class="ttdeci">double y0</div><div class="ttdef"><b>Definition</b> prj.h:721</div></div>
<div class="ttc" id="astructprjprm_html_a30e78bb110dc7a8ad0303370ce20762c"><div class="ttname"><a href="structprjprm.html#a30e78bb110dc7a8ad0303370ce20762c">prjprm::err</a></div><div class="ttdeci">struct wcserr * err</div><div class="ttdef"><b>Definition</b> prj.h:725</div></div>
<div class="ttc" id="astructprjprm_html_a3894c2e551929b29adce50cd637fa351"><div class="ttname"><a href="structprjprm.html#a3894c2e551929b29adce50cd637fa351">prjprm::r0</a></div><div class="ttdeci">double r0</div><div class="ttdef"><b>Definition</b> prj.h:706</div></div>
<div class="ttc" id="astructprjprm_html_a3b40a2df3b436c4ffcf5be6814993278"><div class="ttname"><a href="structprjprm.html#a3b40a2df3b436c4ffcf5be6814993278">prjprm::w</a></div><div class="ttdeci">double w[10]</div><div class="ttdef"><b>Definition</b> prj.h:730</div></div>
<div class="ttc" id="astructprjprm_html_a46d6928a9026e7b3376dcf0d3f91db64"><div class="ttname"><a href="structprjprm.html#a46d6928a9026e7b3376dcf0d3f91db64">prjprm::pv</a></div><div class="ttdeci">double pv[PVN]</div><div class="ttdef"><b>Definition</b> prj.h:707</div></div>
<div class="ttc" id="astructprjprm_html_a4f3c364f16d0b6498d7e11e6bb67239c"><div class="ttname"><a href="structprjprm.html#a4f3c364f16d0b6498d7e11e6bb67239c">prjprm::code</a></div><div class="ttdeci">char code[4]</div><div class="ttdef"><b>Definition</b> prj.h:705</div></div>
<div class="ttc" id="astructprjprm_html_a62e88bd3c9e02f38193a800035b83918"><div class="ttname"><a href="structprjprm.html#a62e88bd3c9e02f38193a800035b83918">prjprm::divergent</a></div><div class="ttdeci">int divergent</div><div class="ttdef"><b>Definition</b> prj.h:720</div></div>
<div class="ttc" id="astructprjprm_html_a699ad609ff7c1935d8fb6a457a5b8164"><div class="ttname"><a href="structprjprm.html#a699ad609ff7c1935d8fb6a457a5b8164">prjprm::phi0</a></div><div class="ttdeci">double phi0</div><div class="ttdef"><b>Definition</b> prj.h:708</div></div>
<div class="ttc" id="astructprjprm_html_a75cda8ae364a914f64e119ba859c8372"><div class="ttname"><a href="structprjprm.html#a75cda8ae364a914f64e119ba859c8372">prjprm::padding</a></div><div class="ttdeci">void * padding</div><div class="ttdef"><b>Definition</b> prj.h:729</div></div>
<div class="ttc" id="astructprjprm_html_aab36c6218a33025ac4c5025de7c67d42"><div class="ttname"><a href="structprjprm.html#aab36c6218a33025ac4c5025de7c67d42">prjprm::n</a></div><div class="ttdeci">int n</div><div class="ttdef"><b>Definition</b> prj.h:731</div></div>
<div class="ttc" id="astructprjprm_html_aae2c61d85c72e87f4b2b77a14c8eb316"><div class="ttname"><a href="structprjprm.html#aae2c61d85c72e87f4b2b77a14c8eb316">prjprm::x0</a></div><div class="ttdeci">double x0</div><div class="ttdef"><b>Definition</b> prj.h:721</div></div>
<div class="ttc" id="astructprjprm_html_ab165b11d417700de0a4187f133050a2b"><div class="ttname"><a href="structprjprm.html#ab165b11d417700de0a4187f133050a2b">prjprm::name</a></div><div class="ttdeci">char name[40]</div><div class="ttdef"><b>Definition</b> prj.h:713</div></div>
<div class="ttc" id="astructprjprm_html_ab3e207e26d1c9db06cedba2cf4460340"><div class="ttname"><a href="structprjprm.html#ab3e207e26d1c9db06cedba2cf4460340">prjprm::equiareal</a></div><div class="ttdeci">int equiareal</div><div class="ttdef"><b>Definition</b> prj.h:717</div></div>
<div class="ttc" id="astructprjprm_html_ab8dd3d8b1e462a2b261fc9e304885943"><div class="ttname"><a href="structprjprm.html#ab8dd3d8b1e462a2b261fc9e304885943">prjprm::bounds</a></div><div class="ttdeci">int bounds</div><div class="ttdef"><b>Definition</b> prj.h:709</div></div>
<div class="ttc" id="astructprjprm_html_abcd2a3ee9f61b930d23bf741cea63bf3"><div class="ttname"><a href="structprjprm.html#abcd2a3ee9f61b930d23bf741cea63bf3">prjprm::pvrange</a></div><div class="ttdeci">int pvrange</div><div class="ttdef"><b>Definition</b> prj.h:715</div></div>
<div class="ttc" id="astructprjprm_html_ad304d66b3f3aa64fe9c7251d3c420d02"><div class="ttname"><a href="structprjprm.html#ad304d66b3f3aa64fe9c7251d3c420d02">prjprm::flag</a></div><div class="ttdeci">int flag</div><div class="ttdef"><b>Definition</b> prj.h:701</div></div>
<div class="ttc" id="astructprjprm_html_ad7a41e3d03cb739c2a9aa1f8aabf54f9"><div class="ttname"><a href="structprjprm.html#ad7a41e3d03cb739c2a9aa1f8aabf54f9">prjprm::conformal</a></div><div class="ttdeci">int conformal</div><div class="ttdef"><b>Definition</b> prj.h:718</div></div>
<div class="ttc" id="astructprjprm_html_ae634b0747fe55f77e65b6909c94227d9"><div class="ttname"><a href="structprjprm.html#ae634b0747fe55f77e65b6909c94227d9">prjprm::global</a></div><div class="ttdeci">int global</div><div class="ttdef"><b>Definition</b> prj.h:719</div></div>
<div class="ttc" id="astructprjprm_html_ae699a5fb02198777343057972e1452d0"><div class="ttname"><a href="structprjprm.html#ae699a5fb02198777343057972e1452d0">prjprm::prjs2x</a></div><div class="ttdeci">int(* prjs2x)(PRJS2X_ARGS)</div><div class="ttdef"><b>Definition</b> prj.h:734</div></div>
<div class="ttc" id="astructprjprm_html_ae91fa3ff034b1c6de3ec98d8fb9e0ab1"><div class="ttname"><a href="structprjprm.html#ae91fa3ff034b1c6de3ec98d8fb9e0ab1">prjprm::theta0</a></div><div class="ttdeci">double theta0</div><div class="ttdef"><b>Definition</b> prj.h:708</div></div>
<div class="ttc" id="astructprjprm_html_aeef644ffeafea16e82b2b995a470a345"><div class="ttname"><a href="structprjprm.html#aeef644ffeafea16e82b2b995a470a345">prjprm::prjx2s</a></div><div class="ttdeci">int(* prjx2s)(PRJX2S_ARGS)</div><div class="ttdef"><b>Definition</b> prj.h:733</div></div>
<div class="ttc" id="astructprjprm_html_af0fcebbc8155f0b1ee868e64a2ed9ac3"><div class="ttname"><a href="structprjprm.html#af0fcebbc8155f0b1ee868e64a2ed9ac3">prjprm::category</a></div><div class="ttdeci">int category</div><div class="ttdef"><b>Definition</b> prj.h:714</div></div>
<div class="ttc" id="astructprjprm_html_afb805c40a4d37c195074c1305874d615"><div class="ttname"><a href="structprjprm.html#afb805c40a4d37c195074c1305874d615">prjprm::m</a></div><div class="ttdeci">int m</div><div class="ttdef"><b>Definition</b> prj.h:731</div></div>
<div class="ttc" id="astructprjprm_html_afecdd175932cbf29fcfac575b1a5cb9b"><div class="ttname"><a href="structprjprm.html#afecdd175932cbf29fcfac575b1a5cb9b">prjprm::simplezen</a></div><div class="ttdeci">int simplezen</div><div class="ttdef"><b>Definition</b> prj.h:716</div></div>
<div class="ttc" id="astructwcserr_html"><div class="ttname"><a href="structwcserr.html">wcserr</a></div><div class="ttdoc">Error message handling.</div><div class="ttdef"><b>Definition</b> wcserr.h:243</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Nov 29 2023 19:09:57 for WCSLIB by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>