<!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::GAIK 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_1geometric.html">geometric</a> </li> <li class="navelem"><a class="el" href="classompl_1_1geometric_1_1GAIK.html">GAIK</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">ompl::geometric::GAIK Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="ompl::geometric::GAIK" --> <p>Inverse Kinematics with Genetic Algorithms. <a href="classompl_1_1geometric_1_1GAIK.html#details">More...</a></p> <p><code>#include <<a class="el" href="GAIK_8h_source.html">GAIK.h</a>></code></p> <p><a href="classompl_1_1geometric_1_1GAIK-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>Individual</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>IndividualSort</b></td></tr> <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="a52056379cbea6e9d849d4ed508235b7e"></a><!-- doxytag: member="ompl::geometric::GAIK::GAIK" ref="a52056379cbea6e9d849d4ed508235b7e" args="(const base::SpaceInformationPtr &si)" -->  </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a52056379cbea6e9d849d4ed508235b7e">GAIK</a> (const <a class="el" href="classompl_1_1base_1_1SpaceInformationPtr.html">base::SpaceInformationPtr</a> &si)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an instance of a genetic algorithm for inverse kinematics given the space information to search within. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6bd5e917a6e185ffa976b844d2fc326"></a><!-- doxytag: member="ompl::geometric::GAIK::solve" ref="ab6bd5e917a6e185ffa976b844d2fc326" args="(double solveTime, const base::GoalRegion &goal, base::State *result, const std::vector< base::State * > &hint=std::vector< base::State * >())" --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ab6bd5e917a6e185ffa976b844d2fc326">solve</a> (double solveTime, const <a class="el" href="classompl_1_1base_1_1GoalRegion.html">base::GoalRegion</a> &goal, <a class="el" href="classompl_1_1base_1_1State.html">base::State</a> *result, const std::vector< <a class="el" href="classompl_1_1base_1_1State.html">base::State</a> * > &hint=std::vector< <a class="el" href="classompl_1_1base_1_1State.html">base::State</a> * >())</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Find a state that fits the request. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab371ba978e6d71bf15f34f5504b28151"></a><!-- doxytag: member="ompl::geometric::GAIK::setMaxImproveSteps" ref="ab371ba978e6d71bf15f34f5504b28151" args="(unsigned int maxSteps)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ab371ba978e6d71bf15f34f5504b28151">setMaxImproveSteps</a> (unsigned int maxSteps)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of steps to perform when using hill climbing to improve an individual in the population. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02c30d3414073ec7ad343923e7c8b83c"></a><!-- doxytag: member="ompl::geometric::GAIK::getMaxImproveSteps" ref="a02c30d3414073ec7ad343923e7c8b83c" args="(void) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a02c30d3414073ec7ad343923e7c8b83c">getMaxImproveSteps</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of steps to perform when using hill climbing to improve an individual in the population. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56827a543d87ef81ffcec2baf19cd5e0"></a><!-- doxytag: member="ompl::geometric::GAIK::setValidityCheck" ref="a56827a543d87ef81ffcec2baf19cd5e0" args="(bool valid)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a56827a543d87ef81ffcec2baf19cd5e0">setValidityCheck</a> (bool valid)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the state validity flag; if this is false, states are not checked for validity. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12c666ade172939e497be7559162ef54"></a><!-- doxytag: member="ompl::geometric::GAIK::getValidityCheck" ref="a12c666ade172939e497be7559162ef54" args="(void) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a12c666ade172939e497be7559162ef54">getValidityCheck</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the state validity flag; if this is false, states are not checked for validity. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee2658737a44ffa7cd1e623299d74f24"></a><!-- doxytag: member="ompl::geometric::GAIK::setPoolSize" ref="aee2658737a44ffa7cd1e623299d74f24" args="(unsigned int size)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#aee2658737a44ffa7cd1e623299d74f24">setPoolSize</a> (unsigned int size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of individuals in the population. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a621475f0effc0ab4e3842aab635d4aab"></a><!-- doxytag: member="ompl::geometric::GAIK::getPoolSize" ref="a621475f0effc0ab4e3842aab635d4aab" args="(void) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a621475f0effc0ab4e3842aab635d4aab">getPoolSize</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number number of individuals in the population. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66971c6c3f028121a427edacb87db8c6"></a><!-- doxytag: member="ompl::geometric::GAIK::setPoolMutationSize" ref="a66971c6c3f028121a427edacb87db8c6" args="(unsigned int size)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#a66971c6c3f028121a427edacb87db8c6">setPoolMutationSize</a> (unsigned int size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of individuals to mutate at each generation. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7a55691e50fd12ca7c3e689c167d2aa"></a><!-- doxytag: member="ompl::geometric::GAIK::getPoolMutationSize" ref="ae7a55691e50fd12ca7c3e689c167d2aa" args="(void) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ae7a55691e50fd12ca7c3e689c167d2aa">getPoolMutationSize</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of individuals that are mutated at each generation. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7548a3746c004fa6090b7e55c43f9f5"></a><!-- doxytag: member="ompl::geometric::GAIK::setPoolRandomSize" ref="ac7548a3746c004fa6090b7e55c43f9f5" args="(unsigned int size)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ac7548a3746c004fa6090b7e55c43f9f5">setPoolRandomSize</a> (unsigned int size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of individuals to randomly sample at each generation. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2b5a11624751f941f2651ce0f60bbab"></a><!-- doxytag: member="ompl::geometric::GAIK::getPoolRandomSize" ref="ac2b5a11624751f941f2651ce0f60bbab" args="(void) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ac2b5a11624751f941f2651ce0f60bbab">getPoolRandomSize</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of individuals to randomly sample at each generation. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb034aedbb214574c8384bb95d75ac65"></a><!-- doxytag: member="ompl::geometric::GAIK::setRange" ref="aeb034aedbb214574c8384bb95d75ac65" args="(double distance)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#aeb034aedbb214574c8384bb95d75ac65">setRange</a> (double distance)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the range (distance) to be used when sampling around a state. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9f7d1940b6694fb1be283d33fb02c9f"></a><!-- doxytag: member="ompl::geometric::GAIK::getRange" ref="ab9f7d1940b6694fb1be283d33fb02c9f" args="(void) const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classompl_1_1geometric_1_1GAIK.html#ab9f7d1940b6694fb1be283d33fb02c9f">getRange</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the range <a class="el" href="classompl_1_1geometric_1_1GAIK.html" title="Inverse Kinematics with Genetic Algorithms.">GAIK</a> is using. <br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Inverse Kinematics with Genetic Algorithms. </p> <p><a class="anchor" id="GAIK"></a></p> <dl class="user"><dt><b>Short description</b></dt><dd></dd></dl> <p><a class="el" href="classompl_1_1geometric_1_1GAIK.html" title="Inverse Kinematics with Genetic Algorithms.">GAIK</a> does inverse kinematics, but makes sure the produced goal states are in fact valid.</p> <dl class="user"><dt><b>External documentation</b></dt><dd></dd></dl> <p>Definition at line <a class="el" href="GAIK_8h_source.html#l00063">63</a> of file <a class="el" href="GAIK_8h_source.html">GAIK.h</a>.</p> </div><hr/>The documentation for this class was generated from the following files:<ul> <li>src/ompl/geometric/ik/<a class="el" href="GAIK_8h_source.html">GAIK.h</a></li> <li>src/ompl/geometric/ik/src/<a class="el" href="GAIK_8cpp_source.html">GAIK.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:43 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.7.4</div> </div> </div> </body> </html>