<!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> > <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <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 <<a class="el" href="utils__defs_8h_source.html">mrpt/utils/utils_defs.h</a>></code><br/> <code>#include <<a class="el" href="_c_matrix_template_numeric_8h_source.html">mrpt/math/CMatrixTemplateNumeric.h</a>></code><br/> <code>#include <<a class="el" href="_c_point2_d_8h_source.html">mrpt/poses/CPoint2D.h</a>></code><br/> <code>#include <<a class="el" href="_c_point3_d_8h_source.html">mrpt/poses/CPoint3D.h</a>></code><br/> <code>#include <<a class="el" href="_c_pose2_d_8h_source.html">mrpt/poses/CPose2D.h</a>></code><br/> <code>#include <<a class="el" href="_c_pose3_d_8h_source.html">mrpt/poses/CPose3D.h</a>></code><br/> <code>#include <<a class="el" href="lightweight__geom__data_8h_source.html">mrpt/math/lightweight_geom_data.h</a>></code><br/> <code>#include <<a class="el" href="_c_sparse_matrix_template_8h_source.html">mrpt/math/CSparseMatrixTemplate.h</a>></code><br/> <code>#include <<a class="el" href="base_2include_2mrpt_2math_2utils_8h_source.html">mrpt/math/utils.h</a>></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  </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"> </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  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt.html">mrpt</a></td></tr> <tr><td class="mdescLeft"> </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  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math.html">mrpt::math</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga096194319b696aecf5ab9337a2f60c44">mrpt::math::intersect</a> (const TSegment3D &s1, const TSegment3D &s2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaf3dacfd63aa769727ea020d61e082e09">mrpt::math::intersect</a> (const TSegment3D &s1, const TPlane &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga20eb28ba649c6b5a08e0a1bbf8725d31">mrpt::math::intersect</a> (const TSegment3D &s1, const TLine3D &r2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5578db841cf79d522bbe330e8af74b37">mrpt::math::intersect</a> (const TPlane &p1, const TSegment3D &s2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga909e63792323a7862885aa8b4e34766a">mrpt::math::intersect</a> (const TPlane &p1, const TPlane &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga172f48d9c8d9cd23d74edacb4dc254ef">mrpt::math::intersect</a> (const TPlane &p1, const TLine3D &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2213e727c993392fe8a6ff82bd4a1ed2">mrpt::math::intersect</a> (const TLine3D &r1, const TSegment3D &s2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga95f158cb50fb69c1d79243f48385409e">mrpt::math::intersect</a> (const TLine3D &r1, const TPlane &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga69430d142e4fe3306f572738b4411397">mrpt::math::intersect</a> (const TLine3D &r1, const TLine3D &r2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab960cce02b692c8897dfc36d9c6f0914">mrpt::math::intersect</a> (const TLine2D &r1, const TLine2D &r2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab474b7d5539df394ad1ee48000657500">mrpt::math::intersect</a> (const TLine2D &r1, const TSegment2D &s2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7f0d0dba6bacd14ccd3c518dbfe76000">mrpt::math::intersect</a> (const TSegment2D &s1, const TLine2D &r2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2478dd9095e36422ba33a8a9af817d66">mrpt::math::intersect</a> (const TSegment2D &s1, const TSegment2D &s2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaef0c5b67b3e5066b473389fd82d7e694">mrpt::math::getAngle</a> (const TPlane &p1, const TPlane &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5d6f350ef4e5edc626a84b9cfd3cca8b">mrpt::math::getAngle</a> (const TPlane &p1, const TLine3D &r2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga92e221cabafb17be49a42740463bba64">mrpt::math::getAngle</a> (const TLine3D &r1, const TPlane &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga80c2e12dcb6669eb0574795acf3f28e5">mrpt::math::getAngle</a> (const TLine3D &r1, const TLine3D &r2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga68706eed82d782c279146d565bd55cec">mrpt::math::getAngle</a> (const TLine2D &r1, const TLine2D &r2)</td></tr> <tr><td class="mdescLeft"> </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 </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> &p, TLine3D &r)</td></tr> <tr><td class="mdescLeft"> </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 </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> &p, TLine3D &r)</td></tr> <tr><td class="mdescLeft"> </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 </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> &p, TLine3D &r)</td></tr> <tr><td class="mdescLeft"> </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 </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> &p, const double(&vector)[3], TLine3D &r)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabf4854bde197d4a2c6f923fdc59386d0">mrpt::math::createFromPoseX</a> (const TPose2D &p, TLine2D &r)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa9351feda24873f86b011fe92520043e">mrpt::math::createFromPoseY</a> (const TPose2D &p, TLine2D &r)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga9873d4e1a924d239cb3a25b21d1c5bfe">mrpt::math::createFromPoseAndVector</a> (const TPose2D &p, const double(&vector)[2], TLine2D &r)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points, TPlane &p)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint2D > &points)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint2D > &points, TLine2D &r)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points, TLine3D &r)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabc1ba0f4ffbfb1070b19923471fbd5ac">mrpt::math::project3D</a> (const TPoint3D &point, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, TPoint3D &newPoint)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gafa9a1277ee17ec0beacdab848984ed29">mrpt::math::project3D</a> (const TSegment3D &segment, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, TSegment3D &newSegment)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1d06b4f6527d1386f58b0a350f979cf8">mrpt::math::project3D</a> (const TLine3D &line, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, TLine3D &newLine)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gacee968e4646c0be6681c65d6121ce42f">mrpt::math::project3D</a> (const TPlane &plane, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, TPlane &newPlane)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7d963823e9beb0e850453bba63197378">mrpt::math::project3D</a> (const TPolygon3D &polygon, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, TPolygon3D &newPolygon)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac61924cf2848a569533dd9a4bf6eb9c2">mrpt::math::project3D</a> (const TObject3D &object, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYPose, TObject3D &newObject)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga3a8703f7747d7d472704621ea44c7021">mrpt::math::project3D</a> (const T &obj, const TPlane &newXYPlane, T &newObj)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa777931620bc326748391967ef724568">mrpt::math::project3D</a> (const T &obj, const TPlane &newXYPlane, const TPoint3D &newOrigin, T &newObj)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </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>< T > &objs, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &newXYpose, <a class="el" href="classstd_1_1vector.html">std::vector</a>< T > &newObjs)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga01a5878f7437f17ed3603a31e6190339">mrpt::math::project2D</a> (const TPoint2D &point, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, TPoint2D &newPoint)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaea53914830f34b117463dee1594a1d9f">mrpt::math::project2D</a> (const TSegment2D &segment, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, TSegment2D &newSegment)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga510c78e42b44f5db84acd113f597c532">mrpt::math::project2D</a> (const TLine2D &line, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, TLine2D &newLine)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6229a4b11127c6fcebede49fd2d2933d">mrpt::math::project2D</a> (const TPolygon2D &polygon, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, TPolygon2D &newPolygon)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaff16bd12ca2eeaf65f9357af22bc7a9b">mrpt::math::project2D</a> (const TObject2D &object, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, TObject2D &newObject)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4fc38e90d8d9d8d13db114369d4f6e6b">mrpt::math::project2D</a> (const T &obj, const TLine2D &newXLine, T &newObj)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga25fd57667837bb516e82539d86802f8b">mrpt::math::project2D</a> (const T &obj, const TLine2D &newXLine, const TPoint2D &newOrigin, T &newObj)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </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>< T > &objs, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &newXpose, <a class="el" href="classstd_1_1vector.html">std::vector</a>< T > &newObjs)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7e513f8e21eac854239e425224d9a4c2">mrpt::math::intersect</a> (const TPolygon2D &p1, const TSegment2D &s2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1a7a58052efcbd9ebcee2f345798ee8b">mrpt::math::intersect</a> (const TPolygon2D &p1, const TLine2D &r2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa0628efe1d7ead5ea49fb481d454821e">mrpt::math::intersect</a> (const TPolygon2D &p1, const TPolygon2D &p2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5f241d690d1dc369584ab9894e1403aa">mrpt::math::intersect</a> (const TSegment2D &s1, const TPolygon2D &p2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga498ab42b7016f46dfd864e6603983e79">mrpt::math::intersect</a> (const TLine2D &r1, const TPolygon2D &p2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga33f131008c3dba6ec3938f4c69cd5ac8">mrpt::math::intersect</a> (const TPolygon3D &p1, const TSegment3D &s2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga7e235b2e688b049bbc430a0eedff3ecb">mrpt::math::intersect</a> (const TPolygon3D &p1, const TLine3D &r2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga64b074d139e3902d313795dda99e9c1e">mrpt::math::intersect</a> (const TPolygon3D &p1, const TPlane &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad771ff8e451fd7072ca8506ee634109e">mrpt::math::intersect</a> (const TPolygon3D &p1, const TPolygon3D &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae54fcad3a2754529817b16dbd387a6e2">mrpt::math::intersect</a> (const TSegment3D &s1, const TPolygon3D &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa2686f4f203380a19184ee8bcfa5db35">mrpt::math::intersect</a> (const TLine3D &r1, const TPolygon3D &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac0867b77fa033682044a131e1872ed3c">mrpt::math::intersect</a> (const TPlane &p1, const TPolygon3D &p2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPolygon3D > &v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &v2, CSparseMatrixTemplate< TObject3D > &objs)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPolygon3D > &v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &v2, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TObject3D > &objs)</td></tr> <tr><td class="mdescLeft"> </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<class T , class U , class O > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">size_t </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>< T > &v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>< U > &v2, CSparseMatrixTemplate< O > &objs)</td></tr> <tr><td class="mdescLeft"> </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<class T , class U , class O > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">size_t </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>< T > &v1, const <a class="el" href="classstd_1_1vector.html">std::vector</a>< U > &v2, <a class="el" href="classstd_1_1vector.html">std::vector</a>< O > objs)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad06a48e9be050230c6db6bf76f27666a">mrpt::math::intersect</a> (const TObject2D &o1, const TObject2D &o2, TObject2D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6692d50e9510d1df456d55ea7ce63fcd">mrpt::math::intersect</a> (const TObject3D &o1, const TObject3D &o2, TObject3D &obj)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance</a> (const TPoint2D &p1, const TPoint2D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaf912081e3dfe5deadd1a901b963f2200">mrpt::math::distance</a> (const TPoint3D &p1, const TPoint3D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga5525c130173ebedcb5004b21bfd3e7c6">mrpt::math::distance</a> (const TLine2D &r1, const TLine2D &r2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga6af1e7303c5086532ea0bd7b85770c6a">mrpt::math::distance</a> (const TLine3D &r1, const TLine3D &r2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga425678e3a9733b3c235c9bf52d42449b">mrpt::math::distance</a> (const TPlane &p1, const TPlane &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga80aa973c410226b39207c04fef2b0ca8">mrpt::math::distance</a> (const TPolygon2D &p1, const TPolygon2D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad9b6ba84fd439e642cbe28f33554e71c">mrpt::math::distance</a> (const TPolygon2D &p1, const TSegment2D &s2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae4801fe47285acad2533585a42eac9cd">mrpt::math::distance</a> (const TSegment2D &s1, const TPolygon2D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gada89a8be5877badb65b5128d2b35c250">mrpt::math::distance</a> (const TPolygon2D &p1, const TLine2D &l2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga199640d96dc07d84a787660b07059b06">mrpt::math::distance</a> (const TLine2D &l1, const TPolygon2D &p2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">double BASE_IMPEXP </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gacbd841c8d89a699c64e79884c22ea0ba">mrpt::math::distance</a> (const TPolygon3D &p1, const TPolygon3D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gab7693757a867db8282375fad8218e0dc">mrpt::math::distance</a> (const TPolygon3D &p1, const TSegment3D &s2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga19a574fbbb884252278e69af2d4f64eb">mrpt::math::distance</a> (const TSegment3D &s1, const TPolygon3D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga721c135698a885a94ef23e0881e8345b">mrpt::math::distance</a> (const TPolygon3D &p1, const TLine3D &l2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga50cc3a8b2fdca23879e8a2c8d3473199">mrpt::math::distance</a> (const TLine3D &l1, const TPolygon3D &p2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga653cfc905bc57d12cb5dd9ca53bf4b59">mrpt::math::distance</a> (const TPolygon3D &po, const TPlane &pl)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gabfb83bd00d767a1fa6c2f8f846577e23">mrpt::math::distance</a> (const TPlane &pl, const TPolygon3D &po)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint2D > &poly, TPoint2D &pMin, TPoint2D &pMax)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &poly, TPoint3D &pMin, TPoint3D &pMax)</td></tr> <tr><td class="mdescLeft"> </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 </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> &pose, TPlane &plane)</td></tr> <tr><td class="mdescLeft"> </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 </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> &pose, TPlane &plane)</td></tr> <tr><td class="mdescLeft"> </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 </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> &pose, TPlane &plane)</td></tr> <tr><td class="mdescLeft"> </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 </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> &pose, const double(&normal)[3], TPlane &plane)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1e345799e96a2fb5e84ac9f0df9230ef">mrpt::math::generateAxisBaseFromDirectionAndAxis</a> (const double(&vec)[3], char coord, CMatrixDouble &matrix)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint2D > &points, TLine2D &line)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points, TLine3D &line)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TPoint3D > &points, TPlane &plane)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TSegment3D > &segms, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &polys)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TSegment3D > &segms, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TSegment3D > &remainder)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TObject3D > &objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &polys)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TObject3D > &objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TObject3D > &remainder)</td></tr> <tr><td class="mdescLeft"> </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 </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>< TObject3D > &objs, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TPolygon3D > &polys, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TSegment3D > &remainder1, <a class="el" href="classstd_1_1vector.html">std::vector</a>< TObject3D > &remainder2)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga765a2078a3e24f5a172b14b0a5e8edcf">mrpt::math::splitInConvexComponents</a> (const TPolygon2D &poly, vector< TPolygon2D > &components)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga450bca4f9e960756f29c65167f4824c1">mrpt::math::splitInConvexComponents</a> (const TPolygon3D &poly, vector< TPolygon3D > &components)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac104a1bc6eb508467389666e7cc20c2e">mrpt::math::getSegmentBisector</a> (const TSegment2D &sgm, TLine2D &bis)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga73c52bb85ac39cc29e4fe46f93f446f3">mrpt::math::getSegmentBisector</a> (const TSegment3D &sgm, TPlane &bis)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga81505df2cba76f0399244d46096da571">mrpt::math::getAngleBisector</a> (const TLine2D &l1, const TLine2D &l2, TLine2D &bis)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga00dea7e409f8bd9d6a2e6b98f868a0ce">mrpt::math::getAngleBisector</a> (const TLine3D &l1, const TLine3D &l2, TLine3D &bis)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga363e00600f9c000dd774e6c721faba7d">mrpt::math::traceRay</a> (const vector< TPolygonWithPlane > &vec, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &pose, double &dist)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad3a55044d9f2abb347c7221e3e58d45e">mrpt::math::traceRay</a> (const vector< TPolygon3D > &vec, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &pose, double &dist)</td></tr> <tr><td class="mdescLeft"> </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<class T , class U , class V > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad8d6fbe91133eb0caa6722ae378ea3fb">mrpt::math::crossProduct3D</a> (const T &v0, const U &v1, V &vOut)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </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>< T > &v0, const <a class="el" href="classstd_1_1vector.html">std::vector</a>< T > &v1, <a class="el" href="classstd_1_1vector.html">std::vector</a>< T > &v_out)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class VEC1 , class VEC2 > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_matrix.html">Eigen::Matrix</a>< double, 3, 1 > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8434b52fe61bfea34a87705c3c296b9e">mrpt::math::crossProduct3D</a> (const VEC1 &v0, const VEC2 &v1)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class VECTOR , class MATRIX > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga1d062ce80412bd12f853b032f7822edb">mrpt::math::skew_symmetric3</a> (const VECTOR &v, MATRIX &M)</td></tr> <tr><td class="mdescLeft"> </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 & -z & y \\ z & 0 & -x \\ -y & x & 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<class VECTOR > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">mrpt::math::CMatrixDouble33</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga885c8e7de7ba80f5d314d4ec0a161d02">mrpt::math::skew_symmetric3</a> (const VECTOR &v)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class VECTOR , class MATRIX > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa6594f63ac8850608581cbda8c2425c9">mrpt::math::skew_symmetric3_neg</a> (const VECTOR &v, MATRIX &M)</td></tr> <tr><td class="mdescLeft"> </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 & z & -y \\ -z & 0 & x \\ y & -x & 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<class VECTOR > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">mrpt::math::CMatrixDouble33</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga88a1a74aa8e47de309e4b00dfb1b2d9b">mrpt::math::skew_symmetric3_neg</a> (const VECTOR &v)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class T , class U > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga02898caca2e86295b143fddb35be2d02">mrpt::math::vectorsAreParallel2D</a> (const T &v1, const U &v2)</td></tr> <tr><td class="mdescLeft"> </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<class T , class U > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga8e6c754edead58282fc8bc2fe030a28f">mrpt::math::vectorsAreParallel3D</a> (const T &v1, const U &v2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gad9aef76403111b275219b248ef857f0d">mrpt::math::minimumDistanceFromPointToSegment</a> (const double &Px, const double &Py, const double &x1, const double &y1, const double &x2, const double &y2, double &out_x, double &out_y)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gaa1f65418a798a5c7cc0570ea311ad596">mrpt::math::minimumDistanceFromPointToSegment</a> (const double &Px, const double &Py, const double &x1, const double &y1, const double &x2, const double &y2, float &out_x, float &out_y)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae7ede60214c324413b05a0624523d20c">mrpt::math::closestFromPointToSegment</a> (const double &Px, const double &Py, const double &x1, const double &y1, const double &x2, const double &y2, double &out_x, double &out_y)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac5f11f2c4b55831c3ffff7131b8e8c5f">mrpt::math::closestFromPointToLine</a> (const double &Px, const double &Py, const double &x1, const double &y1, const double &x2, const double &y2, double &out_x, double &out_y)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga34b47b2f0ce0b415dbbc012d416eb8f8">mrpt::math::closestSquareDistanceFromPointToLine</a> (const double &Px, const double &Py, const double &x1, const double &y1, const double &x2, const double &y2)</td></tr> <tr><td class="mdescLeft"> </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<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">T </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"> </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<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">T </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"> </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<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">T </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"> </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<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">T </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gae1e629aecd4f3ef90c946f7922f628d2">mrpt::math::SegmentsIntersection</a> (const double &x1, const double &y1, const double &x2, const double &y2, const double &x3, const double &y3, const double &x4, const double &y4, double &ix, double &iy)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga78b43ed0140e819f4d736e0f1b89a9b6">mrpt::math::SegmentsIntersection</a> (const double &x1, const double &y1, const double &x2, const double &y2, const double &x3, const double &y3, const double &x4, const double &y4, float &ix, float &iy)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga2d3279e82ce6d2c47c8152079a3ef281">mrpt::math::pointIntoPolygon2D</a> (const double &px, const double &py, unsigned int polyEdges, const double *poly_xs, const double *poly_ys)</td></tr> <tr><td class="mdescLeft"> </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<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga4a37a7be7002726067dc30938747136c">mrpt::math::distancePointToPolygon2D</a> (const double &px, const double &py, unsigned int polyEdges, const double *poly_xs, const double *poly_ys)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga65cdc0ef2b5080fbd70b5c8019da00dc">mrpt::math::minDistBetweenLines</a> (const double &p1_x, const double &p1_y, const double &p1_z, const double &p2_x, const double &p2_y, const double &p2_z, const double &p3_x, const double &p3_y, const double &p3_z, const double &p4_x, const double &p4_y, const double &p4_z, double &x, double &y, double &z, double &dist)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#ga47a389f6645848187e5b8490d20c6bf0">mrpt::math::RectanglesIntersection</a> (const double &R1_x_min, const double &R1_x_max, const double &R1_y_min, const double &R1_y_max, const double &R2_x_min, const double &R2_x_max, const double &R2_y_min, const double &R2_y_max, const double &R2_pose_x, const double &R2_pose_y, const double &R2_pose_phi)</td></tr> <tr><td class="mdescLeft"> </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<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">CMatrixTemplateNumeric< T > </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"> </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<typename VECTOR_LIKE , typename Precision , typename MATRIX_LIKE > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html#gac093231a869a1c120f56f8f661b11cc4">mrpt::math::rodrigues_so3_exp</a> (const VECTOR_LIKE &w, const Precision A, const Precision B, MATRIX_LIKE &R)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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>