<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>The MRPT project: mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.6.2-20100208 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="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> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <img id="MSearchSelect" src="search/search.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacemrpt.html">mrpt</a>::<a class="el" href="namespacemrpt_1_1reactivenav.html">reactivenav</a>::<a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator.html">CParameterizedTrajectoryGenerator</a>::<a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html">CColisionGrid</a> </div> </div> <div class="contents"> <h1>mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid Class Reference</h1><!-- doxytag: class="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid" --><!-- doxytag: inherits="CDynamicGrid< TCollisionCell >" --> <p>An internal class for storing the collision grid. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="_c_parameterized_trajectory_generator_8h_source.html">mrpt/reactivenav/CParameterizedTrajectoryGenerator.h</a>></code></p> <div class="dynheader"> Inheritance diagram for mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid:</div> <div class="dynsection"> <div class="center"><img src="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid__inherit__graph.png" border="0" usemap="#mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_inherit__map" alt="Inheritance graph"/></div> <map name="mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_inherit__map" id="mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_inherit__map"> <area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_dynamic_grid.html" title="mrpt::utils::CDynamicGrid\< TCollisionCell \>" alt="" coords="81,5,359,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid:</div> <div class="dynsection"> <div class="center"><img src="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid__coll__graph.png" border="0" usemap="#mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_coll__map" alt="Collaboration graph"/></div> <map name="mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_coll__map" id="mrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid_coll__map"> <area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_dynamic_grid.html" title="mrpt::utils::CDynamicGrid\< TCollisionCell \>" alt="" coords="81,293,359,323"/><area shape="rect" id="node6" title="STL class." alt="" coords="159,101,281,131"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#a96a683b9fee57148b13ba3103f596689">CColisionGrid</a> (float x_min, float x_max, float y_min, float y_max, float resolution)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#a674c63db1bd40c486ba7b17970f5a916">~CColisionGrid</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#a3cbee35be8a67c7f2afe8d1d93588b79">saveToFile</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> *fil)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save to file, true = OK. <a href="#a3cbee35be8a67c7f2afe8d1d93588b79"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#a990e3d5180190517bb60c39d291a9e46">loadFromFile</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> *fil)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load from file, true = OK. <a href="#a990e3d5180190517bb60c39d291a9e46"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator.html#a48d4d875517a397472db828e6bea38ca">TCollisionCell</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#afafb095a7f03adc1ac0a93b348d38bcd">getTPObstacle</a> (const float obsX, const float obsY) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">For an obstacle (x,y), returns a vector with all the pairs (a,d) such as the robot collides. <a href="#afafb095a7f03adc1ac0a93b348d38bcd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator_1_1_c_colision_grid.html#a9f74cb4c128672c4854df0cc8c599762">updateCellInfo</a> (const unsigned int icx, const unsigned int icy, const uint16_t k, const float dist)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Updates the info into a cell: It updates the cell only if the distance d for the path k is lower than the previous value:. <a href="#a9f74cb4c128672c4854df0cc8c599762"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>An internal class for storing the collision grid. </p> <p>Definition at line <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html#l00184">184</a> of file <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html">CParameterizedTrajectoryGenerator.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a96a683b9fee57148b13ba3103f596689"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::CColisionGrid" ref="a96a683b9fee57148b13ba3103f596689" args="(float x_min, float x_max, float y_min, float y_max, float resolution)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::CColisionGrid </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>x_min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>x_max</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>y_min</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>y_max</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>resolution</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html#l00187">187</a> of file <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html">CParameterizedTrajectoryGenerator.h</a>.</p> </div> </div> <a class="anchor" id="a674c63db1bd40c486ba7b17970f5a916"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::~CColisionGrid" ref="a674c63db1bd40c486ba7b17970f5a916" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::~CColisionGrid </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html#l00191">191</a> of file <a class="el" href="_c_parameterized_trajectory_generator_8h_source.html">CParameterizedTrajectoryGenerator.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="afafb095a7f03adc1ac0a93b348d38bcd"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::getTPObstacle" ref="afafb095a7f03adc1ac0a93b348d38bcd" args="(const float obsX, const float obsY) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classmrpt_1_1reactivenav_1_1_c_parameterized_trajectory_generator.html#a48d4d875517a397472db828e6bea38ca">TCollisionCell</a>& mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::getTPObstacle </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>obsX</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>obsY</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>For an obstacle (x,y), returns a vector with all the pairs (a,d) such as the robot collides. </p> </div> </div> <a class="anchor" id="a990e3d5180190517bb60c39d291a9e46"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::loadFromFile" ref="a990e3d5180190517bb60c39d291a9e46" args="(mrpt::utils::CStream *fil)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::loadFromFile </td> <td>(</td> <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> * </td> <td class="paramname"> <em>fil</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Load from file, true = OK. </p> </div> </div> <a class="anchor" id="a3cbee35be8a67c7f2afe8d1d93588b79"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::saveToFile" ref="a3cbee35be8a67c7f2afe8d1d93588b79" args="(mrpt::utils::CStream *fil)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::saveToFile </td> <td>(</td> <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> * </td> <td class="paramname"> <em>fil</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Save to file, true = OK. </p> </div> </div> <a class="anchor" id="a9f74cb4c128672c4854df0cc8c599762"></a><!-- doxytag: member="mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::updateCellInfo" ref="a9f74cb4c128672c4854df0cc8c599762" args="(const unsigned int icx, const unsigned int icy, const uint16_t k, const float dist)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid::updateCellInfo </td> <td>(</td> <td class="paramtype">const unsigned int </td> <td class="paramname"> <em>icx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned int </td> <td class="paramname"> <em>icy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint16_t </td> <td class="paramname"> <em>k</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>dist</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Updates the info into a cell: It updates the cell only if the distance d for the path k is lower than the previous value:. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cellInfo</em> </td><td>The index of the cell </td></tr> <tr><td valign="top"></td><td valign="top"><em>k</em> </td><td>The path index (alfa discreet value) </td></tr> <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>The distance (in TP-Space, range 0..1) to collision. </td></tr> </table> </dd> </dl> </div> </div> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.6.2-20100208</a> for MRPT 0.9.0 SVN: at Wed Jul 14 12:48:09 UTC 2010</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>