Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f149f58f4a75af135bdb24f5dfe94165 > files > 764

libdap-doc-3.9.3-3mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libdap++: libdap::GeoConstraint Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacelibdap.html">libdap</a>::<a class="el" href="classlibdap_1_1GeoConstraint.html">GeoConstraint</a>
  </div>
</div>
<div class="contents">
<h1>libdap::GeoConstraint Class Reference</h1><!-- doxytag: class="libdap::GeoConstraint" --><code>#include &lt;<a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for libdap::GeoConstraint:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1GeoConstraint__inherit__graph.png" border="0" usemap="#libdap_1_1GeoConstraint__inherit__map" alt="Inheritance graph"></center>
<map name="libdap_1_1GeoConstraint__inherit__map">
<area shape="rect" id="node3" href="classlibdap_1_1ArrayGeoConstraint.html" title="{libdap::ArrayGeoConstraint\n|&#45; d_array\l&#45; d_extent\l&#45; d_projection\l|+ apply_constraint_to_data()\l+ get_constrained_array()\l+ ~ArrayGeoConstraint()\l+ ArrayGeoConstraint()\l+ ArrayGeoConstraint()\l+ ArrayGeoConstraint()\l&#45; build_lat_lon_maps()\l&#45; lat_lon_dimensions_ok()\l&#45; m_init()\l* ArrayGeoConstraint()\l* ArrayGeoConstraint()\l* ArrayGeoConstraint()\l}" alt="" coords="5,1643,307,1911"><area shape="rect" id="node5" href="classlibdap_1_1GridGeoConstraint.html" title="{libdap::GridGeoConstraint\n|&#45; d_grid\l&#45; d_latitude\l&#45; d_longitude\l|+ apply_constraint_to_data()\l+ get_constrained_grid()\l+ ~GridGeoConstraint()\l+ GridGeoConstraint()\l&#45; build_lat_lon_maps()\l&#45; lat_lon_dimensions_ok()\l* GridGeoConstraint()\l}" alt="" coords="331,1680,632,1875"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for libdap::GeoConstraint:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1GeoConstraint__coll__graph.png" border="0" usemap="#libdap_1_1GeoConstraint__coll__map" alt="Collaboration graph"></center>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classlibdap_1_1GeoConstraint-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a> { <a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b9ba63e00aafc2fb3a8e431ed4c4512b8">unknown_sense</a>, 
<a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b350edba37cd95a8a354c4f0667f88df0">normal</a>, 
<a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b77fdac07a46105592ea0707f365f04c6">inverted</a>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a> { <a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d129b3212d4c365a76cf1ef1ff83370b894">unknown_notation</a>, 
<a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12a74c884c179f30a9d86833470fe3afc1">pos</a>, 
<a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12f4021ad4ef44093b0d31a7dff458059e">neg_pos</a>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#d26f2a353507090de70b6addbc10bf0d">apply_constraint_to_data</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Once the bounding box is set use this method to apply the constraint.  <a href="#d26f2a353507090de70b6addbc10bf0d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#a7240e600b6607f587b2447c316e2f42">set_bounding_box</a> (double left, double top, double right, double bottom)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#3caf00aeeb38f77b1e4536b4aacb9831">~GeoConstraint</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
<tr><td colspan="2"><div class="groupText"><br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#38326671c5124e653b450164c00fc490">GeoConstraint</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize <a class="el" href="classlibdap_1_1GeoConstraint.html">GeoConstraint</a>.  <a href="#38326671c5124e653b450164c00fc490"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors/Mutators</div></td></tr>
<tr><td colspan="2"><div class="groupText"><br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#05febc86a7353548656d76cbe659d4ed">get_array_data</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#93b13c51f03265b77c26c639253eb84c">get_array_data_size</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#3eb15912166e6777c3bba8078c144ff9">get_bounding_box_set</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">set&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#5a4be0220de32ff2f6e63f9e902f96a2">get_coards_lat_units</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">set&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#ef1c08fe0aab73e2a6ad4797b01e3f56">get_coards_lon_units</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#e1606e5fc999c32610a2ae2d60205a81">get_lat</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#19dbb0b321d3e195a39dc086cacdfc53">get_lat_dim</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#b3fe14e351eb8fb0c6e63608c7339795">get_lat_length</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">set&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c8bd8ef923214d85713f7f2ad9ecf50b">get_lat_names</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#3f924c14bc89937c3db0b141f873b238">get_latitude_index_bottom</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#e0593d431954560825dcd96ded2141a7">get_latitude_index_top</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c2f5c3f3e098c91f23e194fe7b775af8">get_latitude_sense</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#695f79c26e7eef89c380788d3c1d5507">get_lon</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#5eee5cc9788b429e77bfde9f10bfe751">get_lon_dim</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#505eb309753eabe0c6a5bb3d412a3579">get_lon_length</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">set&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#4e0c90a2cba68f557dda8fa6ce0783a9">get_lon_names</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#8550d6aea8efad6f197b3350c19a25dc">get_longitude_index_left</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#8f7a2a062f1fa421de74bd41339c9e1b">get_longitude_index_right</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#ee72b66c9ca298aebea679d2c410f7a6">get_longitude_notation</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#0bb2e10715d74b4a8016e083d7d57d89">get_longitude_rightmost</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#74fbafe177c1fdd9ba657a2f26cbe749">set_lat</a> (double *lat)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#ea6568171e8e75d983c182e216e66f0d">set_lat_dim</a> (<a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a> lat)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c2088ce8c8d21dbd8f10bba33b281ada">set_lat_length</a> (int len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#f69dd8771a629e0b6da655e0c31b3dd6">set_latitude_index_bottom</a> (int bottom)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#58cf100c6ac40095273520035ff3f2ee">set_latitude_index_top</a> (int top)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c06d576ca89154b1d0b1720fc119f11d">set_latitude_sense</a> (<a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a> l)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#d20909b77fa99bf52350e9b5f6ecdca8">set_lon</a> (double *lon)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#23040c2d4b4b752190c623f62f7ea4a4">set_lon_dim</a> (<a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a> lon)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#7af93197ca9a37896a94ad6daa1c7867">set_lon_length</a> (int len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#2a2256b437d39ca3e868c70cb407cc98">set_longitude_index_left</a> (int left)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#d2217cd57779104cc3e9633c74b66607">set_longitude_index_right</a> (int right)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#d273c81a23cf14d0583093307c6b41cc">set_longitude_notation</a> (<a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a> n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c20b690e875e481d18b9cc37265dc6dc">set_longitude_rightmost</a> (bool state)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#aa2b7e39015f3fa548aa3d673ea6d262">build_lat_lon_maps</a> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#1f0111c7077e67459f9e3b47161848a7">categorize_latitude</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#e92863b04ac5ea47cdbb47d99f09040b">categorize_notation</a> (double left, double right) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#1a9145ad48fdeea6eb810521f836c843">find_latitude_indeces</a> (double top, double bottom, <a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a> sense, int &amp;latitude_index_top, int &amp;latitude_index_bottom) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#e8919739ddc3071a4b472d0234ca4300">find_longitude_indeces</a> (double left, double right, int &amp;longitude_index_left, int &amp;longitude_index_right) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#7009f0251c346ce84adb880130c00dfd">is_bounding_box_valid</a> (double left, double top, double right, double bottom) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#b25bb88ad3f51ea782ecac17f6d92a8b">lat_lon_dimensions_ok</a> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#c7008d3cbd75838d30c7b5c8b5fe9baa">reorder_data_longitude_axis</a> (<a class="el" href="classlibdap_1_1Array.html">Array</a> &amp;a)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#b2060337a35195641d6e0f667b8bf9df">reorder_longitude_map</a> (int longitude_index_left)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#df09e62fff4bc76f2820e947d45f21bf">transform_constraint_to_pos_notation</a> (double &amp;left, double &amp;right) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#ae44ab86b981a7543697ad8199094df7">transform_longitude_to_neg_pos_notation</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#6651f68d957189fe33cc81f2193b6ef6">transform_longitude_to_pos_notation</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html#0f73deef1213b085f34d2d6be78eaff1">GridGeoConstraintTest</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Encapsulate the logic needed to handle geographical constraints when they are applied to DAP <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> (and some <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a>) variables.<p>
This class will apply a longitude/latitude bounding box to a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> that is a 'geo-referenced' <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. That is, it follows the COARDS/CF conventions. This may be relaxed...<p>
If the longitude range of the constraint crosses the boundary of the data array so that the constraint creates two separate rectangles, this class will arrange to return the result as a single <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. It will do this by rearranging the data before control is passed onto the constraint evaluator and serialization logic. Here's a diagram of how it works:<p>
Suppose a constraint for the longitude BB starts at the left edge of L and goes to the right edge of R:<p>
<pre>
       0.0       180.0       360.0 (longitude, in degrees)
        +----------------------+
        |xxxxxyyyyyyyyyyyyzzzzz|
        -----+            +-----
        |    |            |    |
        | R  |            | L  |
        |    |            |    |
        -----+            +-----
        |                      |
        +----------------------+
    </pre><p>
For example, suppose the client provides a bounding box that starts at 200 degrees and ends at 80. This class will first copy the Left part to new storage and then copy the right part, thus 'stitching together' the two halves of the constraint. The result looks like:<p>
<pre>
     80.0  360.0/0.0  180.0  ~200.0 (longitude, in degrees)
        +----------------------+
        |zzzzzxxxxxxyyyyyyyyyyy|
        -----++-----           |
        |    ||    |           |
        | L  || R  |           |
        |    ||    |           |
        -----++-----           |
        |                      |
        +----------------------+
    </pre><p>
The changes are made in the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> variable itself, so once this is done the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> should not be re-read by the CE or serialization code.<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>James Gallagher </dd></dl>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00103">103</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="2304140a3b6310c6ed8bce30ebdaed7b"></a><!-- doxytag: member="libdap::GeoConstraint::LatitudeSense" ref="2304140a3b6310c6ed8bce30ebdaed7b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">libdap::GeoConstraint::LatitudeSense</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Most of the time, latitude starts at the top of an array with positive values and ends up at the bottom with negative ones. But sometimes... the world is upside down. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="2304140a3b6310c6ed8bce30ebdaed7b9ba63e00aafc2fb3a8e431ed4c4512b8"></a><!-- doxytag: member="unknown_sense" ref="2304140a3b6310c6ed8bce30ebdaed7b9ba63e00aafc2fb3a8e431ed4c4512b8" args="" -->unknown_sense</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="2304140a3b6310c6ed8bce30ebdaed7b350edba37cd95a8a354c4f0667f88df0"></a><!-- doxytag: member="normal" ref="2304140a3b6310c6ed8bce30ebdaed7b350edba37cd95a8a354c4f0667f88df0" args="" -->normal</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="2304140a3b6310c6ed8bce30ebdaed7b77fdac07a46105592ea0707f365f04c6"></a><!-- doxytag: member="inverted" ref="2304140a3b6310c6ed8bce30ebdaed7b77fdac07a46105592ea0707f365f04c6" args="" -->inverted</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00118">118</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d02233f3f59e758747227be620b40d12"></a><!-- doxytag: member="libdap::GeoConstraint::Notation" ref="d02233f3f59e758747227be620b40d12" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">libdap::GeoConstraint::Notation</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The longitude extents of the constraint bounding box can be expressed two ways: using a 0/359 notation and using a -180/179 notation. I call the 0/359 notation 'pos' and the -180/179 notation 'neg_pos'. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="d02233f3f59e758747227be620b40d129b3212d4c365a76cf1ef1ff83370b894"></a><!-- doxytag: member="unknown_notation" ref="d02233f3f59e758747227be620b40d129b3212d4c365a76cf1ef1ff83370b894" args="" -->unknown_notation</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="d02233f3f59e758747227be620b40d12a74c884c179f30a9d86833470fe3afc1"></a><!-- doxytag: member="pos" ref="d02233f3f59e758747227be620b40d12a74c884c179f30a9d86833470fe3afc1" args="" -->pos</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="d02233f3f59e758747227be620b40d12f4021ad4ef44093b0d31a7dff458059e"></a><!-- doxytag: member="neg_pos" ref="d02233f3f59e758747227be620b40d12f4021ad4ef44093b0d31a7dff458059e" args="" -->neg_pos</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00109">109</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="38326671c5124e653b450164c00fc490"></a><!-- doxytag: member="libdap::GeoConstraint::GeoConstraint" ref="38326671c5124e653b450164c00fc490" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::GeoConstraint::GeoConstraint           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="todo" compact><dt><b><a class="el" href="todo.html#_todo000021">Todo:</a></b></dt><dd>Remove ds_name. 10/02/08 </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ds_name</em>&nbsp;</td><td>The name of the dataset. Passed to <a class="el" href="classlibdap_1_1BaseType.html#1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer.">BaseType::read()</a>. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00510">510</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="3caf00aeeb38f77b1e4536b4aacb9831"></a><!-- doxytag: member="libdap::GeoConstraint::~GeoConstraint" ref="3caf00aeeb38f77b1e4536b4aacb9831" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual libdap::GeoConstraint::~GeoConstraint           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00214">214</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d26f2a353507090de70b6addbc10bf0d"></a><!-- doxytag: member="libdap::GeoConstraint::apply_constraint_to_data" ref="d26f2a353507090de70b6addbc10bf0d" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void libdap::GeoConstraint::apply_constraint_to_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implemented in <a class="el" href="classlibdap_1_1ArrayGeoConstraint.html#c9b54a84ae4d34ffbc2e64bfec262e49">libdap::ArrayGeoConstraint</a>, and <a class="el" href="classlibdap_1_1GridGeoConstraint.html#ffdc6145014a519bef4874d14716b3cf">libdap::GridGeoConstraint</a>.</p>

</div>
</div><p>
<a class="anchor" name="aa2b7e39015f3fa548aa3d673ea6d262"></a><!-- doxytag: member="libdap::GeoConstraint::build_lat_lon_maps" ref="aa2b7e39015f3fa548aa3d673ea6d262" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool libdap::GeoConstraint::build_lat_lon_maps           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A protected method that searches for latitude and longitude map vectors and sets six key internal fields. This method returns false if either map cannot be found.<p>
The d_lon, d_lon_length and d_lon_dim (and matching lat) fields <em>must be set</em> by this method.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the maps are found, otherwise False </dd></dl>

</div>
</div><p>
<a class="anchor" name="1f0111c7077e67459f9e3b47161848a7"></a><!-- doxytag: member="libdap::GeoConstraint::categorize_latitude" ref="1f0111c7077e67459f9e3b47161848a7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">GeoConstraint::LatitudeSense</a> libdap::GeoConstraint::categorize_latitude           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Take a look at the latitude vector values and record whether the world is normal or upside down. <dl class="return" compact><dt><b>Returns:</b></dt><dd>normal or inverted. </dd></dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00315">315</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="GeoConstraint_8h_source.html#l00121">inverted</a>, and <a class="el" href="GeoConstraint_8h_source.html#l00120">normal</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e92863b04ac5ea47cdbb47d99f09040b"></a><!-- doxytag: member="libdap::GeoConstraint::categorize_notation" ref="e92863b04ac5ea47cdbb47d99f09040b" args="(double left, double right) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">GeoConstraint::Notation</a> libdap::GeoConstraint::categorize_notation           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A private method that determines if the longitude part of the bounding box uses 0/359 or -180/179 notation. This class only supports latitude constriants which use 90/-90 notation, so there's no need to figure out what sort of notation they use.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This function assumes that if one of the two values is negative, then the notation is or the -180/179 form, otherwise not. If the user asks for 30 degrees to 50 degress (or 50 to 30, for that matter), there's no real way to tell which notation they are using.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The left side of the bounding box, in degrees </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The right side of the boubding box </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The notation (pos or neg_pos) </dd></dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00109">109</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="GeoConstraint_8h_source.html#l00112">neg_pos</a>, and <a class="el" href="GeoConstraint_8h_source.html#l00111">pos</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1a9145ad48fdeea6eb810521f836c843"></a><!-- doxytag: member="libdap::GeoConstraint::find_latitude_indeces" ref="1a9145ad48fdeea6eb810521f836c843" args="(double top, double bottom, LatitudeSense sense, int &amp;latitude_index_top, int &amp;latitude_index_bottom) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::find_latitude_indeces           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bottom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a>&nbsp;</td>
          <td class="paramname"> <em>sense</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>latitude_index_top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>latitude_index_bottom</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scan from the top to the bottom, and the bottom to the top, looking for the top and bottom bounding box edges, respectively.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The top edge of the bounding box </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The bottom edge </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sense</em>&nbsp;</td><td>Does the array/grid store data with larger latitudes at the starting indices or are the latitude 'upside down?' </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>latitude_index_top</em>&nbsp;</td><td>Value-result parameter that holds the index in the grid's latitude map of the top bounding box edge. Uses a closed interval for the test. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>latitude_index_bottom</em>&nbsp;</td><td>Value-result parameter for the bottom edge index. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00272">272</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="GeoConstraint_8h_source.html#l00120">normal</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e8919739ddc3071a4b472d0234ca4300"></a><!-- doxytag: member="libdap::GeoConstraint::find_longitude_indeces" ref="e8919739ddc3071a4b472d0234ca4300" args="(double left, double right, int &amp;longitude_index_left, int &amp;longitude_index_right) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::find_longitude_indeces           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>right</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>longitude_index_left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>longitude_index_right</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scan from the left to the right, and the right to the left, looking for the left and right bounding box edges, respectively.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The left edge of the bounding box </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The right edge </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>longitude_index_left</em>&nbsp;</td><td>Value-result parameter that holds the index in the grid's longitude map of the left bounding box edge. Uses a closed interval for the test. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>longitude_index_right</em>&nbsp;</td><td>Value-result parameter for the right edge index. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00182">182</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00073">DBG2</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="05febc86a7353548656d76cbe659d4ed"></a><!-- doxytag: member="libdap::GeoConstraint::get_array_data" ref="05febc86a7353548656d76cbe659d4ed" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* libdap::GeoConstraint::get_array_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00224">224</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="93b13c51f03265b77c26c639253eb84c"></a><!-- doxytag: member="libdap::GeoConstraint::get_array_data_size" ref="93b13c51f03265b77c26c639253eb84c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_array_data_size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00228">228</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3eb15912166e6777c3bba8078c144ff9"></a><!-- doxytag: member="libdap::GeoConstraint::get_bounding_box_set" ref="3eb15912166e6777c3bba8078c144ff9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::GeoConstraint::get_bounding_box_set           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00319">319</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5a4be0220de32ff2f6e63f9e902f96a2"></a><!-- doxytag: member="libdap::GeoConstraint::get_coards_lat_units" ref="5a4be0220de32ff2f6e63f9e902f96a2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">set&lt;string&gt; libdap::GeoConstraint::get_coards_lat_units           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00349">349</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ef1c08fe0aab73e2a6ad4797b01e3f56"></a><!-- doxytag: member="libdap::GeoConstraint::get_coards_lon_units" ref="ef1c08fe0aab73e2a6ad4797b01e3f56" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">set&lt;string&gt; libdap::GeoConstraint::get_coards_lon_units           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00353">353</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e1606e5fc999c32610a2ae2d60205a81"></a><!-- doxytag: member="libdap::GeoConstraint::get_lat" ref="e1606e5fc999c32610a2ae2d60205a81" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* libdap::GeoConstraint::get_lat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00233">233</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="19dbb0b321d3e195a39dc086cacdfc53"></a><!-- doxytag: member="libdap::GeoConstraint::get_lat_dim" ref="19dbb0b321d3e195a39dc086cacdfc53" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a> libdap::GeoConstraint::get_lat_dim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00271">271</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b3fe14e351eb8fb0c6e63608c7339795"></a><!-- doxytag: member="libdap::GeoConstraint::get_lat_length" ref="b3fe14e351eb8fb0c6e63608c7339795" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_lat_length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00250">250</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c8bd8ef923214d85713f7f2ad9ecf50b"></a><!-- doxytag: member="libdap::GeoConstraint::get_lat_names" ref="c8bd8ef923214d85713f7f2ad9ecf50b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">set&lt;string&gt; libdap::GeoConstraint::get_lat_names           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00358">358</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3f924c14bc89937c3db0b141f873b238"></a><!-- doxytag: member="libdap::GeoConstraint::get_latitude_index_bottom" ref="3f924c14bc89937c3db0b141f873b238" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_latitude_index_bottom           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00289">289</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0593d431954560825dcd96ded2141a7"></a><!-- doxytag: member="libdap::GeoConstraint::get_latitude_index_top" ref="e0593d431954560825dcd96ded2141a7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_latitude_index_top           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00285">285</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c2f5c3f3e098c91f23e194fe7b775af8"></a><!-- doxytag: member="libdap::GeoConstraint::get_latitude_sense" ref="c2f5c3f3e098c91f23e194fe7b775af8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a> libdap::GeoConstraint::get_latitude_sense           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00336">336</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="695f79c26e7eef89c380788d3c1d5507"></a><!-- doxytag: member="libdap::GeoConstraint::get_lon" ref="695f79c26e7eef89c380788d3c1d5507" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* libdap::GeoConstraint::get_lon           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00237">237</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5eee5cc9788b429e77bfde9f10bfe751"></a><!-- doxytag: member="libdap::GeoConstraint::get_lon_dim" ref="5eee5cc9788b429e77bfde9f10bfe751" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a> libdap::GeoConstraint::get_lon_dim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00267">267</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="505eb309753eabe0c6a5bb3d412a3579"></a><!-- doxytag: member="libdap::GeoConstraint::get_lon_length" ref="505eb309753eabe0c6a5bb3d412a3579" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_lon_length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00254">254</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="GeoConstraint_8cc_source.html#l00400">reorder_data_longitude_axis()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4e0c90a2cba68f557dda8fa6ce0783a9"></a><!-- doxytag: member="libdap::GeoConstraint::get_lon_names" ref="4e0c90a2cba68f557dda8fa6ce0783a9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">set&lt;string&gt; libdap::GeoConstraint::get_lon_names           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00362">362</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8550d6aea8efad6f197b3350c19a25dc"></a><!-- doxytag: member="libdap::GeoConstraint::get_longitude_index_left" ref="8550d6aea8efad6f197b3350c19a25dc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_longitude_index_left           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00302">302</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="GeoConstraint_8cc_source.html#l00400">reorder_data_longitude_axis()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8f7a2a062f1fa421de74bd41339c9e1b"></a><!-- doxytag: member="libdap::GeoConstraint::get_longitude_index_right" ref="8f7a2a062f1fa421de74bd41339c9e1b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::GeoConstraint::get_longitude_index_right           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00306">306</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="GeoConstraint_8cc_source.html#l00400">reorder_data_longitude_axis()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ee72b66c9ca298aebea679d2c410f7a6"></a><!-- doxytag: member="libdap::GeoConstraint::get_longitude_notation" ref="ee72b66c9ca298aebea679d2c410f7a6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a> libdap::GeoConstraint::get_longitude_notation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00332">332</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0bb2e10715d74b4a8016e083d7d57d89"></a><!-- doxytag: member="libdap::GeoConstraint::get_longitude_rightmost" ref="0bb2e10715d74b4a8016e083d7d57d89" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::GeoConstraint::get_longitude_rightmost           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00323">323</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00400">reorder_data_longitude_axis()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7009f0251c346ce84adb880130c00dfd"></a><!-- doxytag: member="libdap::GeoConstraint::is_bounding_box_valid" ref="7009f0251c346ce84adb880130c00dfd" args="(double left, double top, double right, double bottom) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::GeoConstraint::is_bounding_box_valid           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>right</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00150">150</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="GeoConstraint_8h_source.html#l00120">normal</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b25bb88ad3f51ea782ecac17f6d92a8b"></a><!-- doxytag: member="libdap::GeoConstraint::lat_lon_dimensions_ok" ref="b25bb88ad3f51ea782ecac17f6d92a8b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool libdap::GeoConstraint::lat_lon_dimensions_ok           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Are the latitude and longitude dimensions ordered so that this class can properly constrain the data? This method throws <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> if lat and lon are not to two 'fastest-varying' (or 'rightmost) dimensions. It sets the internal property <em>longitude_rightmost</em> if that's true.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Called by the constructor once <a class="el" href="classlibdap_1_1GeoConstraint.html#aa2b7e39015f3fa548aa3d673ea6d262">build_lat_lon_maps()</a> has returned.</dd></dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the lat/lon maps are the two rightmost maps, false otherwise </dd></dl>

</div>
</div><p>
<a class="anchor" name="c7008d3cbd75838d30c7b5c8b5fe9baa"></a><!-- doxytag: member="libdap::GeoConstraint::reorder_data_longitude_axis" ref="c7008d3cbd75838d30c7b5c8b5fe9baa" args="(Array &amp;a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::reorder_data_longitude_axis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1Array.html">Array</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reorder the data values relative to the longitude axis so that the reordered longitude map (see <a class="el" href="classlibdap_1_1GeoConstraint.html#b2060337a35195641d6e0f667b8bf9df">GeoConstraint::reorder_longitude_map()</a>) and the data values match.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This method should set the d_array_data and d_array_data_size fields. If those <em>are</em> set, <a class="el" href="classlibdap_1_1GeoConstraint.html#d26f2a353507090de70b6addbc10bf0d" title="Once the bounding box is set use this method to apply the constraint.">apply_constraint_to_data()</a> will use those values.<p>
First set all the other constraints, including the latitude and then make this call. Other constraints, besides latitude, will be simple range constraints. Latitude might require that values be inverted, but that can be done _after_ the longitude reordering takes place. The latitude constraint can be imposed by inverting the top and bottom indices if the sense of the grid is inverted, before data are read in this method. Then apply the longitude constraint, then invert the result of the merge, if needed.</dd></dl>
<dl class="todo" compact><dt><b><a class="el" href="todo.html#_todo000020">Todo:</a></b></dt><dd>Fix this code so that it works with latitude as the rightmost map </dd></dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00400">400</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="Array_8cc_source.html#l00287">libdap::Array::add_constraint()</a>, <a class="el" href="Vector_8cc_source.html#l00810">libdap::Vector::buf2val()</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, <a class="el" href="GeoConstraint_8h_source.html#l00254">get_lon_length()</a>, <a class="el" href="GeoConstraint_8h_source.html#l00302">get_longitude_index_left()</a>, <a class="el" href="GeoConstraint_8h_source.html#l00306">get_longitude_index_right()</a>, <a class="el" href="GeoConstraint_8h_source.html#l00323">get_longitude_rightmost()</a>, <a class="el" href="Vector_8cc_source.html#l00398">libdap::Vector::length()</a>, <a class="el" href="Array_8cc_source.html#l00799">libdap::Array::print_val()</a>, <a class="el" href="BaseType_8cc_source.html#l00722">libdap::BaseType::read()</a>, <a class="el" href="Vector_8cc_source.html#l00235">libdap::Vector::set_read_p()</a>, <a class="el" href="Vector_8cc_source.html#l01180">libdap::Vector::value()</a>, <a class="el" href="Vector_8cc_source.html#l00258">libdap::Vector::var()</a>, and <a class="el" href="classlibdap_1_1BaseType.html#3058467f1e80a41f3cf1068ec9ec68ed">libdap::BaseType::width()</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1GeoConstraint_c7008d3cbd75838d30c7b5c8b5fe9baa_cgraph.png" border="0" usemap="#classlibdap_1_1GeoConstraint_c7008d3cbd75838d30c7b5c8b5fe9baa_cgraph_map" alt=""></center>
<map name="classlibdap_1_1GeoConstraint_c7008d3cbd75838d30c7b5c8b5fe9baa_cgraph_map">
<area shape="rect" id="node3" href="classlibdap_1_1Array.html#538f7c336e26b873f50e033d553bba26" title="Adds a constraint to an Array dimension." alt="" coords="671,5,983,32"><area shape="rect" id="node7" href="classlibdap_1_1Vector.html#5990bd42b49e44c7b7da76e039896ba3" title="libdap::Vector::length" alt="" coords="1516,56,1756,83"><area shape="rect" id="node11" href="classlibdap_1_1Vector.html#f20a56a72c3108b31418ebf01f779253" title="libdap::Vector::buf2val" alt="" coords="701,107,952,133"><area shape="rect" id="node18" href="classlibdap_1_1BaseType.html#3058467f1e80a41f3cf1068ec9ec68ed" title="Returns the size of the class instance data." alt="" coords="1511,107,1761,133"><area shape="rect" id="node20" href="classlibdap_1_1GeoConstraint.html#505eb309753eabe0c6a5bb3d412a3579" title="libdap::GeoConstraint::get_lon_length" alt="" coords="631,208,1023,235"><area shape="rect" id="node22" href="classlibdap_1_1GeoConstraint.html#8550d6aea8efad6f197b3350c19a25dc" title="libdap::GeoConstraint::get_longitude_index_left" alt="" coords="581,259,1072,285"><area shape="rect" id="node24" href="classlibdap_1_1GeoConstraint.html#8f7a2a062f1fa421de74bd41339c9e1b" title="libdap::GeoConstraint::get_longitude_index_right" alt="" coords="576,309,1077,336"><area shape="rect" id="node26" href="classlibdap_1_1GeoConstraint.html#0bb2e10715d74b4a8016e083d7d57d89" title="libdap::GeoConstraint::get_longitude_rightmost" alt="" coords="587,360,1067,387"><area shape="rect" id="node29" href="classlibdap_1_1Array.html#f7bdf05ad5a57a517aa6b122b03f06df" title="Prints the value of the variable." alt="" coords="696,461,957,488"><area shape="rect" id="node39" href="classlibdap_1_1Vector.html#a5ccb30d1f27ae587f35216b859feec7" title="libdap::Vector::var" alt="" coords="1531,537,1741,564"><area shape="rect" id="node67" href="classlibdap_1_1BaseType.html#1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="707,512,947,539"><area shape="rect" id="node69" href="classlibdap_1_1Vector.html#58712de8871e28a48fdc95e72a09df71" title="Indicates that the data is ready to send." alt="" coords="1141,639,1421,665"><area shape="rect" id="node74" href="classlibdap_1_1Vector.html#2803db526bd03df4beed106ee7dc6a4b" title="Get a copy of the data held by this variable. Read data from this variable&#39;s..." alt="" coords="1165,208,1397,235"><area shape="rect" id="node5" href="classlibdap_1_1Array.html#2b1f0cb764aac18ca06e4c7bc1942064" title="libdap::Array::update_length" alt="" coords="1131,5,1432,32"><area shape="rect" id="node9" href="classlibdap_1_1Vector.html#05a61e24fd295934dfc3c37c9f55ca57" title="libdap::Vector::set_length" alt="" coords="1496,5,1776,32"><area shape="rect" id="node13" href="classlibdap_1_1BaseType.html#bc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="2276,208,2516,235"><area shape="rect" id="node15" href="classlibdap_1_1Vector.html#2a3c2d3b4a1fb3e88ee8737c1a33320a" title="Returns the width of the data, in bytes." alt="" coords="1165,107,1397,133"><area shape="rect" id="node31" href="classlibdap_1_1Array.html#8f29497af9c33c0d66939d5f9a16d92a" title="Returns the size of the dimension." alt="" coords="1125,385,1437,412"><area shape="rect" id="node33" href="classlibdap_1_1Array.html#fa75d1ff3c75b8359d03b3f382bfd179" title="Return the total number of dimensions in the array." alt="" coords="1145,436,1417,463"><area shape="rect" id="node35" href="classlibdap_1_1Array.html#435534a45cea53181d30dc09d46734a7" title="Print the value given the current constraint." alt="" coords="1141,537,1421,564"><area shape="rect" id="node52" href="classlibdap_1_1Array.html#62456490e14832bd55b9b79d6e37397a" title="Prints a DDS entry for the Array." alt="" coords="1145,487,1417,513"><area shape="rect" id="node37" href="classlibdap_1_1BaseType.html#16f82585af6b66f434f2132f05c4960c" title="Prints the value of the variable." alt="" coords="1491,588,1781,615"><area shape="rect" id="node41" href="classlibdap_1_1BaseType.html#9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid)..." alt="" coords="1835,487,2227,513"><area shape="rect" id="node44" href="classlibdap_1_1BaseType.html#0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="1911,639,2151,665"><area shape="rect" id="node46" href="classlibdap_1_1BaseType.html#4dc4fac1bb6083f6db645f37bfd59b85" title="Returns a pointer to a member of a constructor class." alt="" coords="1915,537,2147,564"><area shape="rect" id="node48" href="namespacelibdap.html#376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="1951,588,2111,615"><area shape="rect" id="node50" href="namespacelibdap.html#9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="2291,588,2501,615"><area shape="rect" id="node54" href="namespacelibdap.html#fbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="1951,436,2111,463"><area shape="rect" id="node58" href="classlibdap_1_1BaseType.html#2d799fad93255d7f2b803562ae7a5784" title="Print an ASCII representation of the variable structure." alt="" coords="1485,417,1787,444"><area shape="rect" id="node61" href="classlibdap_1_1BaseType.html#980c0013817836aa77ef74aeec7fb192" title="Should this variable be sent?" alt="" coords="1900,335,2161,361"><area shape="rect" id="node56" href="namespacelibdap.html#58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="2300,436,2492,463"><area shape="rect" id="node63" href="classlibdap_1_1BaseType.html#c4461c9e287b167871acade5e5472116" title="Returns the type of the class instance as a string." alt="" coords="1885,385,2176,412"><area shape="rect" id="node71" href="classlibdap_1_1BaseType.html#4533905a450d2a7af32e7d5acd557676" title="Sets the value of the read_p property." alt="" coords="1485,639,1787,665"></map>
</div>

</div>
</div><p>
<a class="anchor" name="b2060337a35195641d6e0f667b8bf9df"></a><!-- doxytag: member="libdap::GeoConstraint::reorder_longitude_map" ref="b2060337a35195641d6e0f667b8bf9df" args="(int longitude_index_left)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::reorder_longitude_map           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>longitude_index_left</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reorder the elements in the longitude map so that the longitude constraint no longer crosses the edge of the map's storage. The d_lon field is modified.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The d_lon vector always has double values regardless of the type of d_longitude.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>longitude_index_left</em>&nbsp;</td><td>The left edge of the bounding box. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00360">360</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a7240e600b6607f587b2447c316e2f42"></a><!-- doxytag: member="libdap::GeoConstraint::set_bounding_box" ref="a7240e600b6607f587b2447c316e2f42" args="(double left, double top, double right, double bottom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_bounding_box           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>right</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bottom</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the bounding box for this constraint. After calling this method the object has values for the indexes for the latitude and longitude extent as well as the sense of the latitude (south pole at the top or bottom of the <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a> or <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>). These are used by the <a class="el" href="classlibdap_1_1GeoConstraint.html#d26f2a353507090de70b6addbc10bf0d" title="Once the bounding box is set use this method to apply the constraint.">apply_constraint_to_data()</a> method to actually constrain the data.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>The left side of the bounding box. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>right</em>&nbsp;</td><td>The right side </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>top</em>&nbsp;</td><td>The top </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bottom</em>&nbsp;</td><td>The bottom </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00549">549</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>References <a class="el" href="GeoConstraint_8cc_source.html#l00315">categorize_latitude()</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00109">categorize_notation()</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="util_8cc_source.html#l00467">libdap::double_to_string()</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00272">find_latitude_indeces()</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00182">find_longitude_indeces()</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00150">is_bounding_box_valid()</a>, <a class="el" href="GeoConstraint_8h_source.html#l00112">neg_pos</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00120">transform_constraint_to_pos_notation()</a>, and <a class="el" href="GeoConstraint_8cc_source.html#l00132">transform_longitude_to_pos_notation()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l00915">libdap::function_geoarray()</a>, and <a class="el" href="ce__functions_8cc_source.html#l00540">libdap::function_geogrid()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1GeoConstraint_a7240e600b6607f587b2447c316e2f42_cgraph.png" border="0" usemap="#classlibdap_1_1GeoConstraint_a7240e600b6607f587b2447c316e2f42_cgraph_map" alt=""></center>
<map name="classlibdap_1_1GeoConstraint_a7240e600b6607f587b2447c316e2f42_cgraph_map">
<area shape="rect" id="node3" href="classlibdap_1_1GeoConstraint.html#1f0111c7077e67459f9e3b47161848a7" title="libdap::GeoConstraint::categorize_latitude" alt="" coords="553,5,993,32"><area shape="rect" id="node5" href="classlibdap_1_1GeoConstraint.html#e92863b04ac5ea47cdbb47d99f09040b" title="libdap::GeoConstraint::categorize_notation" alt="" coords="553,56,993,83"><area shape="rect" id="node7" href="namespacelibdap.html#7c3f898946a0ae498f4ca830731cc474" title="libdap::double_to_string" alt="" coords="643,107,904,133"><area shape="rect" id="node11" href="classlibdap_1_1GeoConstraint.html#1a9145ad48fdeea6eb810521f836c843" title="libdap::GeoConstraint::find_latitude_indeces" alt="" coords="543,157,1004,184"><area shape="rect" id="node13" href="classlibdap_1_1GeoConstraint.html#e8919739ddc3071a4b472d0234ca4300" title="libdap::GeoConstraint::find_longitude_indeces" alt="" coords="537,208,1009,235"><area shape="rect" id="node15" href="classlibdap_1_1GeoConstraint.html#7009f0251c346ce84adb880130c00dfd" title="libdap::GeoConstraint::is_bounding_box_valid" alt="" coords="543,259,1004,285"><area shape="rect" id="node17" href="classlibdap_1_1GeoConstraint.html#df09e62fff4bc76f2820e947d45f21bf" title="libdap::GeoConstraint::transform_constraint_to_pos_notation" alt="" coords="468,309,1079,336"><area shape="rect" id="node19" href="classlibdap_1_1GeoConstraint.html#6651f68d957189fe33cc81f2193b6ef6" title="libdap::GeoConstraint::transform_longitude_to_pos_notation" alt="" coords="473,360,1073,387"><area shape="rect" id="node9" href="namespacelibdap.html#385e0e3c04caef28126afb481f4867dd" title="libdap::append_double_to_string" alt="" coords="1129,107,1460,133"></map>
</div>

</div>
</div><p>
<a class="anchor" name="74fbafe177c1fdd9ba657a2f26cbe749"></a><!-- doxytag: member="libdap::GeoConstraint::set_lat" ref="74fbafe177c1fdd9ba657a2f26cbe749" args="(double *lat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lat           </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>lat</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00241">241</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ea6568171e8e75d983c182e216e66f0d"></a><!-- doxytag: member="libdap::GeoConstraint::set_lat_dim" ref="ea6568171e8e75d983c182e216e66f0d" args="(Array::Dim_iter lat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lat_dim           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a>&nbsp;</td>
          <td class="paramname"> <em>lat</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00279">279</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c2088ce8c8d21dbd8f10bba33b281ada"></a><!-- doxytag: member="libdap::GeoConstraint::set_lat_length" ref="c2088ce8c8d21dbd8f10bba33b281ada" args="(int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lat_length           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00258">258</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f69dd8771a629e0b6da655e0c31b3dd6"></a><!-- doxytag: member="libdap::GeoConstraint::set_latitude_index_bottom" ref="f69dd8771a629e0b6da655e0c31b3dd6" args="(int bottom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_latitude_index_bottom           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>bottom</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00297">297</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="58cf100c6ac40095273520035ff3f2ee"></a><!-- doxytag: member="libdap::GeoConstraint::set_latitude_index_top" ref="58cf100c6ac40095273520035ff3f2ee" args="(int top)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_latitude_index_top           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>top</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00293">293</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c06d576ca89154b1d0b1720fc119f11d"></a><!-- doxytag: member="libdap::GeoConstraint::set_latitude_sense" ref="c06d576ca89154b1d0b1720fc119f11d" args="(LatitudeSense l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_latitude_sense           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1GeoConstraint.html#2304140a3b6310c6ed8bce30ebdaed7b">LatitudeSense</a>&nbsp;</td>
          <td class="paramname"> <em>l</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00344">344</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d20909b77fa99bf52350e9b5f6ecdca8"></a><!-- doxytag: member="libdap::GeoConstraint::set_lon" ref="d20909b77fa99bf52350e9b5f6ecdca8" args="(double *lon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lon           </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>lon</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00245">245</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="23040c2d4b4b752190c623f62f7ea4a4"></a><!-- doxytag: member="libdap::GeoConstraint::set_lon_dim" ref="23040c2d4b4b752190c623f62f7ea4a4" args="(Array::Dim_iter lon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lon_dim           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1Array.html#7a557c05085a83d1501dbfa249d3cc52">Array::Dim_iter</a>&nbsp;</td>
          <td class="paramname"> <em>lon</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00275">275</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7af93197ca9a37896a94ad6daa1c7867"></a><!-- doxytag: member="libdap::GeoConstraint::set_lon_length" ref="7af93197ca9a37896a94ad6daa1c7867" args="(int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_lon_length           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00262">262</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2a2256b437d39ca3e868c70cb407cc98"></a><!-- doxytag: member="libdap::GeoConstraint::set_longitude_index_left" ref="2a2256b437d39ca3e868c70cb407cc98" args="(int left)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_longitude_index_left           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>left</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00310">310</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d2217cd57779104cc3e9633c74b66607"></a><!-- doxytag: member="libdap::GeoConstraint::set_longitude_index_right" ref="d2217cd57779104cc3e9633c74b66607" args="(int right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_longitude_index_right           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>right</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00314">314</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, and <a class="el" href="ArrayGeoConstraint_8cc_source.html#l00150">libdap::ArrayGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d273c81a23cf14d0583093307c6b41cc"></a><!-- doxytag: member="libdap::GeoConstraint::set_longitude_notation" ref="d273c81a23cf14d0583093307c6b41cc" args="(Notation n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_longitude_notation           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1GeoConstraint.html#d02233f3f59e758747227be620b40d12">Notation</a>&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00340">340</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c20b690e875e481d18b9cc37265dc6dc"></a><!-- doxytag: member="libdap::GeoConstraint::set_longitude_rightmost" ref="c20b690e875e481d18b9cc37265dc6dc" args="(bool state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::set_longitude_rightmost           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>state</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00327">327</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="df09e62fff4bc76f2820e947d45f21bf"></a><!-- doxytag: member="libdap::GeoConstraint::transform_constraint_to_pos_notation" ref="df09e62fff4bc76f2820e947d45f21bf" args="(double &amp;left, double &amp;right) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::transform_constraint_to_pos_notation           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00120">120</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ae44ab86b981a7543697ad8199094df7"></a><!-- doxytag: member="libdap::GeoConstraint::transform_longitude_to_neg_pos_notation" ref="ae44ab86b981a7543697ad8199094df7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::transform_longitude_to_neg_pos_notation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given that the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> has a longitude map that uses the 'pos' notation, transform it to the 'neg_pos' notation. This method modifies the d_longitude <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a>. 
<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00144">144</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00205">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6651f68d957189fe33cc81f2193b6ef6"></a><!-- doxytag: member="libdap::GeoConstraint::transform_longitude_to_pos_notation" ref="6651f68d957189fe33cc81f2193b6ef6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::GeoConstraint::transform_longitude_to_pos_notation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given that the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> has a longitude map that uses the 'neg_pos' notation, transform it to the 'pos' notation. This method modifies the d_longitude <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a>. 
<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00132">132</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00549">set_bounding_box()</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="0f73deef1213b085f34d2d6be78eaff1"></a><!-- doxytag: member="libdap::GeoConstraint::GridGeoConstraintTest" ref="0f73deef1213b085f34d2d6be78eaff1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class GridGeoConstraintTest<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="classlibdap_1_1GridGeoConstraint.html#0f73deef1213b085f34d2d6be78eaff1">libdap::GridGeoConstraint</a>.</p>

<p>Definition at line <a class="el" href="GeoConstraint_8h_source.html#l00206">206</a> of file <a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="GeoConstraint_8h_source.html">GeoConstraint.h</a><li><a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 19:59:33 2009 for libdap++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>