Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > e7618febbb9cbed15bb79e326774c050 > files > 847

ompl-devel-0.9.5-1.fc14.i686.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::PathSimplifier 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_1PathSimplifier.html">PathSimplifier</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ompl::geometric::PathSimplifier Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ompl::geometric::PathSimplifier" -->
<p>This class contains routines that attempt to simplify geometric paths.  
 <a href="classompl_1_1geometric_1_1PathSimplifier.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PathSimplifier_8h_source.html">PathSimplifier.h</a>&gt;</code></p>

<p><a href="classompl_1_1geometric_1_1PathSimplifier-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="ab784aaf580bede34703d925e26242310"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::PathSimplifier" ref="ab784aaf580bede34703d925e26242310" args="(const base::SpaceInformationPtr &amp;si)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathSimplifier.html#ab784aaf580bede34703d925e26242310">PathSimplifier</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">Create an instance for a specified space information. <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_1PathSimplifier.html#a32767a7fb6e786aa1567597c30fdad3f">reduceVertices</a> (<a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0, double rangeRatio=0.2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states along the path. If the connection is successful, the path is shortened by removing the in-between states.  <a href="#a32767a7fb6e786aa1567597c30fdad3f"></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_1PathSimplifier.html#a400f14821697fd98b95d95cfd39b4895">collapseCloseVertices</a> (<a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states that are close along the path. If the connection is successful, the path is shortened by removing the in-between states.  <a href="#a400f14821697fd98b95d95cfd39b4895"></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_1PathSimplifier.html#aa4ecd0970d2061c457f57b7665fd6f6b">smoothBSpline</a> (<a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;path, unsigned int maxSteps=5, double minChange=std::numeric_limits&lt; double &gt;::epsilon())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a path, attempt to smooth it (the validity of the path is maintained).  <a href="#aa4ecd0970d2061c457f57b7665fd6f6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dc99833c0ee64ddd5ab8e9a73c0fdc0"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::simplifyMax" ref="a7dc99833c0ee64ddd5ab8e9a73c0fdc0" args="(PathGeometric &amp;path)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathSimplifier.html#a7dc99833c0ee64ddd5ab8e9a73c0fdc0">simplifyMax</a> (<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">Given a path, attempt to remove vertices from it while keeping the path valid. Then, try to smooth the path. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37aa79782fd655f32d3b67a748e9a0db"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::si_" ref="a37aa79782fd655f32d3b67a748e9a0db" args="" -->
<a class="el" href="classompl_1_1base_1_1SpaceInformationPtr.html">base::SpaceInformationPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathSimplifier.html#a37aa79782fd655f32d3b67a748e9a0db">si_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The space information this path simplifier uses. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad022db6be6de403569e517ed0910d2cb"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::rng_" ref="ad022db6be6de403569e517ed0910d2cb" args="" -->
<a class="el" href="classompl_1_1RNG.html">RNG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathSimplifier.html#ad022db6be6de403569e517ed0910d2cb">rng_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Instance of random number generator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d92f5f07ec95ed7c5eddc1911580f54"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::msg_" ref="a1d92f5f07ec95ed7c5eddc1911580f54" args="" -->
<a class="el" href="classompl_1_1msg_1_1Interface.html">msg::Interface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1PathSimplifier.html#a1d92f5f07ec95ed7c5eddc1911580f54">msg_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for console output. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class contains routines that attempt to simplify geometric paths. </p>
<p>These are in fact routines that shorten the path, and do not necessarily make it smoother. </p>

<p>Definition at line <a class="el" href="PathSimplifier_8h_source.html#l00063">63</a> of file <a class="el" href="PathSimplifier_8h_source.html">PathSimplifier.h</a>.</p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a400f14821697fd98b95d95cfd39b4895"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::collapseCloseVertices" ref="a400f14821697fd98b95d95cfd39b4895" args="(PathGeometric &amp;path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ompl::geometric::PathSimplifier::collapseCloseVertices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxSteps</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxEmptySteps</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states that are close along the path. If the connection is successful, the path is shortened by removing the in-between states. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>the path to reduce vertices from</td></tr>
    <tr><td class="paramname">maxSteps</td><td>the maximum number of attempts to "short-cut" the path. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in <em>path</em>. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in <em>path</em>.</td></tr>
    <tr><td class="paramname">maxEmptySteps</td><td>not all iterations of this function produce a simplification. If an iteration does not produce a simplification, it is called an empty step. <em>maxEmptySteps</em> denotes the maximum number of consecutive empty steps before the simplification process terminates. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="PathSimplifier_8cpp_source.html#l00134">134</a> of file <a class="el" href="PathSimplifier_8cpp_source.html">PathSimplifier.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a32767a7fb6e786aa1567597c30fdad3f"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::reduceVertices" ref="a32767a7fb6e786aa1567597c30fdad3f" args="(PathGeometric &amp;path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0, double rangeRatio=0.2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ompl::geometric::PathSimplifier::reduceVertices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxSteps</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxEmptySteps</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rangeRatio</em> = <code>0.2</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states along the path. If the connection is successful, the path is shortened by removing the in-between states. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>the path to reduce vertices from</td></tr>
    <tr><td class="paramname">maxSteps</td><td>the maximum number of attempts to "short-cut" the path. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in <em>path</em>.</td></tr>
    <tr><td class="paramname">maxEmptySteps</td><td>not all iterations of this function produce a simplification. If an iteration does not produce a simplification, it is called an empty step. <em>maxEmptySteps</em> denotes the maximum number of consecutive empty steps before the simplification process terminates. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in <em>path</em>.</td></tr>
    <tr><td class="paramname">rangeRatio</td><td>the maximum distance between states a connection is attempted, as a fraction relative to the total number of states (between 0 and 1). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="PathSimplifier_8cpp_source.html#l00088">88</a> of file <a class="el" href="PathSimplifier_8cpp_source.html">PathSimplifier.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa4ecd0970d2061c457f57b7665fd6f6b"></a><!-- doxytag: member="ompl::geometric::PathSimplifier::smoothBSpline" ref="aa4ecd0970d2061c457f57b7665fd6f6b" args="(PathGeometric &amp;path, unsigned int maxSteps=5, double minChange=std::numeric_limits&lt; double &gt;::epsilon())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ompl::geometric::PathSimplifier::smoothBSpline </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classompl_1_1geometric_1_1PathGeometric.html">PathGeometric</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxSteps</em> = <code>5</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>minChange</em> = <code>std::numeric_limits&lt;double&gt;::epsilon()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a path, attempt to smooth it (the validity of the path is maintained). </p>
<p>This function applies <em>maxSteps</em> steps of smoothing with B-Splines. Fewer steps are applied if no progress is detected: states are either not updated or their update is smaller than <em>minChange</em>. At each step the path is subdivided and states along it are updated such that the smoothness is improved.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This function may significantly increase the number of states along the solution path. </dd></dl>

<p>Definition at line <a class="el" href="PathSimplifier_8cpp_source.html#l00046">46</a> of file <a class="el" href="PathSimplifier_8cpp_source.html">PathSimplifier.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="PathSimplifier_8h_source.html">PathSimplifier.h</a></li>
<li>src/ompl/geometric/src/<a class="el" href="PathSimplifier_8cpp_source.html">PathSimplifier.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:43 by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.7.4</div>
</div>
</div>
</body>
</html>