<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>area_provider: ma Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.js"></script>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classma-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ma Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A class that holds the mission area, i.e., the area in which CPSs are allowed to move.  
 <a href="classma.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ma_8h_source.html">ma.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ma:</div>
<div class="dyncontent">
<div class="center"><img src="classma__inherit__graph.png" border="0" usemap="#ma_inherit__map" alt="Inheritance graph"/></div>
<map name="ma_inherit__map" id="ma_inherit__map">
<area shape="rect" title="A class that holds the mission area, i.e., the area in which CPSs are allowed to move." alt="" coords="9,80,52,107"/>
<area shape="rect" href="classarea.html" title="A class that holds the an area and offers related services." alt="" coords="5,5,56,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4ce661d1de7e6e3ea8a88a6c8f0b70f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#a4ce661d1de7e6e3ea8a88a6c8f0b70f2">ma</a> ()</td></tr>
<tr class="memdesc:a4ce661d1de7e6e3ea8a88a6c8f0b70f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that initializes mission area coordinates.  <a href="classma.html#a4ce661d1de7e6e3ea8a88a6c8f0b70f2">More...</a><br /></td></tr>
<tr class="separator:a4ce661d1de7e6e3ea8a88a6c8f0b70f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarea"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarea')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarea.html">area</a></td></tr>
<tr class="memitem:a330b6c4d93fbea75f60ac975313c983d inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a330b6c4d93fbea75f60ac975313c983d">area</a> ()</td></tr>
<tr class="memdesc:a330b6c4d93fbea75f60ac975313c983d inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that initializes the private member variables.  <a href="classarea.html#a330b6c4d93fbea75f60ac975313c983d">More...</a><br /></td></tr>
<tr class="separator:a330b6c4d93fbea75f60ac975313c983d inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0659d2b721466457e34484afab04e47c inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a0659d2b721466457e34484afab04e47c">get_area</a> (cpswarm_msgs::GetPoints::Request &amp;req, cpswarm_msgs::GetPoints::Response &amp;res)</td></tr>
<tr class="memdesc:a0659d2b721466457e34484afab04e47c inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the area coordinates.  <a href="classarea.html#a0659d2b721466457e34484afab04e47c">More...</a><br /></td></tr>
<tr class="separator:a0659d2b721466457e34484afab04e47c inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd913ac23971e599fc44ec31a7c9d68 inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a5dd913ac23971e599fc44ec31a7c9d68">get_center</a> (cpswarm_msgs::GetPoint::Request &amp;req, cpswarm_msgs::GetPoint::Response &amp;res)</td></tr>
<tr class="memdesc:a5dd913ac23971e599fc44ec31a7c9d68 inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the centroid of the area (<a href="https://en.wikipedia.org/wiki/Centroid#Of_a_polygon">https://en.wikipedia.org/wiki/Centroid#Of_a_polygon</a>).  <a href="classarea.html#a5dd913ac23971e599fc44ec31a7c9d68">More...</a><br /></td></tr>
<tr class="separator:a5dd913ac23971e599fc44ec31a7c9d68 inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f8f91dc566727a9b2d8eeb835e632e8 inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a0f8f91dc566727a9b2d8eeb835e632e8">get_distance</a> (cpswarm_msgs::GetDist::Request &amp;req, cpswarm_msgs::GetDist::Response &amp;res)</td></tr>
<tr class="memdesc:a0f8f91dc566727a9b2d8eeb835e632e8 inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the distance of a given point to the area boundary (outside or inside the area). Based on <a href="https://stackoverflow.com/questions/10983872/distance-from-a-point-to-a-polygon">https://stackoverflow.com/questions/10983872/distance-from-a-point-to-a-polygon</a> and <a href="https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment">https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment</a>.  <a href="classarea.html#a0f8f91dc566727a9b2d8eeb835e632e8">More...</a><br /></td></tr>
<tr class="separator:a0f8f91dc566727a9b2d8eeb835e632e8 inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfe3cde0d5c80a5a1660fc8dfb5f859c inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#acfe3cde0d5c80a5a1660fc8dfb5f859c">get_map</a> (cpswarm_msgs::GetMap::Request &amp;req, cpswarm_msgs::GetMap::Response &amp;res)</td></tr>
<tr class="memdesc:acfe3cde0d5c80a5a1660fc8dfb5f859c inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the map that represents the area.  <a href="classarea.html#acfe3cde0d5c80a5a1660fc8dfb5f859c">More...</a><br /></td></tr>
<tr class="separator:acfe3cde0d5c80a5a1660fc8dfb5f859c inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa717c832cbeb66e12e7a8fcef30f0939 inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#aa717c832cbeb66e12e7a8fcef30f0939">get_origin</a> (cpswarm_msgs::GetPoint::Request &amp;req, cpswarm_msgs::GetPoint::Response &amp;res)</td></tr>
<tr class="memdesc:aa717c832cbeb66e12e7a8fcef30f0939 inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the origin of the coordinate system.  <a href="classarea.html#aa717c832cbeb66e12e7a8fcef30f0939">More...</a><br /></td></tr>
<tr class="separator:aa717c832cbeb66e12e7a8fcef30f0939 inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d143859a1eca41342fedc9b9c8600b inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a86d143859a1eca41342fedc9b9c8600b">out_of_bounds</a> (cpswarm_msgs::OutOfBounds::Request &amp;req, cpswarm_msgs::OutOfBounds::Response &amp;res)</td></tr>
<tr class="memdesc:a86d143859a1eca41342fedc9b9c8600b inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether a position is within the area.  <a href="classarea.html#a86d143859a1eca41342fedc9b9c8600b">More...</a><br /></td></tr>
<tr class="separator:a86d143859a1eca41342fedc9b9c8600b inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6680911799897d1b8ca1b3d38525101 inherit pub_methods_classarea"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#ad6680911799897d1b8ca1b3d38525101">to_string</a> ()</td></tr>
<tr class="memdesc:ad6680911799897d1b8ca1b3d38525101 inherit pub_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string that uniquely represents the area.  <a href="classarea.html#ad6680911799897d1b8ca1b3d38525101">More...</a><br /></td></tr>
<tr class="separator:ad6680911799897d1b8ca1b3d38525101 inherit pub_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a0dd6ae4b7d0264754e84c9a26b230a8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#a0dd6ae4b7d0264754e84c9a26b230a8d">map_callback</a> (const nav_msgs::OccupancyGrid::ConstPtr &amp;msg)</td></tr>
<tr class="memdesc:a0dd6ae4b7d0264754e84c9a26b230a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to receive map updates.  <a href="classma.html#a0dd6ae4b7d0264754e84c9a26b230a8d">More...</a><br /></td></tr>
<tr class="separator:a0dd6ae4b7d0264754e84c9a26b230a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0be630a1e21c021e6e712e3a4857563d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#a0be630a1e21c021e6e712e3a4857563d">map_to_coords</a> ()</td></tr>
<tr class="memdesc:a0be630a1e21c021e6e712e3a4857563d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract coordinates from existing map.  <a href="classma.html#a0be630a1e21c021e6e712e3a4857563d">More...</a><br /></td></tr>
<tr class="separator:a0be630a1e21c021e6e712e3a4857563d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa52d464cd21904557198d9be3107df8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#aaa52d464cd21904557198d9be3107df8">read_coords</a> ()</td></tr>
<tr class="memdesc:aaa52d464cd21904557198d9be3107df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read mission area coordinates from ROS parameters. If global (GPS) coordinates are given they are converted to a local coordinate system.  <a href="classma.html#aaa52d464cd21904557198d9be3107df8">More...</a><br /></td></tr>
<tr class="separator:aaa52d464cd21904557198d9be3107df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3a7cf29a809f0a61c0c682d40544eeb2"><td class="memItemLeft" align="right" valign="top">Publisher&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#a3a7cf29a809f0a61c0c682d40544eeb2">map_publisher</a></td></tr>
<tr class="memdesc:a3a7cf29a809f0a61c0c682d40544eeb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Publisher to publish grid map.  <a href="classma.html#a3a7cf29a809f0a61c0c682d40544eeb2">More...</a><br /></td></tr>
<tr class="separator:a3a7cf29a809f0a61c0c682d40544eeb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee77bb9c34cc71537e0565d5f881c99e"><td class="memItemLeft" align="right" valign="top">Subscriber&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#aee77bb9c34cc71537e0565d5f881c99e">map_subscriber</a></td></tr>
<tr class="memdesc:aee77bb9c34cc71537e0565d5f881c99e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscriber to receive an existing map.  <a href="classma.html#aee77bb9c34cc71537e0565d5f881c99e">More...</a><br /></td></tr>
<tr class="separator:aee77bb9c34cc71537e0565d5f881c99e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78d617070544063c56457b92e21336b9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classma.html#a78d617070544063c56457b92e21336b9">publish_map</a></td></tr>
<tr class="memdesc:a78d617070544063c56457b92e21336b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether a grid map will be published.  <a href="classma.html#a78d617070544063c56457b92e21336b9">More...</a><br /></td></tr>
<tr class="separator:a78d617070544063c56457b92e21336b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classarea"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarea')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarea.html">area</a></td></tr>
<tr class="memitem:a62b41663e94e6ff2c3d83778cb6b04c9 inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">nav_msgs::OccupancyGrid&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a62b41663e94e6ff2c3d83778cb6b04c9">get_gridmap</a> (bool rotated=false, double <a class="el" href="classarea.html#acc804cb034d0eaa28f5fbba56f538e54">resolution</a>=0)</td></tr>
<tr class="memdesc:a62b41663e94e6ff2c3d83778cb6b04c9 inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a grid map from the given area coordinates.  <a href="classarea.html#a62b41663e94e6ff2c3d83778cb6b04c9">More...</a><br /></td></tr>
<tr class="separator:a62b41663e94e6ff2c3d83778cb6b04c9 inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2ad101e400c7e44534cd5960a56cb81 inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#af2ad101e400c7e44534cd5960a56cb81">global_to_local</a> ()</td></tr>
<tr class="memdesc:af2ad101e400c7e44534cd5960a56cb81 inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the coordinates of the area from global (GPS) coordinates to the local coordinate system.  <a href="classarea.html#af2ad101e400c7e44534cd5960a56cb81">More...</a><br /></td></tr>
<tr class="separator:af2ad101e400c7e44534cd5960a56cb81 inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0df347e3c69fec830b637de43bb9f2a5 inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">vector&lt; geometry_msgs::Point &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a0df347e3c69fec830b637de43bb9f2a5">set2vector</a> (set&lt; pair&lt; double, double &gt;&gt; set)</td></tr>
<tr class="memdesc:a0df347e3c69fec830b637de43bb9f2a5 inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a set of double pairs to a vector of geometry_msgs/Point.  <a href="classarea.html#a0df347e3c69fec830b637de43bb9f2a5">More...</a><br /></td></tr>
<tr class="separator:a0df347e3c69fec830b637de43bb9f2a5 inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d12a8eeed699c1d037e17ba76854f3c inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a3d12a8eeed699c1d037e17ba76854f3c">set_origin</a> ()</td></tr>
<tr class="memdesc:a3d12a8eeed699c1d037e17ba76854f3c inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the origin of the local coordinate system from the GPS starting position or given parameter.  <a href="classarea.html#a3d12a8eeed699c1d037e17ba76854f3c">More...</a><br /></td></tr>
<tr class="separator:a3d12a8eeed699c1d037e17ba76854f3c inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e8293857d5b3cf324d7676893bcafbc inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a1e8293857d5b3cf324d7676893bcafbc">sort_coords</a> ()</td></tr>
<tr class="memdesc:a1e8293857d5b3cf324d7676893bcafbc inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort the coordinates of the area counter-clockwise about the center by their angle [-π,π].  <a href="classarea.html#a1e8293857d5b3cf324d7676893bcafbc">More...</a><br /></td></tr>
<tr class="separator:a1e8293857d5b3cf324d7676893bcafbc inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a643cf2e7d1285ff9f1f206b78d592bf4 inherit pro_methods_classarea"><td class="memItemLeft" align="right" valign="top">set&lt; pair&lt; double, double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a643cf2e7d1285ff9f1f206b78d592bf4">vector2set</a> (vector&lt; geometry_msgs::Point &gt; vector)</td></tr>
<tr class="memdesc:a643cf2e7d1285ff9f1f206b78d592bf4 inherit pro_methods_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a vector of geometry_msgs/Point to a set of double pairs.  <a href="classarea.html#a643cf2e7d1285ff9f1f206b78d592bf4">More...</a><br /></td></tr>
<tr class="separator:a643cf2e7d1285ff9f1f206b78d592bf4 inherit pro_methods_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classarea"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classarea')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classarea.html">area</a></td></tr>
<tr class="memitem:aa8158ad7955107d6b43c44485a27b872 inherit pro_attribs_classarea"><td class="memItemLeft" align="right" valign="top">map&lt; double, set&lt; pair&lt; double, double &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#aa8158ad7955107d6b43c44485a27b872">coords</a></td></tr>
<tr class="memdesc:aa8158ad7955107d6b43c44485a27b872 inherit pro_attribs_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">The coordinates of the area at different rotations.  <a href="classarea.html#aa8158ad7955107d6b43c44485a27b872">More...</a><br /></td></tr>
<tr class="separator:aa8158ad7955107d6b43c44485a27b872 inherit pro_attribs_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eb55bca59864691f23b179e319884ec inherit pro_attribs_classarea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a0eb55bca59864691f23b179e319884ec">global</a></td></tr>
<tr class="memdesc:a0eb55bca59864691f23b179e319884ec inherit pro_attribs_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether global (GPS) or local coordinates are used as source.  <a href="classarea.html#a0eb55bca59864691f23b179e319884ec">More...</a><br /></td></tr>
<tr class="separator:a0eb55bca59864691f23b179e319884ec inherit pro_attribs_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b19ef007ee7041ea2f28ed26937f3b6 inherit pro_attribs_classarea"><td class="memItemLeft" align="right" valign="top">map&lt; double, map&lt; double, nav_msgs::OccupancyGrid &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a7b19ef007ee7041ea2f28ed26937f3b6">gridmaps</a></td></tr>
<tr class="memdesc:a7b19ef007ee7041ea2f28ed26937f3b6 inherit pro_attribs_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">The grid map representing the area at different rotations and resolutions.  <a href="classarea.html#a7b19ef007ee7041ea2f28ed26937f3b6">More...</a><br /></td></tr>
<tr class="separator:a7b19ef007ee7041ea2f28ed26937f3b6 inherit pro_attribs_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a474af94f136070aae06e096a7521c367 inherit pro_attribs_classarea"><td class="memItemLeft" align="right" valign="top">NodeHandle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#a474af94f136070aae06e096a7521c367">nh</a></td></tr>
<tr class="memdesc:a474af94f136070aae06e096a7521c367 inherit pro_attribs_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">A node handle for the main ROS node.  <a href="classarea.html#a474af94f136070aae06e096a7521c367">More...</a><br /></td></tr>
<tr class="separator:a474af94f136070aae06e096a7521c367 inherit pro_attribs_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc804cb034d0eaa28f5fbba56f538e54 inherit pro_attribs_classarea"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarea.html#acc804cb034d0eaa28f5fbba56f538e54">resolution</a></td></tr>
<tr class="memdesc:acc804cb034d0eaa28f5fbba56f538e54 inherit pro_attribs_classarea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolution of the grid map representing the area in meter / cell.  <a href="classarea.html#acc804cb034d0eaa28f5fbba56f538e54">More...</a><br /></td></tr>
<tr class="separator:acc804cb034d0eaa28f5fbba56f538e54 inherit pro_attribs_classarea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A class that holds the mission area, i.e., the area in which CPSs are allowed to move. </p>

<p class="definition">Definition at line <a class="el" href="ma_8h_source.html#l00009">9</a> of file <a class="el" href="ma_8h_source.html">ma.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4ce661d1de7e6e3ea8a88a6c8f0b70f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ce661d1de7e6e3ea8a88a6c8f0b70f2">&#9670;&nbsp;</a></span>ma()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ma::ma </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor that initializes mission area coordinates. </p>

<p class="definition">Definition at line <a class="el" href="ma_8cpp_source.html#l00003">3</a> of file <a class="el" href="ma_8cpp_source.html">ma.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a0dd6ae4b7d0264754e84c9a26b230a8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dd6ae4b7d0264754e84c9a26b230a8d">&#9670;&nbsp;</a></span>map_callback()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ma::map_callback </td>
          <td>(</td>
          <td class="paramtype">const nav_msgs::OccupancyGrid::ConstPtr &amp;&#160;</td>
          <td class="paramname"><em>msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Callback function to receive map updates. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msg</td><td>Pointer to the map message. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ma_8cpp_source.html#l00092">92</a> of file <a class="el" href="ma_8cpp_source.html">ma.cpp</a>.</p>

</div>
</div>
<a id="a0be630a1e21c021e6e712e3a4857563d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0be630a1e21c021e6e712e3a4857563d">&#9670;&nbsp;</a></span>map_to_coords()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ma::map_to_coords </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Extract coordinates from existing map. </p>

<p class="definition">Definition at line <a class="el" href="ma_8cpp_source.html#l00049">49</a> of file <a class="el" href="ma_8cpp_source.html">ma.cpp</a>.</p>

</div>
</div>
<a id="aaa52d464cd21904557198d9be3107df8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa52d464cd21904557198d9be3107df8">&#9670;&nbsp;</a></span>read_coords()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ma::read_coords </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read mission area coordinates from ROS parameters. If global (GPS) coordinates are given they are converted to a local coordinate system. </p>

<p class="definition">Definition at line <a class="el" href="ma_8cpp_source.html#l00072">72</a> of file <a class="el" href="ma_8cpp_source.html">ma.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a3a7cf29a809f0a61c0c682d40544eeb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a7cf29a809f0a61c0c682d40544eeb2">&#9670;&nbsp;</a></span>map_publisher</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Publisher ma::map_publisher</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Publisher to publish grid map. </p>

<p class="definition">Definition at line <a class="el" href="ma_8h_source.html#l00042">42</a> of file <a class="el" href="ma_8h_source.html">ma.h</a>.</p>

</div>
</div>
<a id="aee77bb9c34cc71537e0565d5f881c99e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee77bb9c34cc71537e0565d5f881c99e">&#9670;&nbsp;</a></span>map_subscriber</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Subscriber ma::map_subscriber</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Subscriber to receive an existing map. </p>

<p class="definition">Definition at line <a class="el" href="ma_8h_source.html#l00037">37</a> of file <a class="el" href="ma_8h_source.html">ma.h</a>.</p>

</div>
</div>
<a id="a78d617070544063c56457b92e21336b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78d617070544063c56457b92e21336b9">&#9670;&nbsp;</a></span>publish_map</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ma::publish_map</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Whether a grid map will be published. </p>

<p class="definition">Definition at line <a class="el" href="ma_8h_source.html#l00047">47</a> of file <a class="el" href="ma_8h_source.html">ma.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ma_8h_source.html">ma.h</a></li>
<li><a class="el" href="ma_8cpp_source.html">ma.cpp</a></li>
</ul>
</div><!-- contents -->

<br clear="all" />
<hr size="1"><div style="align: right;">
<a href="http://wiki.ros.org/area_provider">area_provider</a><br />
Author(s): Micha Sende <sende@lakeside-labs.com></br />
<small>autogenerated on Mon Jan 10 2022 15:13:45</small>
</div>
</body>
</html>
