Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 6450

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!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>geometry.h File 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> &gt; <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.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">geometry.h File Reference</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="utils__defs_8h_source.html">mrpt/utils/utils_defs.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_matrix_template_numeric_8h_source.html">mrpt/math/CMatrixTemplateNumeric.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_point2_d_8h_source.html">mrpt/poses/CPoint2D.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_point3_d_8h_source.html">mrpt/poses/CPoint3D.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_pose2_d_8h_source.html">mrpt/poses/CPose2D.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_pose3_d_8h_source.html">mrpt/poses/CPose3D.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="lightweight__geom__data_8h_source.html">mrpt/math/lightweight_geom_data.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_c_sparse_matrix_template_8h_source.html">mrpt/math/CSparseMatrixTemplate.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">mrpt/math/utils.h</a>&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for geometry.h:</div>
<div class="dyncontent">
<div class="center"><img src="geometry_8h__incl.png" border="0" usemap="#geometry_8h" alt=""/></div>
<map name="geometry_8h" id="geometry_8h">
<area shape="rect" id="node3" href="utils__defs_8h.html" title="mrpt/utils/utils_defs.h" alt="" coords="1205,453,1352,480"/><area shape="rect" id="node81" href="_c_matrix_template_numeric_8h.html" title="mrpt/math/CMatrixTemplateNumeric.h" alt="" coords="1588,304,1833,331"/><area shape="rect" id="node93" href="_c_point2_d_8h.html" title="mrpt/poses/CPoint2D.h" alt="" coords="272,80,430,107"/><area shape="rect" id="node98" href="_c_point3_d_8h.html" title="mrpt/poses/CPoint3D.h" alt="" coords="455,80,613,107"/><area shape="rect" id="node101" href="_c_pose3_d_8h.html" title="mrpt/poses/CPose3D.h" alt="" coords="451,155,609,181"/><area shape="rect" id="node112" href="_c_pose2_d_8h.html" title="mrpt/poses/CPose2D.h" alt="" coords="634,155,792,181"/><area shape="rect" id="node116" href="lightweight__geom__data_8h.html" title="mrpt/math/lightweight_geom_data.h" alt="" coords="54,304,284,331"/><area shape="rect" id="node128" href="_c_sparse_matrix_template_8h.html" title="mrpt/math/CSparseMatrixTemplate.h" alt="" coords="868,80,1104,107"/><area shape="rect" id="node131" href="base_2include_2mrpt_2math_2utils_8h.html" title="mrpt/math/utils.h" alt="" coords="1388,155,1508,181"/><area shape="rect" id="node7" href="os_8h.html" title="mrpt/system/os.h" alt="" coords="2030,528,2153,555"/><area shape="rect" id="node20" href="base_2include_2mrpt_2base_2link__pragmas_8h.html" title="mrpt/base/link_pragmas.h" alt="" coords="344,752,516,779"/><area shape="rect" id="node23" href="boost__join_8h.html" title="mrpt/utils/boost_join.h" alt="" coords="243,827,393,853"/><area shape="rect" id="node25" href="base_2include_2mrpt_2utils_2types_8h.html" title="mrpt/utils/types.h" alt="" coords="729,603,852,629"/><area shape="rect" id="node46" href="mrpt__macros_8h.html" title="mrpt/utils/mrpt_macros.h" alt="" coords="1711,603,1877,629"/><area shape="rect" id="node49" href="compiler__fixes_8h.html" title="mrpt/utils/compiler_fixes.h" alt="" coords="780,528,954,555"/><area shape="rect" id="node76" href="smart__ptr_8hpp.html" title="mrpt/otherlibs/stlplus/smart_ptr.hpp" alt="" coords="1440,528,1666,555"/><area shape="rect" id="node78" href="bits_8h.html" title="mrpt/utils/bits.h" alt="" coords="1690,528,1801,555"/><area shape="rect" id="node31" href="math__frwds_8h.html" title="mrpt/math/math_frwds.h" alt="" coords="476,677,640,704"/><area shape="rect" id="node83" href="_c_matrix_template_8h.html" title="mrpt/math/CMatrixTemplate.h" alt="" coords="1316,379,1512,405"/><area shape="rect" id="node87" href="_c_serializable_8h.html" title="mrpt/utils/CSerializable.h" alt="" coords="233,453,401,480"/><area shape="rect" id="node96" href="_c_point_8h.html" title="mrpt/poses/CPoint.h" alt="" coords="284,155,426,181"/><area shape="rect" id="node103" href="_c_pose_8h.html" title="mrpt/poses/CPose.h" alt="" coords="606,229,748,256"/><area shape="rect" id="node105" href="_c_matrix_fixed_numeric_8h.html" title="mrpt/math/CMatrixFixedNumeric.h" alt="" coords="419,304,641,331"/><area shape="rect" id="node109" href="_c_quaternion_8h.html" title="mrpt/math/CQuaternion.h" alt="" coords="1168,229,1337,256"/><area shape="rect" id="node119" href="stl__extensions_8h.html" title="mrpt/utils/stl_extensions.h" alt="" coords="108,379,282,405"/><area shape="rect" id="node123" href="_t_pixel_coord_8h.html" title="mrpt/utils/TPixelCoord.h" alt="" coords="36,603,198,629"/><area shape="rect" id="node136" href="_c_histogram_8h.html" title="mrpt/math/CHistogram.h" alt="" coords="2362,379,2528,405"/><area shape="rect" id="node140" href="ops__vectors_8h.html" title="mrpt/math/ops_vectors.h" alt="" coords="1506,229,1672,256"/><area shape="rect" id="node144" href="ops__matrices_8h.html" title="This file implements miscelaneous matrix and matrix/vector operations, plus internal functions in mrp..." alt="" coords="970,229,1144,256"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="geometry_8h__dep__incl.png" border="0" usemap="#geometry_8hdep" alt=""/></div>
<map name="geometry_8hdep" id="geometry_8hdep">
<area shape="rect" id="node3" href="ransac__applications_8h.html" title="ransac_applications.h" alt="" coords="918,80,1065,107"/><area shape="rect" id="node5" href="math_8h.html" title="math.h" alt="" coords="503,155,565,181"/><area shape="rect" id="node37" href="_c_disk_8h.html" title="CDisk.h" alt="" coords="2217,80,2287,107"/><area shape="rect" id="node56" href="_c_set_of_triangles_8h.html" title="CSetOfTriangles.h" alt="" coords="1856,80,1985,107"/><area shape="rect" id="node62" href="_c_generalized_cylinder_8h.html" title="CGeneralizedCylinder.h" alt="" coords="2027,155,2185,181"/><area shape="rect" id="node65" href="_c_angular_observation_mesh_8h.html" title="CAngularObservationMesh.h" alt="" coords="1048,155,1237,181"/><area shape="rect" id="node77" href="_c_textured_object_8h.html" title="CTexturedObject.h" alt="" coords="1494,80,1625,107"/><area shape="rect" id="node85" href="_c_polyhedron_8h.html" title="CPolyhedron.h" alt="" coords="2062,80,2169,107"/><area shape="rect" id="node90" href="_c_open_g_l_standard_object_8h.html" title="COpenGLStandardObject.h" alt="" coords="1651,80,1832,107"/><area shape="rect" id="node93" href="_c_height_grid_map2_d_8h.html" title="CHeightGridMap2D.h" alt="" coords="1305,80,1452,107"/><area shape="rect" id="node7" href="base_8h.html" title="base.h" alt="" coords="200,229,261,256"/><area shape="rect" id="node13" href="cs_8h.html" title="cs.h" alt="" coords="298,229,344,256"/><area shape="rect" id="node24" href="math__mrpt_8h.html" title="math_mrpt.h" alt="" coords="421,229,515,256"/><area shape="rect" id="node26" href="_c_reactive_navigation_system_8h.html" title="CReactiveNavigationSystem.h" alt="" coords="801,379,1004,405"/><area shape="rect" id="node30" href="scanmatching_2scan__matching_8h.html" title="scan_matching.h" alt="" coords="539,229,660,256"/><area shape="rect" id="node9" href="_c_image___s_s_e3_8cpp.html" title="CImage_SSE3.cpp" alt="" coords="163,304,297,331"/><area shape="rect" id="node11" href="_c_image___s_s_e2_8cpp.html" title="CImage_SSE2.cpp" alt="" coords="5,304,139,331"/><area shape="rect" id="node15" href="_c_sparse_matrix_8h.html" title="CSparseMatrix.h" alt="" coords="323,304,443,331"/><area shape="rect" id="node18" href="levmarq__impl_8h.html" title="levmarq_impl.h" alt="" coords="327,379,437,405"/><area shape="rect" id="node20" href="levmarq_8h.html" title="levmarq.h" alt="" coords="343,453,421,480"/><area shape="rect" id="node22" href="graphslam_8h.html" title="graphslam.h" alt="" coords="336,528,429,555"/><area shape="rect" id="node28" href="reactivenav_8h.html" title="reactivenav.h" alt="" coords="853,453,952,480"/><area shape="rect" id="node32" href="scanmatching_8h.html" title="scanmatching.h" alt="" coords="521,304,636,331"/><area shape="rect" id="node34" href="scan__matching_8h.html" title="scan_matching.h" alt="" coords="495,379,616,405"/><area shape="rect" id="node39" href="opengl_8h.html" title="opengl.h" alt="" coords="2071,229,2141,256"/><area shape="rect" id="node41" href="_c_display_window3_d_8h.html" title="CDisplayWindow3D.h" alt="" coords="2611,304,2761,331"/><area shape="rect" id="node45" href="_c_my_g_l_canvas_base_8h.html" title="CMyGLCanvasBase.h" alt="" coords="2434,304,2587,331"/><area shape="rect" id="node47" href="hmtslam_8h.html" title="hmtslam.h" alt="" coords="1355,603,1436,629"/><area shape="rect" id="node49" href="_c_range_bearing_k_f_s_l_a_m_8h.html" title="CRangeBearingKFSLAM.h" alt="" coords="2180,304,2359,331"/><area shape="rect" id="node53" href="_c_range_bearing_k_f_s_l_a_m2_d_8h.html" title="CRangeBearingKFSLAM2D.h" alt="" coords="1961,304,2156,331"/><area shape="rect" id="node43" href="gui_8h.html" title="gui.h" alt="" coords="2661,379,2712,405"/><area shape="rect" id="node51" href="slam_8h.html" title="slam.h" alt="" coords="1772,379,1833,405"/><area shape="rect" id="node58" href="_c_mesh_8h.html" title="CMesh.h" alt="" coords="1877,155,1951,181"/><area shape="rect" id="node67" href="maps_8h.html" title="maps.h" alt="" coords="930,229,995,256"/><area shape="rect" id="node69" href="_c_abstract_reactive_navigation_system_8h.html" title="CAbstractReactiveNavigationSystem.h" alt="" coords="837,304,1088,331"/><area shape="rect" id="node73" href="_c_p_r_r_t_navigator_8h.html" title="CPRRTNavigator.h" alt="" coords="641,379,776,405"/><area shape="rect" id="node79" href="_c_set_of_textured_triangles_8h.html" title="CSetOfTexturedTriangles.h" alt="" coords="1469,155,1651,181"/><area shape="rect" id="node82" href="_c_textured_plane_8h.html" title="CTexturedPlane.h" alt="" coords="1675,155,1801,181"/><area shape="rect" id="node95" href="_c_multi_metric_map_8h.html" title="CMultiMetricMap.h" alt="" coords="1313,155,1444,181"/><area shape="rect" id="node97" href="_c_local_metric_hypothesis_8h.html" title="CLocalMetricHypothesis.h" alt="" coords="1213,304,1389,331"/><area shape="rect" id="node101" href="_c_hierarchical_m_h_map_8h.html" title="CHierarchicalMHMap.h" alt="" coords="1163,453,1321,480"/><area shape="rect" id="node110" href="_c_incremental_map_partitioner_8h.html" title="CIncrementalMapPartitioner.h" alt="" coords="1827,229,2021,256"/><area shape="rect" id="node117" href="_c_robot_poses_graph_8h.html" title="CRobotPosesGraph.h" alt="" coords="1055,528,1205,555"/><area shape="rect" id="node120" href="_c_metric_map_builder_8h.html" title="CMetricMapBuilder.h" alt="" coords="1651,229,1795,256"/><area shape="rect" id="node125" href="_c_metric_map_builder_r_b_p_f_8h.html" title="CMetricMapBuilderRBPF.h" alt="" coords="1515,304,1695,331"/><area shape="rect" id="node128" href="_c_multi_metric_map_p_d_f_8h.html" title="CMultiMetricMapPDF.h" alt="" coords="1417,229,1575,256"/><area shape="rect" id="node99" href="_c_hierarchical_map_m_h_partition_8h.html" title="CHierarchicalMapMHPartition.h" alt="" coords="1339,379,1545,405"/><area shape="rect" id="node103" href="_c_h_m_t_s_l_a_m_8h.html" title="CHMTSLAM.h" alt="" coords="1297,528,1404,555"/><area shape="rect" id="node122" href="_c_metric_map_builder_i_c_p_8h.html" title="CMetricMapBuilderICP.h" alt="" coords="1719,304,1885,331"/></map>
</div>
</div>
<p><a href="geometry_8h_source.html">Go to the source code of this file.</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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon_with_plane.html">mrpt::math::TPolygonWithPlane</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slightly heavyweight type to speed-up calculations with polygons in 3D.  <a href="classmrpt_1_1math_1_1_t_polygon_with_plane.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt.html">mrpt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math.html">mrpt::math</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This base provides a set of functions for maths stuff. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Simple intersection operations, relying basically on geometrical operations.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga096194319b696aecf5ab9337a2f60c44">mrpt::math::intersect</a> (const TSegment3D &amp;s1, const TSegment3D &amp;s2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 3D segments.  <a href="group__geometry__grp.html#ga096194319b696aecf5ab9337a2f60c44"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaf3dacfd63aa769727ea020d61e082e09">mrpt::math::intersect</a> (const TSegment3D &amp;s1, const TPlane &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D segment and a plane.  <a href="group__geometry__grp.html#gaf3dacfd63aa769727ea020d61e082e09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga20eb28ba649c6b5a08e0a1bbf8725d31">mrpt::math::intersect</a> (const TSegment3D &amp;s1, const TLine3D &amp;r2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D segment and a 3D line.  <a href="group__geometry__grp.html#ga20eb28ba649c6b5a08e0a1bbf8725d31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5578db841cf79d522bbe330e8af74b37">mrpt::math::intersect</a> (const TPlane &amp;p1, const TSegment3D &amp;s2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a plane and a 3D segment.  <a href="group__geometry__grp.html#ga5578db841cf79d522bbe330e8af74b37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga909e63792323a7862885aa8b4e34766a">mrpt::math::intersect</a> (const TPlane &amp;p1, const TPlane &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two planes.  <a href="group__geometry__grp.html#ga909e63792323a7862885aa8b4e34766a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga172f48d9c8d9cd23d74edacb4dc254ef">mrpt::math::intersect</a> (const TPlane &amp;p1, const TLine3D &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a plane and a 3D line.  <a href="group__geometry__grp.html#ga172f48d9c8d9cd23d74edacb4dc254ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2213e727c993392fe8a6ff82bd4a1ed2">mrpt::math::intersect</a> (const TLine3D &amp;r1, const TSegment3D &amp;s2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D line and a 3D segment.  <a href="group__geometry__grp.html#ga2213e727c993392fe8a6ff82bd4a1ed2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga95f158cb50fb69c1d79243f48385409e">mrpt::math::intersect</a> (const TLine3D &amp;r1, const TPlane &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D line and a plane.  <a href="group__geometry__grp.html#ga95f158cb50fb69c1d79243f48385409e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga69430d142e4fe3306f572738b4411397">mrpt::math::intersect</a> (const TLine3D &amp;r1, const TLine3D &amp;r2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 3D lines.  <a href="group__geometry__grp.html#ga69430d142e4fe3306f572738b4411397"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab960cce02b692c8897dfc36d9c6f0914">mrpt::math::intersect</a> (const TLine2D &amp;r1, const TLine2D &amp;r2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 2D lines.  <a href="group__geometry__grp.html#gab960cce02b692c8897dfc36d9c6f0914"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab474b7d5539df394ad1ee48000657500">mrpt::math::intersect</a> (const TLine2D &amp;r1, const TSegment2D &amp;s2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D line and a 2D segment.  <a href="group__geometry__grp.html#gab474b7d5539df394ad1ee48000657500"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7f0d0dba6bacd14ccd3c518dbfe76000">mrpt::math::intersect</a> (const TSegment2D &amp;s1, const TLine2D &amp;r2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D line and a 2D segment.  <a href="group__geometry__grp.html#ga7f0d0dba6bacd14ccd3c518dbfe76000"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2478dd9095e36422ba33a8a9af817d66">mrpt::math::intersect</a> (const TSegment2D &amp;s1, const TSegment2D &amp;s2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 2D segments.  <a href="group__geometry__grp.html#ga2478dd9095e36422ba33a8a9af817d66"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Angle retrieval methods. Methods which use TSegments will automatically use TLines' implicit constructors.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaef0c5b67b3e5066b473389fd82d7e694">mrpt::math::getAngle</a> (const TPlane &amp;p1, const TPlane &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the angle between two planes.  <a href="group__geometry__grp.html#gaef0c5b67b3e5066b473389fd82d7e694"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5d6f350ef4e5edc626a84b9cfd3cca8b">mrpt::math::getAngle</a> (const TPlane &amp;p1, const TLine3D &amp;r2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the angle between a plane and a 3D line or segment (implicit constructor will be used if passing a segment instead of a line).  <a href="group__geometry__grp.html#ga5d6f350ef4e5edc626a84b9cfd3cca8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga92e221cabafb17be49a42740463bba64">mrpt::math::getAngle</a> (const TLine3D &amp;r1, const TPlane &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the angle between a 3D line or segment and a plane (implicit constructor will be used if passing a segment instead of a line).  <a href="group__geometry__grp.html#ga92e221cabafb17be49a42740463bba64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga80c2e12dcb6669eb0574795acf3f28e5">mrpt::math::getAngle</a> (const TLine3D &amp;r1, const TLine3D &amp;r2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the angle between two 3D lines or segments (implicit constructor will be used if passing a segment instead of a line).  <a href="group__geometry__grp.html#ga80c2e12dcb6669eb0574795acf3f28e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga68706eed82d782c279146d565bd55cec">mrpt::math::getAngle</a> (const TLine2D &amp;r1, const TLine2D &amp;r2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the angle between two 2D lines or segments (implicit constructor will be used if passing a segment instead of a line).  <a href="group__geometry__grp.html#ga68706eed82d782c279146d565bd55cec"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creation of lines from poses.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa1633ebc71f0ee7d470f30b2eea943a8">mrpt::math::createFromPoseX</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;p, TLine3D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 3D line corresponding to the X axis in a given pose.  <a href="group__geometry__grp.html#gaa1633ebc71f0ee7d470f30b2eea943a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae5b442ae15de11a3346b1e3255a7df4c">mrpt::math::createFromPoseY</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;p, TLine3D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 3D line corresponding to the Y axis in a given pose.  <a href="group__geometry__grp.html#gae5b442ae15de11a3346b1e3255a7df4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4ee6495c3cc59db23593a54b0956ca0a">mrpt::math::createFromPoseZ</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;p, TLine3D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 3D line corresponding to the Z axis in a given pose.  <a href="group__geometry__grp.html#ga4ee6495c3cc59db23593a54b0956ca0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gafef50d9c5a0bc347ae26a406bcda5266">mrpt::math::createFromPoseAndVector</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;p, const double(&amp;vector)[3], TLine3D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 3D line corresponding to any arbitrary vector, in the base given by the pose.  <a href="group__geometry__grp.html#gafef50d9c5a0bc347ae26a406bcda5266"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabf4854bde197d4a2c6f923fdc59386d0">mrpt::math::createFromPoseX</a> (const TPose2D &amp;p, TLine2D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 2D line corresponding to the X axis in a given pose.  <a href="group__geometry__grp.html#gabf4854bde197d4a2c6f923fdc59386d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa9351feda24873f86b011fe92520043e">mrpt::math::createFromPoseY</a> (const TPose2D &amp;p, TLine2D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 2D line corresponding to the Y axis in a given pose.  <a href="group__geometry__grp.html#gaa9351feda24873f86b011fe92520043e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga9873d4e1a924d239cb3a25b21d1c5bfe">mrpt::math::createFromPoseAndVector</a> (const TPose2D &amp;p, const double(&amp;vector)[2], TLine2D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a 2D line corresponding to any arbitrary vector, in the base given the given pose.  <a href="group__geometry__grp.html#ga9873d4e1a924d239cb3a25b21d1c5bfe"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Other line or plane related methods.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4368cd73dd158c3263fb838453513c6e">mrpt::math::conformAPlane</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this polygon or set of points acceptably fits a plane.  <a href="group__geometry__grp.html#ga4368cd73dd158c3263fb838453513c6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gafcfafea1b78be503e8b6b789c79b51c2">mrpt::math::conformAPlane</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points, TPlane &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this polygon or set of points acceptably fits a plane, and if it's the case returns it in the second argument.  <a href="group__geometry__grp.html#gafcfafea1b78be503e8b6b789c79b51c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga0ff9066099dc3cb3bf0b0cdc75b87b8a">mrpt::math::areAligned</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint2D &gt; &amp;points)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this set of points acceptably fits a 2D line.  <a href="group__geometry__grp.html#ga0ff9066099dc3cb3bf0b0cdc75b87b8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad7014fc391058b221defb91929041222">mrpt::math::areAligned</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint2D &gt; &amp;points, TLine2D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this set of points acceptably fits a 2D line, and if it's the case returns it in the second argument.  <a href="group__geometry__grp.html#gad7014fc391058b221defb91929041222"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga72e1bfd0dc3a8c42136d7aa6f1183c6b">mrpt::math::areAligned</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this set of points acceptably fits a 3D line.  <a href="group__geometry__grp.html#ga72e1bfd0dc3a8c42136d7aa6f1183c6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8cdcecef3e540abce49bbbb165ee054e">mrpt::math::areAligned</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points, TLine3D &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this set of points acceptably fits a 3D line, and if it's the case returns it in the second argument.  <a href="group__geometry__grp.html#ga8cdcecef3e540abce49bbbb165ee054e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Projections</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabc1ba0f4ffbfb1070b19923471fbd5ac">mrpt::math::project3D</a> (const TPoint3D &amp;point, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, TPoint3D &amp;newPoint)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project a point into a new base.  <a href="group__geometry__grp.html#gabc1ba0f4ffbfb1070b19923471fbd5ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gafa9a1277ee17ec0beacdab848984ed29">mrpt::math::project3D</a> (const TSegment3D &amp;segment, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, TSegment3D &amp;newSegment)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project a segment into a new base.  <a href="group__geometry__grp.html#gafa9a1277ee17ec0beacdab848984ed29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1d06b4f6527d1386f58b0a350f979cf8">mrpt::math::project3D</a> (const TLine3D &amp;line, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, TLine3D &amp;newLine)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project a line into a new base.  <a href="group__geometry__grp.html#ga1d06b4f6527d1386f58b0a350f979cf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gacee968e4646c0be6681c65d6121ce42f">mrpt::math::project3D</a> (const TPlane &amp;plane, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, TPlane &amp;newPlane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project a plane into a new base.  <a href="group__geometry__grp.html#gacee968e4646c0be6681c65d6121ce42f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7d963823e9beb0e850453bba63197378">mrpt::math::project3D</a> (const TPolygon3D &amp;polygon, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, TPolygon3D &amp;newPolygon)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project a polygon into a new base.  <a href="group__geometry__grp.html#ga7d963823e9beb0e850453bba63197378"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac61924cf2848a569533dd9a4bf6eb9c2">mrpt::math::project3D</a> (const TObject3D &amp;object, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYPose, TObject3D &amp;newObject)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 3D to project any 3D object into a new base.  <a href="group__geometry__grp.html#gac61924cf2848a569533dd9a4bf6eb9c2"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga3a8703f7747d7d472704621ea44c7021">mrpt::math::project3D</a> (const T &amp;obj, const TPlane &amp;newXYPlane, T &amp;newObj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects any 3D object into the plane's base, using its inverse pose.  <a href="group__geometry__grp.html#ga3a8703f7747d7d472704621ea44c7021"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa777931620bc326748391967ef724568">mrpt::math::project3D</a> (const T &amp;obj, const TPlane &amp;newXYPlane, const TPoint3D &amp;newOrigin, T &amp;newObj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects any 3D object into the plane's base, using its inverse pose and forcing the position of the new coordinates origin.  <a href="group__geometry__grp.html#gaa777931620bc326748391967ef724568"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa9f2fbd99fc5b7aa02f8ca7291e8dd18">mrpt::math::project3D</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;objs, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newXYpose, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;newObjs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects a set of 3D objects into the plane's base.  <a href="group__geometry__grp.html#gaa9f2fbd99fc5b7aa02f8ca7291e8dd18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga01a5878f7437f17ed3603a31e6190339">mrpt::math::project2D</a> (const TPoint2D &amp;point, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, TPoint2D &amp;newPoint)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 2D to project a point into a new base.  <a href="group__geometry__grp.html#ga01a5878f7437f17ed3603a31e6190339"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaea53914830f34b117463dee1594a1d9f">mrpt::math::project2D</a> (const TSegment2D &amp;segment, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, TSegment2D &amp;newSegment)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 2D to project a segment into a new base.  <a href="group__geometry__grp.html#gaea53914830f34b117463dee1594a1d9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga510c78e42b44f5db84acd113f597c532">mrpt::math::project2D</a> (const TLine2D &amp;line, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, TLine2D &amp;newLine)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 2D to project a line into a new base.  <a href="group__geometry__grp.html#ga510c78e42b44f5db84acd113f597c532"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6229a4b11127c6fcebede49fd2d2933d">mrpt::math::project2D</a> (const TPolygon2D &amp;polygon, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, TPolygon2D &amp;newPolygon)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 2D to project a polygon into a new base.  <a href="group__geometry__grp.html#ga6229a4b11127c6fcebede49fd2d2933d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaff16bd12ca2eeaf65f9357af22bc7a9b">mrpt::math::project2D</a> (const TObject2D &amp;object, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, TObject2D &amp;newObject)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the given pose 2D to project any 2D object into a new base.  <a href="group__geometry__grp.html#gaff16bd12ca2eeaf65f9357af22bc7a9b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4fc38e90d8d9d8d13db114369d4f6e6b">mrpt::math::project2D</a> (const T &amp;obj, const TLine2D &amp;newXLine, T &amp;newObj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects any 2D object into the line's base, using its inverse pose.  <a href="group__geometry__grp.html#ga4fc38e90d8d9d8d13db114369d4f6e6b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga25fd57667837bb516e82539d86802f8b">mrpt::math::project2D</a> (const T &amp;obj, const TLine2D &amp;newXLine, const TPoint2D &amp;newOrigin, T &amp;newObj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects any 2D object into the line's base, using its inverse pose and forcing the position of the new coordinate origin.  <a href="group__geometry__grp.html#ga25fd57667837bb516e82539d86802f8b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac1bbf25c63766b9ca0ed82167bf7961a">mrpt::math::project2D</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;objs, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;newXpose, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;newObjs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects a set of 2D objects into the line's base.  <a href="group__geometry__grp.html#gac1bbf25c63766b9ca0ed82167bf7961a"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Polygon intersections. These operations rely more on spatial reasoning than in raw numerical operations.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7e513f8e21eac854239e425224d9a4c2">mrpt::math::intersect</a> (const TPolygon2D &amp;p1, const TSegment2D &amp;s2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D polygon and a 2D segment.  <a href="group__geometry__grp.html#ga7e513f8e21eac854239e425224d9a4c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1a7a58052efcbd9ebcee2f345798ee8b">mrpt::math::intersect</a> (const TPolygon2D &amp;p1, const TLine2D &amp;r2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D polygon and a 2D line.  <a href="group__geometry__grp.html#ga1a7a58052efcbd9ebcee2f345798ee8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa0628efe1d7ead5ea49fb481d454821e">mrpt::math::intersect</a> (const TPolygon2D &amp;p1, const TPolygon2D &amp;p2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 2D polygons.  <a href="group__geometry__grp.html#gaa0628efe1d7ead5ea49fb481d454821e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5f241d690d1dc369584ab9894e1403aa">mrpt::math::intersect</a> (const TSegment2D &amp;s1, const TPolygon2D &amp;p2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D segment and a 2D polygon.  <a href="group__geometry__grp.html#ga5f241d690d1dc369584ab9894e1403aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga498ab42b7016f46dfd864e6603983e79">mrpt::math::intersect</a> (const TLine2D &amp;r1, const TPolygon2D &amp;p2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 2D line and a 2D polygon.  <a href="group__geometry__grp.html#ga498ab42b7016f46dfd864e6603983e79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga33f131008c3dba6ec3938f4c69cd5ac8">mrpt::math::intersect</a> (const TPolygon3D &amp;p1, const TSegment3D &amp;s2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D polygon and a 3D segment.  <a href="group__geometry__grp.html#ga33f131008c3dba6ec3938f4c69cd5ac8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7e235b2e688b049bbc430a0eedff3ecb">mrpt::math::intersect</a> (const TPolygon3D &amp;p1, const TLine3D &amp;r2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D polygon and a 3D line.  <a href="group__geometry__grp.html#ga7e235b2e688b049bbc430a0eedff3ecb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga64b074d139e3902d313795dda99e9c1e">mrpt::math::intersect</a> (const TPolygon3D &amp;p1, const TPlane &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D polygon and a plane.  <a href="group__geometry__grp.html#ga64b074d139e3902d313795dda99e9c1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad771ff8e451fd7072ca8506ee634109e">mrpt::math::intersect</a> (const TPolygon3D &amp;p1, const TPolygon3D &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two 3D polygons.  <a href="group__geometry__grp.html#gad771ff8e451fd7072ca8506ee634109e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae54fcad3a2754529817b16dbd387a6e2">mrpt::math::intersect</a> (const TSegment3D &amp;s1, const TPolygon3D &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D segment and a 3D polygon.  <a href="group__geometry__grp.html#gae54fcad3a2754529817b16dbd387a6e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa2686f4f203380a19184ee8bcfa5db35">mrpt::math::intersect</a> (const TLine3D &amp;r1, const TPolygon3D &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a 3D line and a 3D polygon.  <a href="group__geometry__grp.html#gaa2686f4f203380a19184ee8bcfa5db35"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac0867b77fa033682044a131e1872ed3c">mrpt::math::intersect</a> (const TPlane &amp;p1, const TPolygon3D &amp;p2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between a plane and a 3D polygon.  <a href="group__geometry__grp.html#gac0867b77fa033682044a131e1872ed3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga75d7208a372e289cde4157fb8f2efa16">mrpt::math::intersect</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;v2, CSparseMatrixTemplate&lt; TObject3D &gt; &amp;objs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two sets of 3D polygons.  <a href="group__geometry__grp.html#ga75d7208a372e289cde4157fb8f2efa16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga457946ad03d05ed2698b203ccb9ec67d">mrpt::math::intersect</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;v2, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;objs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between two sets of 3D polygons.  <a href="group__geometry__grp.html#ga457946ad03d05ed2698b203ccb9ec67d"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Other intersections</div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class U , class O &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa1f06d8e0612780e9a4adf91377e9cbc">mrpt::math::intersect</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; U &gt; &amp;v2, CSparseMatrixTemplate&lt; O &gt; &amp;objs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between vectors of geometric objects and returns it in a sparse matrix of either <a class="el" href="structmrpt_1_1math_1_1_t_object2_d.html" title="Standard type for storing any lightweight 2D type.">TObject2D</a> or <a class="el" href="structmrpt_1_1math_1_1_t_object3_d.html" title="Standard object for storing any 3D lightweight object.">TObject3D</a>.  <a href="group__geometry__grp.html#gaa1f06d8e0612780e9a4adf91377e9cbc"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class U , class O &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8c9938ba7a1666b258ad3d487df9af68">mrpt::math::intersect</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; U &gt; &amp;v2, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; O &gt; objs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between vectors of geometric objects and returns it in a vector of either <a class="el" href="structmrpt_1_1math_1_1_t_object2_d.html" title="Standard type for storing any lightweight 2D type.">TObject2D</a> or <a class="el" href="structmrpt_1_1math_1_1_t_object3_d.html" title="Standard object for storing any 3D lightweight object.">TObject3D</a>.  <a href="group__geometry__grp.html#ga8c9938ba7a1666b258ad3d487df9af68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad06a48e9be050230c6db6bf76f27666a">mrpt::math::intersect</a> (const TObject2D &amp;o1, const TObject2D &amp;o2, TObject2D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between any pair of 2D objects.  <a href="group__geometry__grp.html#gad06a48e9be050230c6db6bf76f27666a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6692d50e9510d1df456d55ea7ce63fcd">mrpt::math::intersect</a> (const TObject3D &amp;o1, const TObject3D &amp;o2, TObject3D &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection between any pair of 3D objects.  <a href="group__geometry__grp.html#ga6692d50e9510d1df456d55ea7ce63fcd"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Distances</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance</a> (const TPoint2D &amp;p1, const TPoint2D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two points in a 2D space.  <a href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaf912081e3dfe5deadd1a901b963f2200">mrpt::math::distance</a> (const TPoint3D &amp;p1, const TPoint3D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two points in a 3D space.  <a href="group__geometry__grp.html#gaf912081e3dfe5deadd1a901b963f2200"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5525c130173ebedcb5004b21bfd3e7c6">mrpt::math::distance</a> (const TLine2D &amp;r1, const TLine2D &amp;r2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two lines in a 2D space.  <a href="group__geometry__grp.html#ga5525c130173ebedcb5004b21bfd3e7c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6af1e7303c5086532ea0bd7b85770c6a">mrpt::math::distance</a> (const TLine3D &amp;r1, const TLine3D &amp;r2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two lines in a 3D space.  <a href="group__geometry__grp.html#ga6af1e7303c5086532ea0bd7b85770c6a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga425678e3a9733b3c235c9bf52d42449b">mrpt::math::distance</a> (const TPlane &amp;p1, const TPlane &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two planes.  <a href="group__geometry__grp.html#ga425678e3a9733b3c235c9bf52d42449b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga80aa973c410226b39207c04fef2b0ca8">mrpt::math::distance</a> (const TPolygon2D &amp;p1, const TPolygon2D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two polygons in a 2D space.  <a href="group__geometry__grp.html#ga80aa973c410226b39207c04fef2b0ca8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad9b6ba84fd439e642cbe28f33554e71c">mrpt::math::distance</a> (const TPolygon2D &amp;p1, const TSegment2D &amp;s2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a polygon and a segment in a 2D space.  <a href="group__geometry__grp.html#gad9b6ba84fd439e642cbe28f33554e71c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae4801fe47285acad2533585a42eac9cd">mrpt::math::distance</a> (const TSegment2D &amp;s1, const TPolygon2D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a segment and a polygon in a 2D space.  <a href="group__geometry__grp.html#gae4801fe47285acad2533585a42eac9cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gada89a8be5877badb65b5128d2b35c250">mrpt::math::distance</a> (const TPolygon2D &amp;p1, const TLine2D &amp;l2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a polygon and a line in a 2D space.  <a href="group__geometry__grp.html#gada89a8be5877badb65b5128d2b35c250"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga199640d96dc07d84a787660b07059b06">mrpt::math::distance</a> (const TLine2D &amp;l1, const TPolygon2D &amp;p2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gacbd841c8d89a699c64e79884c22ea0ba">mrpt::math::distance</a> (const TPolygon3D &amp;p1, const TPolygon3D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between two polygons in a 3D space.  <a href="group__geometry__grp.html#gacbd841c8d89a699c64e79884c22ea0ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab7693757a867db8282375fad8218e0dc">mrpt::math::distance</a> (const TPolygon3D &amp;p1, const TSegment3D &amp;s2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a polygon and a segment in a 3D space.  <a href="group__geometry__grp.html#gab7693757a867db8282375fad8218e0dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga19a574fbbb884252278e69af2d4f64eb">mrpt::math::distance</a> (const TSegment3D &amp;s1, const TPolygon3D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a segment and a polygon in a 3D space.  <a href="group__geometry__grp.html#ga19a574fbbb884252278e69af2d4f64eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga721c135698a885a94ef23e0881e8345b">mrpt::math::distance</a> (const TPolygon3D &amp;p1, const TLine3D &amp;l2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a polygon and a line in a 3D space.  <a href="group__geometry__grp.html#ga721c135698a885a94ef23e0881e8345b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga50cc3a8b2fdca23879e8a2c8d3473199">mrpt::math::distance</a> (const TLine3D &amp;l1, const TPolygon3D &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a line and a polygon in a 3D space.  <a href="group__geometry__grp.html#ga50cc3a8b2fdca23879e8a2c8d3473199"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga653cfc905bc57d12cb5dd9ca53bf4b59">mrpt::math::distance</a> (const TPolygon3D &amp;po, const TPlane &amp;pl)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a polygon and a plane.  <a href="group__geometry__grp.html#ga653cfc905bc57d12cb5dd9ca53bf4b59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabfb83bd00d767a1fa6c2f8f846577e23">mrpt::math::distance</a> (const TPlane &amp;pl, const TPolygon3D &amp;po)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance between a plane and a polygon.  <a href="group__geometry__grp.html#gabfb83bd00d767a1fa6c2f8f846577e23"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Bound checkers</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4f4ff8f3ab7f6d609beb2e9c602cbc28">mrpt::math::getRectangleBounds</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint2D &gt; &amp;poly, TPoint2D &amp;pMin, TPoint2D &amp;pMax)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the rectangular bounds of a 2D polygon or set of 2D points.  <a href="group__geometry__grp.html#ga4f4ff8f3ab7f6d609beb2e9c602cbc28"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga772fe8216ba10a88dd6d4b261a53feaa">mrpt::math::getPrismBounds</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;poly, TPoint3D &amp;pMin, TPoint3D &amp;pMax)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the prism bounds of a 3D polygon or set of 3D points.  <a href="group__geometry__grp.html#ga772fe8216ba10a88dd6d4b261a53feaa"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creation of planes from poses</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga74bce932e6ae7f5a091bd36d75467519">mrpt::math::createPlaneFromPoseXY</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;pose, TPlane &amp;plane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pose, creates a plane orthogonal to its Z vector.  <a href="group__geometry__grp.html#ga74bce932e6ae7f5a091bd36d75467519"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaff7d84e9126688dd125d24b1fc031bb5">mrpt::math::createPlaneFromPoseXZ</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;pose, TPlane &amp;plane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pose, creates a plane orthogonal to its Y vector.  <a href="group__geometry__grp.html#gaff7d84e9126688dd125d24b1fc031bb5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga593e98312e5c06b4c1080fe4a3b47242">mrpt::math::createPlaneFromPoseYZ</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;pose, TPlane &amp;plane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pose, creates a plane orthogonal to its X vector.  <a href="group__geometry__grp.html#ga593e98312e5c06b4c1080fe4a3b47242"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga362f34f935e4c160cbc394786b73a0b8">mrpt::math::createPlaneFromPoseAndNormal</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;pose, const double(&amp;normal)[3], TPlane &amp;plane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pose and any vector, creates a plane orthogonal to that vector in the pose's coordinates.  <a href="group__geometry__grp.html#ga362f34f935e4c160cbc394786b73a0b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1e345799e96a2fb5e84ac9f0df9230ef">mrpt::math::generateAxisBaseFromDirectionAndAxis</a> (const double(&amp;vec)[3], char coord, CMatrixDouble &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rotation matrix so that the coordinate given (0 for x, 1 for y, 2 for z) corresponds to the vector.  <a href="group__geometry__grp.html#ga1e345799e96a2fb5e84ac9f0df9230ef"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Linear regression methods</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7c40628072431c08a126bef3bb2b9a27">mrpt::math::getRegressionLine</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint2D &gt; &amp;points, TLine2D &amp;line)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Using eigenvalues, gets the best fitting line for a set of 2D points.  <a href="group__geometry__grp.html#ga7c40628072431c08a126bef3bb2b9a27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga22e1e2c2ed24415e715aefdcad488484">mrpt::math::getRegressionLine</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points, TLine3D &amp;line)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Using eigenvalues, gets the best fitting line for a set of 3D points.  <a href="group__geometry__grp.html#ga22e1e2c2ed24415e715aefdcad488484"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga14d21b4e5b6277e7c0ea4f00b2eb2b3e">mrpt::math::getRegressionPlane</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPoint3D &gt; &amp;points, TPlane &amp;plane)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Using eigenvalues, gets the best fitting plane for a set of 3D points.  <a href="group__geometry__grp.html#ga14d21b4e5b6277e7c0ea4f00b2eb2b3e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Miscellaneous Geometry methods</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga860ca5edc86af5e27d63153a8ceef98f">mrpt::math::assemblePolygons</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TSegment3D &gt; &amp;segms, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;polys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to assemble a set of segments into a set of closed polygons.  <a href="group__geometry__grp.html#ga860ca5edc86af5e27d63153a8ceef98f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga927a72c85093f165001098fd2028708c">mrpt::math::assemblePolygons</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TSegment3D &gt; &amp;segms, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TSegment3D &gt; &amp;remainder)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to assemble a set of segments into a set of closed polygons, returning the unused segments as another out parameter.  <a href="group__geometry__grp.html#ga927a72c85093f165001098fd2028708c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga57c1014049306be027d20a287dc7a2a0">mrpt::math::assemblePolygons</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;polys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts all the polygons, including those formed from segments, from the set of objects.  <a href="group__geometry__grp.html#ga57c1014049306be027d20a287dc7a2a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa34f06b2d1f84668a1b6adccce2cde10">mrpt::math::assemblePolygons</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;remainder)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts all the polygons, including those formed from segments, from the set of objects.  <a href="group__geometry__grp.html#gaa34f06b2d1f84668a1b6adccce2cde10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4ccb936a18106fbe80fc3661e6f7ea98">mrpt::math::assemblePolygons</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TPolygon3D &gt; &amp;polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TSegment3D &gt; &amp;remainder1, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; TObject3D &gt; &amp;remainder2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts all the polygons, including those formed from segments, from the set of objects.  <a href="group__geometry__grp.html#ga4ccb936a18106fbe80fc3661e6f7ea98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6ee56196af1534bb1c408eb5fedbc64a">mrpt::math::setEpsilon</a> (double nE)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the value of the geometric epsilon.  <a href="group__geometry__grp.html#ga6ee56196af1534bb1c408eb5fedbc64a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac164dcd4d3f3b2a46fd098cae08bfc7f">mrpt::math::getEpsilon</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of the geometric epsilon.  <a href="group__geometry__grp.html#gac164dcd4d3f3b2a46fd098cae08bfc7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga765a2078a3e24f5a172b14b0a5e8edcf">mrpt::math::splitInConvexComponents</a> (const TPolygon2D &amp;poly, vector&lt; TPolygon2D &gt; &amp;components)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a 2D polygon into convex components.  <a href="group__geometry__grp.html#ga765a2078a3e24f5a172b14b0a5e8edcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga450bca4f9e960756f29c65167f4824c1">mrpt::math::splitInConvexComponents</a> (const TPolygon3D &amp;poly, vector&lt; TPolygon3D &gt; &amp;components)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a 3D polygon into convex components.  <a href="group__geometry__grp.html#ga450bca4f9e960756f29c65167f4824c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac104a1bc6eb508467389666e7cc20c2e">mrpt::math::getSegmentBisector</a> (const TSegment2D &amp;sgm, TLine2D &amp;bis)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bisector of a 2D segment.  <a href="group__geometry__grp.html#gac104a1bc6eb508467389666e7cc20c2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga73c52bb85ac39cc29e4fe46f93f446f3">mrpt::math::getSegmentBisector</a> (const TSegment3D &amp;sgm, TPlane &amp;bis)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bisector of a 3D segment.  <a href="group__geometry__grp.html#ga73c52bb85ac39cc29e4fe46f93f446f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga81505df2cba76f0399244d46096da571">mrpt::math::getAngleBisector</a> (const TLine2D &amp;l1, const TLine2D &amp;l2, TLine2D &amp;bis)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bisector of two lines or segments (implicit constructor will be used if necessary)  <a href="group__geometry__grp.html#ga81505df2cba76f0399244d46096da571"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga00dea7e409f8bd9d6a2e6b98f868a0ce">mrpt::math::getAngleBisector</a> (const TLine3D &amp;l1, const TLine3D &amp;l2, TLine3D &amp;bis)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bisector of two lines or segments (implicit constructor will be used if necessary)  <a href="group__geometry__grp.html#ga00dea7e409f8bd9d6a2e6b98f868a0ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga363e00600f9c000dd774e6c721faba7d">mrpt::math::traceRay</a> (const vector&lt; TPolygonWithPlane &gt; &amp;vec, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;pose, double &amp;dist)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast ray tracing method using polygons' properties.  <a href="group__geometry__grp.html#ga363e00600f9c000dd774e6c721faba7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad3a55044d9f2abb347c7221e3e58d45e">mrpt::math::traceRay</a> (const vector&lt; TPolygon3D &gt; &amp;vec, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;pose, double &amp;dist)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast ray tracing method using polygons' properties.  <a href="group__geometry__grp.html#gad3a55044d9f2abb347c7221e3e58d45e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class U , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad8d6fbe91133eb0caa6722ae378ea3fb">mrpt::math::crossProduct3D</a> (const T &amp;v0, const U &amp;v1, V &amp;vOut)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the cross product of two 3D vectors, returning a vector normal to both.  <a href="group__geometry__grp.html#gad8d6fbe91133eb0caa6722ae378ea3fb"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga20dcc4f19cc9529611235c78937e1ea5">mrpt::math::crossProduct3D</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;v0, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;v1, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;v_out)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VEC1 , class VEC2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_matrix.html">Eigen::Matrix</a>&lt; double, 3, 1 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8434b52fe61bfea34a87705c3c296b9e">mrpt::math::crossProduct3D</a> (const VEC1 &amp;v0, const VEC2 &amp;v1)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR , class MATRIX &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1d062ce80412bd12f853b032f7822edb">mrpt::math::skew_symmetric3</a> (const VECTOR &amp;v, MATRIX &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the 3x3 skew symmetric matrix from a 3-vector or 3-array: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ M([x ~ y ~ z]^\top) = \left( \begin{array}{c c c} 0 &amp; -z &amp; y \\ z &amp; 0 &amp; -x \\ -y &amp; x &amp; 0 \end{array} \right) \]" src="form_11.png"/>
</p>
<p>.  <a href="group__geometry__grp.html#ga1d062ce80412bd12f853b032f7822edb"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">mrpt::math::CMatrixDouble33</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga885c8e7de7ba80f5d314d4ec0a161d02">mrpt::math::skew_symmetric3</a> (const VECTOR &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR , class MATRIX &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa6594f63ac8850608581cbda8c2425c9">mrpt::math::skew_symmetric3_neg</a> (const VECTOR &amp;v, MATRIX &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the negative version of a 3x3 skew symmetric matrix from a 3-vector or 3-array: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ -M([x ~ y ~ z]^\top) = \left( \begin{array}{c c c} 0 &amp; z &amp; -y \\ -z &amp; 0 &amp; x \\ y &amp; -x &amp; 0 \end{array} \right) \]" src="form_12.png"/>
</p>
<p>.  <a href="group__geometry__grp.html#gaa6594f63ac8850608581cbda8c2425c9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTOR &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">mrpt::math::CMatrixDouble33</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga88a1a74aa8e47de309e4b00dfb1b2d9b">mrpt::math::skew_symmetric3_neg</a> (const VECTOR &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga02898caca2e86295b143fddb35be2d02">mrpt::math::vectorsAreParallel2D</a> (const T &amp;v1, const U &amp;v2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if two 2D vectors are parallel.  <a href="group__geometry__grp.html#ga02898caca2e86295b143fddb35be2d02"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8e6c754edead58282fc8bc2fe030a28f">mrpt::math::vectorsAreParallel3D</a> (const T &amp;v1, const U &amp;v2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if two 3D vectors are parallel.  <a href="group__geometry__grp.html#ga8e6c754edead58282fc8bc2fe030a28f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad9aef76403111b275219b248ef857f0d">mrpt::math::minimumDistanceFromPointToSegment</a> (const double &amp;Px, const double &amp;Py, const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, double &amp;out_x, double &amp;out_y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the closest point from a given point to a segment, and returns that minimum distance.  <a href="group__geometry__grp.html#gad9aef76403111b275219b248ef857f0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa1f65418a798a5c7cc0570ea311ad596">mrpt::math::minimumDistanceFromPointToSegment</a> (const double &amp;Px, const double &amp;Py, const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, float &amp;out_x, float &amp;out_y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the closest point from a given point to a segment, and returns that minimum distance.  <a href="group__geometry__grp.html#gaa1f65418a798a5c7cc0570ea311ad596"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae7ede60214c324413b05a0624523d20c">mrpt::math::closestFromPointToSegment</a> (const double &amp;Px, const double &amp;Py, const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, double &amp;out_x, double &amp;out_y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the closest point from a given point to a segment.  <a href="group__geometry__grp.html#gae7ede60214c324413b05a0624523d20c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac5f11f2c4b55831c3ffff7131b8e8c5f">mrpt::math::closestFromPointToLine</a> (const double &amp;Px, const double &amp;Py, const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, double &amp;out_x, double &amp;out_y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the closest point from a given point to a (infinite) line.  <a href="group__geometry__grp.html#gac5f11f2c4b55831c3ffff7131b8e8c5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga34b47b2f0ce0b415dbbc012d416eb8f8">mrpt::math::closestSquareDistanceFromPointToLine</a> (const double &amp;Px, const double &amp;Py, const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the square distance from a point to a line.  <a href="group__geometry__grp.html#ga34b47b2f0ce0b415dbbc012d416eb8f8"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa750f334af9804daea1b6c748fb5544f">mrpt::math::distanceBetweenPoints</a> (const T x1, const T y1, const T x2, const T y2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between 2 points in 2D.  <a href="group__geometry__grp.html#gaa750f334af9804daea1b6c748fb5544f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaf9f23698674258694e4ccf1b65d883d9">mrpt::math::distanceBetweenPoints</a> (const T x1, const T y1, const T z1, const T x2, const T y2, const T z2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between 2 points in 3D.  <a href="group__geometry__grp.html#gaf9f23698674258694e4ccf1b65d883d9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga317e06b958f0d87add2bf964a831f4a6">mrpt::math::distanceSqrBetweenPoints</a> (const T x1, const T y1, const T x2, const T y2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the square distance between 2 points in 2D.  <a href="group__geometry__grp.html#ga317e06b958f0d87add2bf964a831f4a6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga43a105e4de12406d0f1ec02bfa068efd">mrpt::math::distanceSqrBetweenPoints</a> (const T x1, const T y1, const T z1, const T x2, const T y2, const T z2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the square distance between 2 points in 3D.  <a href="group__geometry__grp.html#ga43a105e4de12406d0f1ec02bfa068efd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae1e629aecd4f3ef90c946f7922f628d2">mrpt::math::SegmentsIntersection</a> (const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, const double &amp;x3, const double &amp;y3, const double &amp;x4, const double &amp;y4, double &amp;ix, double &amp;iy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the intersection point, and if it exists, between two segments.  <a href="group__geometry__grp.html#gae1e629aecd4f3ef90c946f7922f628d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga78b43ed0140e819f4d736e0f1b89a9b6">mrpt::math::SegmentsIntersection</a> (const double &amp;x1, const double &amp;y1, const double &amp;x2, const double &amp;y2, const double &amp;x3, const double &amp;y3, const double &amp;x4, const double &amp;y4, float &amp;ix, float &amp;iy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the intersection point, and if it exists, between two segments.  <a href="group__geometry__grp.html#ga78b43ed0140e819f4d736e0f1b89a9b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2d3279e82ce6d2c47c8152079a3ef281">mrpt::math::pointIntoPolygon2D</a> (const double &amp;px, const double &amp;py, unsigned int polyEdges, const double *poly_xs, const double *poly_ys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the 2D point (px,py) falls INTO the given polygon.  <a href="group__geometry__grp.html#ga2d3279e82ce6d2c47c8152079a3ef281"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7a045689c27da5ed560fb9c0da6afece">mrpt::math::pointIntoQuadrangle</a> (T x, T y, T v1x, T v1y, T v2x, T v2y, T v3x, T v3y, T v4x, T v4y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized method to check whether a point (x,y) falls into a quadrangle.  <a href="group__geometry__grp.html#ga7a045689c27da5ed560fb9c0da6afece"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4a37a7be7002726067dc30938747136c">mrpt::math::distancePointToPolygon2D</a> (const double &amp;px, const double &amp;py, unsigned int polyEdges, const double *poly_xs, const double *poly_ys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the closest distance of a given 2D point to a polygon, or "0" if the point is INTO the polygon or its perimeter.  <a href="group__geometry__grp.html#ga4a37a7be7002726067dc30938747136c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga65cdc0ef2b5080fbd70b5c8019da00dc">mrpt::math::minDistBetweenLines</a> (const double &amp;p1_x, const double &amp;p1_y, const double &amp;p1_z, const double &amp;p2_x, const double &amp;p2_y, const double &amp;p2_z, const double &amp;p3_x, const double &amp;p3_y, const double &amp;p3_z, const double &amp;p4_x, const double &amp;p4_y, const double &amp;p4_z, double &amp;x, double &amp;y, double &amp;z, double &amp;dist)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the minimum distance between a pair of lines.  <a href="group__geometry__grp.html#ga65cdc0ef2b5080fbd70b5c8019da00dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga47a389f6645848187e5b8490d20c6bf0">mrpt::math::RectanglesIntersection</a> (const double &amp;R1_x_min, const double &amp;R1_x_max, const double &amp;R1_y_min, const double &amp;R1_y_max, const double &amp;R2_x_min, const double &amp;R2_x_max, const double &amp;R2_y_min, const double &amp;R2_y_max, const double &amp;R2_pose_x, const double &amp;R2_pose_y, const double &amp;R2_pose_phi)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns wether two rotated rectangles intersect.  <a href="group__geometry__grp.html#ga47a389f6645848187e5b8490d20c6bf0"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">CMatrixTemplateNumeric&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac393ef41292790bb8983997c5e1fda56">mrpt::math::generateAxisBaseFromDirection</a> (T dx, T dy, T dz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes an axis base (a set of three 3D normal vectors) with the given vector being the first of them.  <a href="group__geometry__grp.html#gac393ef41292790bb8983997c5e1fda56"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename VECTOR_LIKE , typename Precision , typename MATRIX_LIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac093231a869a1c120f56f8f661b11cc4">mrpt::math::rodrigues_so3_exp</a> (const VECTOR_LIKE &amp;w, const Precision A, const Precision B, MATRIX_LIKE &amp;R)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a rotation exponential using the Rodrigues Formula.  <a href="group__geometry__grp.html#gac093231a869a1c120f56f8f661b11cc4"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1c443a200f0be17fb54bfc78c62acf45">mrpt::math::geometryEpsilon</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Global epsilon to overcome small precision errors.  <a href="group__geometry__grp.html#ga1c443a200f0be17fb54bfc78c62acf45"></a><br/></td></tr>
</table>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>