Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 1099e73f16f15ba3cf656e619f52a447 > files > 842

ompl-devel-0.9.5-1.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"/>
<title>OMPL: ompl::geometric::PathGeometric Class Reference</title>
<meta name="author" content="Ioan A. Șucan, Mark Moll, Lydia E. Kavraki">
<link rel="stylesheet" href="../css/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print">
<!--[if lt IE 7]>
<script type="text/javascript" src="../js/jquery/jquery.js"></script>
<script type="text/javascript" src="../js/jquery/jquery.dropdown.js"></script>
<![endif]-->
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-9156598-2']);
  _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search API');
--></script>
<div class="navigation" id="top">
  <div class="tabs" id="ompltitle">
    <ul class="tablist">
      <li>The Open Motion Planning Library</li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search API" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>

  <ul id="nav" class="dropdown">
    <li class="first"><a href="index.html">Home</a></li>
    <li><a href="download.html">Download</a></li>
    <li><a href="documentation.html">Documentation</a></li>
    <li><span class="dir">Code API</span>
      <ul>
        <li><a href="api_overview.html">API Overview</a></li>
        <li><a href="namespaces.html">Namespaces</a></li>
        <li><a href="annotated.html">Classes</a></li>
        <li><a href="files.html">Files</a></li>
        <li><a href="dirs.html">Directories</a></li>
      </ul>
    </li>
    <li><span class="dir">Community</span>
      <ul>
        <li><a href="developers.html">Developers</a></li>
        <li><a href="thirdparty.html">Contributions</a></li>
        <li><a href="education.html">Education</a></li>
        <li><a href="gallery.html">Gallery</a></li>
      </ul>
    </li>
    <li><span class="dir">About</span>
      <ul>
        <li><a href="license.html">License</a></li>
        <li><a href="citations.html">Citations</a></li>
        <li><a href="acknowledgements.html">Acknowledgments</a></li>
        <li><a href="contact.html">Contact Us</a></li>
      </ul>
    </li>
  </ul>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
  <iframe src="" frameborder="0"name="MSearchResults" id="MSearchResults"></iframe>
</div>

<div class="container">
  <div class="span-22 push-2 first last">
  <div>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceompl.html">ompl</a>      </li>
      <li class="navelem"><a class="el" href="namespaceompl_1_1geometric.html">geometric</a>      </li>
      <li class="navelem"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">ompl::geometric::PathGeometric Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ompl::geometric::PathGeometric" --><!-- doxytag: inherits="ompl::base::Path" -->
<p>Definition of a geometric path.  
 <a href="classompl_1_1geometric_1_1PathGeometric.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PathGeometric_8h_source.html">PathGeometric.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ompl::geometric::PathGeometric:</div>
<div class="dyncontent">
<div class="center"><img src="classompl_1_1geometric_1_1PathGeometric__inherit__graph.png" border="0" usemap="#ompl_1_1geometric_1_1PathGeometric_inherit__map" alt="Inheritance graph"/></div>
<map name="ompl_1_1geometric_1_1PathGeometric_inherit__map" id="ompl_1_1geometric_1_1PathGeometric_inherit__map">
<area shape="rect" id="node2" href="classompl_1_1base_1_1Path.html" title="Abstract definition of a path." alt="" coords="51,5,171,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classompl_1_1geometric_1_1PathGeometric-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab85d32ca5bce67da74a3b116ac11fd73"></a><!-- doxytag: member="ompl::geometric::PathGeometric::PathGeometric" ref="ab85d32ca5bce67da74a3b116ac11fd73" args="(const base::SpaceInformationPtr &amp;si)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#ab85d32ca5bce67da74a3b116ac11fd73">PathGeometric</a> (const <a class="el" href="classompl_1_1base_1_1SpaceInformationPtr.html">base::SpaceInformationPtr</a> &amp;si)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a path instance for a given space information. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45d676fcc2896ecf9e9156bac2cba4fb"></a><!-- doxytag: member="ompl::geometric::PathGeometric::PathGeometric" ref="a45d676fcc2896ecf9e9156bac2cba4fb" args="(const PathGeometric &amp;path)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a45d676fcc2896ecf9e9156bac2cba4fb">PathGeometric</a> (const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e872d1a6b4528ec809b2fcc1e2c34bd"></a><!-- doxytag: member="ompl::geometric::PathGeometric::PathGeometric" ref="a1e872d1a6b4528ec809b2fcc1e2c34bd" args="(const base::SpaceInformationPtr &amp;si, const base::State *state)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a1e872d1a6b4528ec809b2fcc1e2c34bd">PathGeometric</a> (const <a class="el" href="classompl_1_1base_1_1SpaceInformationPtr.html">base::SpaceInformationPtr</a> &amp;si, const <a class="el" href="classompl_1_1base_1_1State.html">base::State</a> *state)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a path instance from a single state. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44bcadcd08a5c494557652d7f75f0e17"></a><!-- doxytag: member="ompl::geometric::PathGeometric::operator=" ref="a44bcadcd08a5c494557652d7f75f0e17" args="(const PathGeometric &amp;other)" -->
<a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a44bcadcd08a5c494557652d7f75f0e17">operator=</a> (const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4fde73b06380b9bcc7080150178574e2"></a><!-- doxytag: member="ompl::geometric::PathGeometric::length" ref="a4fde73b06380b9bcc7080150178574e2" args="(void) const " -->
virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a4fde73b06380b9bcc7080150178574e2">length</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the length of a geometric path (sum of lengths of segments that make up the path) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad73ad8a0b425d3c34280c8ba9289bba2"></a><!-- doxytag: member="ompl::geometric::PathGeometric::check" ref="ad73ad8a0b425d3c34280c8ba9289bba2" args="(void) const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#ad73ad8a0b425d3c34280c8ba9289bba2">check</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the path is valid. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe347b38e774fa6f5486db354d48b667"></a><!-- doxytag: member="ompl::geometric::PathGeometric::smoothness" ref="abe347b38e774fa6f5486db354d48b667" args="(void) const " -->
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#abe347b38e774fa6f5486db354d48b667">smoothness</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a notion of smootheness for this path. The closer the value is to 0, the smoother the path. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf32f1979b45d64904711f7b3661fd97"></a><!-- doxytag: member="ompl::geometric::PathGeometric::clearance" ref="acf32f1979b45d64904711f7b3661fd97" args="(void) const " -->
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#acf32f1979b45d64904711f7b3661fd97">clearance</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the clearance of the end points along the path (no interpolation is performed). The clearance for the points is averaged. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; bool, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a348f26bf4989964dddf791ef746a9098">checkAndRepair</a> (unsigned int attempts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the path is valid. If it is not, attempts are made to fix the path by sampling around invalid states. Not more than <em>attempts</em> samples are drawn. A pair of boolean values is returned. The first value represents the validity of the path before any change was made. The second value represents the validity of the path after changes were attempted. If no changes are attempted, the both values are true.  <a href="#a348f26bf4989964dddf791ef746a9098"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a27d7d046e4fc52a18966cec79adbc1"></a><!-- doxytag: member="ompl::geometric::PathGeometric::print" ref="a7a27d7d046e4fc52a18966cec79adbc1" args="(std::ostream &amp;out) const " -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a7a27d7d046e4fc52a18966cec79adbc1">print</a> (std::ostream &amp;out) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the path to a stream. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29c50018bc71d4d25b0f8e4d3e97aecd"></a><!-- doxytag: member="ompl::geometric::PathGeometric::interpolate" ref="a29c50018bc71d4d25b0f8e4d3e97aecd" args="(unsigned int count)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a29c50018bc71d4d25b0f8e4d3e97aecd">interpolate</a> (unsigned int count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert a number of states in a path so that the path is made up of exactly <em>count</em> states. States are inserted uniformly (more states on longer segments). Changes are performed only if a path has less than <em>count</em> states. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fa9d71073d2098993f96f056f69216e"></a><!-- doxytag: member="ompl::geometric::PathGeometric::interpolate" ref="a1fa9d71073d2098993f96f056f69216e" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a1fa9d71073d2098993f96f056f69216e">interpolate</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert a number of states in a path so that the path is made up of (approximately) the states checked for validity when a discrete motion validator is used. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25f2ba684dce223adba8a3d896934e2a"></a><!-- doxytag: member="ompl::geometric::PathGeometric::subdivide" ref="a25f2ba684dce223adba8a3d896934e2a" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a25f2ba684dce223adba8a3d896934e2a">subdivide</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a state at the middle of each segment. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4b56284e4b049df559fcb1320f69fa5"></a><!-- doxytag: member="ompl::geometric::PathGeometric::reverse" ref="ae4b56284e4b049df559fcb1320f69fa5" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#ae4b56284e4b049df559fcb1320f69fa5">reverse</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse the path. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#addc7c545fa8a284978c1e1e016425779">overlay</a> (const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;over, unsigned int startIndex=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Overlay the path <em>over</em> on top of the current path. States are added to the current path if needed (by copying the last state).  <a href="#addc7c545fa8a284978c1e1e016425779"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#aa054135956c0ce6c7c447451a0a02cbb">append</a> (const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Append <em>path</em> at the end of this path.  <a href="#aa054135956c0ce6c7c447451a0a02cbb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f6694c69e6e19c1f6961f5e47db4440"></a><!-- doxytag: member="ompl::geometric::PathGeometric::random" ref="a3f6694c69e6e19c1f6961f5e47db4440" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a3f6694c69e6e19c1f6961f5e47db4440">random</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set this path to a random segment. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1441132f612f309257fb172def71de1a"></a><!-- doxytag: member="ompl::geometric::PathGeometric::randomValid" ref="a1441132f612f309257fb172def71de1a" args="(unsigned int attempts)" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a1441132f612f309257fb172def71de1a">randomValid</a> (unsigned int attempts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set this path to a random valid segment. Sample <em>attempts</em> times for valid segments. Returns true on success. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a729dab22338b733888bc2f9c9769a4"></a><!-- doxytag: member="ompl::geometric::PathGeometric::states" ref="a3a729dab22338b733888bc2f9c9769a4" args="" -->
std::vector&lt; <a class="el" href="classompl_1_1base_1_1State.html">base::State</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a3a729dab22338b733888bc2f9c9769a4">states</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of states that make up the path. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b42ad4c2bfbda7d61ba5156f7e25bc6"></a><!-- doxytag: member="ompl::geometric::PathGeometric::freeMemory" ref="a4b42ad4c2bfbda7d61ba5156f7e25bc6" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a4b42ad4c2bfbda7d61ba5156f7e25bc6">freeMemory</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the memory corresponding to the states on this path. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79b0a01a8075a16666b475e1c0227968"></a><!-- doxytag: member="ompl::geometric::PathGeometric::copyFrom" ref="a79b0a01a8075a16666b475e1c0227968" args="(const PathGeometric &amp;other)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a79b0a01a8075a16666b475e1c0227968">copyFrom</a> (const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data to this path from another path instance. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Definition of a geometric path. </p>
<p>This is the type of path computed by geometric planners. </p>

<p>Definition at line <a class="el" href="PathGeometric_8h_source.html#l00055">55</a> of file <a class="el" href="PathGeometric_8h_source.html">PathGeometric.h</a>.</p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa054135956c0ce6c7c447451a0a02cbb"></a><!-- doxytag: member="ompl::geometric::PathGeometric::append" ref="aa054135956c0ce6c7c447451a0a02cbb" args="(const PathGeometric &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ompl::geometric::PathGeometric::append </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append <em>path</em> at the end of this path. </p>
<p>Let the existing path consist of states [ <em>s1</em>, <em>s2</em>, ..., <em>sk</em> ]. Let <em>path</em> consist of states [<em>y1</em>, ..., <em>yp</em>].</p>
<p>If the existing path and <em>path</em> consist of states from the same state space, [<em>y1</em>, ..., <em>yp</em>] are added after <em>sk</em>. If they are not from the same state space, states [<em>z1</em>, ..., <em>zp</em>] are added, where each <em>zi</em> is a copy of <em>sk</em> that has components overwritten with ones in <em>yi</em> (if there are any common subspaces). </p>

<p>Definition at line <a class="el" href="PathGeometric_8cpp_source.html#l00385">385</a> of file <a class="el" href="PathGeometric_8cpp_source.html">PathGeometric.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a348f26bf4989964dddf791ef746a9098"></a><!-- doxytag: member="ompl::geometric::PathGeometric::checkAndRepair" ref="a348f26bf4989964dddf791ef746a9098" args="(unsigned int attempts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt; bool, bool &gt; ompl::geometric::PathGeometric::checkAndRepair </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>attempts</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the path is valid. If it is not, attempts are made to fix the path by sampling around invalid states. Not more than <em>attempts</em> samples are drawn. A pair of boolean values is returned. The first value represents the validity of the path before any change was made. The second value represents the validity of the path after changes were attempted. If no changes are attempted, the both values are true. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>If repairing a path fails, the path may still be altered </dd></dl>

<p>Definition at line <a class="el" href="PathGeometric_8cpp_source.html#l00147">147</a> of file <a class="el" href="PathGeometric_8cpp_source.html">PathGeometric.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="addc7c545fa8a284978c1e1e016425779"></a><!-- doxytag: member="ompl::geometric::PathGeometric::overlay" ref="addc7c545fa8a284978c1e1e016425779" args="(const PathGeometric &amp;over, unsigned int startIndex=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ompl::geometric::PathGeometric::overlay </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td>
          <td class="paramname"><em>over</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>startIndex</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Overlay the path <em>over</em> on top of the current path. States are added to the current path if needed (by copying the last state). </p>
<p>If <em>over</em> consists of states form a different state space than the existing path, the data from those states is copied over, for the corresponding components. If <em>over</em> is from the same state space as this path, and <em>startIndex</em> is 0, this function's result will be the same as with <a class="el" href="classompl_1_1geometric_1_1PathGeometric.html#a44bcadcd08a5c494557652d7f75f0e17" title="Assignment operator.">operator=()</a> </p>

<p>Definition at line <a class="el" href="PathGeometric_8cpp_source.html#l00364">364</a> of file <a class="el" href="PathGeometric_8cpp_source.html">PathGeometric.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/ompl/geometric/<a class="el" href="PathGeometric_8h_source.html">PathGeometric.h</a></li>
<li>src/ompl/geometric/src/<a class="el" href="PathGeometric_8cpp_source.html">PathGeometric.cpp</a></li>
</ul>
</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div>

<div class="footer span-22 push-2 last">
  <a href="http://www.kavrakilab.org">Physical and Biological Computing Group</a> &bull;
  <a href="http://www.cs.rice.edu">Department of Computer Science</a> &bull;
  <a href="http://www.rice.edu">Rice University</a><br>
  <div class="gray">Generated on Sun Oct 9 2011 23:04:32 by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.7.4</div>
</div>
</div>
</body>
</html>