<!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::base::ValidStateSampler 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"> </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>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </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_1base.html">base</a> </li> <li class="navelem"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html">ValidStateSampler</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">ompl::base::ValidStateSampler Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="ompl::base::ValidStateSampler" --> <p>Abstract definition of a state sampler. <a href="classompl_1_1base_1_1ValidStateSampler.html#details">More...</a></p> <p><code>#include <<a class="el" href="ValidStateSampler_8h_source.html">ValidStateSampler.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ompl::base::ValidStateSampler:</div> <div class="dyncontent"> <div class="center"><img src="classompl_1_1base_1_1ValidStateSampler__inherit__graph.png" border="0" usemap="#ompl_1_1base_1_1ValidStateSampler_inherit__map" alt="Inheritance graph"/></div> <map name="ompl_1_1base_1_1ValidStateSampler_inherit__map" id="ompl_1_1base_1_1ValidStateSampler_inherit__map"> <area shape="rect" id="node3" href="classompl_1_1base_1_1GaussianValidStateSampler.html" title="Generate valid samples using the Gaussian sampling strategy." alt="" coords="287,5,543,35"/><area shape="rect" id="node5" href="classompl_1_1base_1_1MaximizeClearanceValidStateSampler.html" title="Generate valid samples randomly, but with a bias towards higher clearance." alt="" coords="256,59,573,88"/><area shape="rect" id="node7" href="classompl_1_1base_1_1ObstacleBasedValidStateSampler.html" title="Generate valid samples using the Bridge Test." alt="" coords="269,112,560,141"/><area shape="rect" id="node9" href="classompl_1_1base_1_1UniformValidStateSampler.html" title="A state sampler that only samples valid states, uniformly." alt="" coords="291,165,539,195"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classompl_1_1base_1_1ValidStateSampler-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="a5893d51bbce7621ab0d00306d066496c"></a><!-- doxytag: member="ompl::base::ValidStateSampler::ValidStateSampler" ref="a5893d51bbce7621ab0d00306d066496c" args="(const SpaceInformation *si)" -->  </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#a5893d51bbce7621ab0d00306d066496c">ValidStateSampler</a> (const <a class="el" href="classompl_1_1base_1_1SpaceInformation.html">SpaceInformation</a> *si)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7a4903ec6a15f34d43a48b33191f0b1"></a><!-- doxytag: member="ompl::base::ValidStateSampler::getName" ref="af7a4903ec6a15f34d43a48b33191f0b1" args="(void) const " --> const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#af7a4903ec6a15f34d43a48b33191f0b1">getName</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the sampler. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03d9547f1d25a7f2f6f60edb5adfe56d"></a><!-- doxytag: member="ompl::base::ValidStateSampler::setName" ref="a03d9547f1d25a7f2f6f60edb5adfe56d" args="(const std::string &name)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#a03d9547f1d25a7f2f6f60edb5adfe56d">setName</a> (const std::string &name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the name of the sampler. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a011ee3910d747d806b00ff71bb66e1ea"></a><!-- doxytag: member="ompl::base::ValidStateSampler::sample" ref="a011ee3910d747d806b00ff71bb66e1ea" args="(State *state)=0" --> virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#a011ee3910d747d806b00ff71bb66e1ea">sample</a> (<a class="el" href="classompl_1_1base_1_1State.html">State</a> *state)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sample a state. Return false in case of failure. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#a86a022797e62aa7953d5381f0109c6a2">sampleNear</a> (<a class="el" href="classompl_1_1base_1_1State.html">State</a> *state, const <a class="el" href="classompl_1_1base_1_1State.html">State</a> *near, const double distance)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sample a state near another, within specified distance. Return false, in case of failure. <a href="#a86a022797e62aa7953d5381f0109c6a2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa134892ca5a8ae0c5ec2e37693787090"></a><!-- doxytag: member="ompl::base::ValidStateSampler::setNrAttempts" ref="aa134892ca5a8ae0c5ec2e37693787090" args="(unsigned int attempts)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#aa134892ca5a8ae0c5ec2e37693787090">setNrAttempts</a> (unsigned int attempts)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Finding a valid sample usually requires performing multiple attempts. This call allows setting the number of such attempts. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaafd349d971a98d0e9b072a243cb500"></a><!-- doxytag: member="ompl::base::ValidStateSampler::getNrAttempts" ref="abaafd349d971a98d0e9b072a243cb500" args="(void) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#abaafd349d971a98d0e9b072a243cb500">getNrAttempts</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of attempts to be performed by the sampling routine. <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="a66930cdb64d8d71e3b6ba5a5a1aee223"></a><!-- doxytag: member="ompl::base::ValidStateSampler::si_" ref="a66930cdb64d8d71e3b6ba5a5a1aee223" args="" --> const <a class="el" href="classompl_1_1base_1_1SpaceInformation.html">SpaceInformation</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#a66930cdb64d8d71e3b6ba5a5a1aee223">si_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The state space this sampler samples. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb624beff24c591763f5d9fc8e38037f"></a><!-- doxytag: member="ompl::base::ValidStateSampler::attempts_" ref="acb624beff24c591763f5d9fc8e38037f" args="" --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#acb624beff24c591763f5d9fc8e38037f">attempts_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of attempts to find a valid sample. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa81e8e1aac6d0c7a114aaa69b33a6631"></a><!-- doxytag: member="ompl::base::ValidStateSampler::name_" ref="aa81e8e1aac6d0c7a114aaa69b33a6631" args="" --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1base_1_1ValidStateSampler.html#aa81e8e1aac6d0c7a114aaa69b33a6631">name_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The name of the sampler. <br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Abstract definition of a state sampler. </p> <p>Definition at line <a class="el" href="ValidStateSampler_8h_source.html#l00060">60</a> of file <a class="el" href="ValidStateSampler_8h_source.html">ValidStateSampler.h</a>.</p> </div><hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a86a022797e62aa7953d5381f0109c6a2"></a><!-- doxytag: member="ompl::base::ValidStateSampler::sampleNear" ref="a86a022797e62aa7953d5381f0109c6a2" args="(State *state, const State *near, const double distance)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool ompl::base::ValidStateSampler::sampleNear </td> <td>(</td> <td class="paramtype"><a class="el" href="classompl_1_1base_1_1State.html">State</a> * </td> <td class="paramname"><em>state</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classompl_1_1base_1_1State.html">State</a> * </td> <td class="paramname"><em>near</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"><em>distance</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sample a state near another, within specified distance. Return false, in case of failure. </p> <dl class="note"><dt><b>Note:</b></dt><dd>The memory for <em>near</em> must be disjoint from the memory for <em>state</em> </dd></dl> <p>Implemented in <a class="el" href="classompl_1_1base_1_1GaussianValidStateSampler.html#afc6097a6245bc5ef69f4b64cc9c2a9cc">ompl::base::GaussianValidStateSampler</a>, <a class="el" href="classompl_1_1base_1_1MaximizeClearanceValidStateSampler.html#a077af975ea537fdad022383511ac85e9">ompl::base::MaximizeClearanceValidStateSampler</a>, <a class="el" href="classompl_1_1base_1_1ObstacleBasedValidStateSampler.html#afad6b002b2e87c31bae6ac5693709829">ompl::base::ObstacleBasedValidStateSampler</a>, and <a class="el" href="classompl_1_1base_1_1UniformValidStateSampler.html#a57f0088c965889490906f71ce4c64397">ompl::base::UniformValidStateSampler</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/ompl/base/<a class="el" href="ValidStateSampler_8h_source.html">ValidStateSampler.h</a></li> <li>src/ompl/base/src/<a class="el" href="ValidStateSampler_8cpp_source.html">ValidStateSampler.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"> </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>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </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> • <a href="http://www.cs.rice.edu">Department of Computer Science</a> • <a href="http://www.rice.edu">Rice University</a><br> <div class="gray">Generated on Sun Oct 9 2011 23:04:42 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.7.4</div> </div> </div> </body> </html>