<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>Eigen: Hyperplane< _Scalar, _AmbientDim, Options > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="eigendoxy.css" rel="stylesheet" type="text/css"> <!-- --> <script type="text/javascript" src="eigen_navtree_hacks.js"></script> <!-- <script type="text/javascript"> --> <!-- </script> --> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <!-- <a name="top"></a> --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="Eigen_Silly_Professor_64x64.png"/></td> <td style="padding-left: 0.5em;"> <div id="projectname"><a href="http://eigen.tuxfamily.org">Eigen</a>  <span id="projectnumber">3.2.0</span> </div> </td> <td> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classEigen_1_1Hyperplane.html','');}); </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="classEigen_1_1Hyperplane-members.html">List of all members</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> </div> <div class="headertitle"> <div class="title">Hyperplane< _Scalar, _AmbientDim, Options > Class Template Reference<div class="ingroups"><a class="el" href="group__Geometry__Module.html">Geometry module</a></div></div> </div> </div><!--header--> <div class="contents"> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<typename _Scalar, int _AmbientDim, int Options = AutoAlign><br/> class Eigen::Hyperplane< _Scalar, _AmbientDim, Options ></h3> <p>A hyperplane. </p> <p>This is defined in the Geometry module.</p> <div class="fragment"><div class="line"><span class="preprocessor">#include <Eigen/Geometry></span> </div> </div><!-- fragment --><p>A hyperplane is an affine subspace of dimension n-1 in a space of dimension n. For example, a hyperplane in a plane is a line; a hyperplane in 3-space is a plane.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">_Scalar</td><td>the scalar type, i.e., the type of the coefficients </td></tr> <tr><td class="paramname">_AmbientDim</td><td>the dimension of the ambient space, can be a compile time value or Dynamic. Notice that the dimension of the hyperplane is _AmbientDim-1.</td></tr> </table> </dd> </dl> <p>This class represents an hyperplane as the zero set of the implicit equation <img class="formulaInl" alt="$ n \cdot x + d = 0 $" src="form_101.png"/> where <img class="formulaInl" alt="$ n $" src="form_45.png"/> is a unit normal vector of the plane (linear part) and <img class="formulaInl" alt="$ d $" src="form_102.png"/> is the distance (offset) to the origin. </p> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a8383bb22fa5f6024856f2c781f6ec0db"><td class="memItemLeft" align="right" valign="top">Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a8383bb22fa5f6024856f2c781f6ec0db">absDistance</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p) const </td></tr> <tr class="separator:a8383bb22fa5f6024856f2c781f6ec0db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad8e93f5ebbfdfeaafbdce587c389c26b"><td class="memTemplParams" colspan="2">template<typename NewScalarType > </td></tr> <tr class="memitem:ad8e93f5ebbfdfeaafbdce587c389c26b"><td class="memTemplItemLeft" align="right" valign="top">internal::cast_return_type<br class="typebreak"/> < <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>, <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a><br class="typebreak"/> < NewScalarType, <br class="typebreak"/> AmbientDimAtCompileTime, <br class="typebreak"/> Options > >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ad8e93f5ebbfdfeaafbdce587c389c26b">cast</a> () const </td></tr> <tr class="separator:ad8e93f5ebbfdfeaafbdce587c389c26b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67d7e844f940f6ca2673eadacaf08b3b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Matrix.html">Coefficients</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a67d7e844f940f6ca2673eadacaf08b3b">coeffs</a> () const </td></tr> <tr class="separator:a67d7e844f940f6ca2673eadacaf08b3b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1617ce16af4ff4c65d2155848f2ea161"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Matrix.html">Coefficients</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a1617ce16af4ff4c65d2155848f2ea161">coeffs</a> ()</td></tr> <tr class="separator:a1617ce16af4ff4c65d2155848f2ea161"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8809dd8f7c45e11b3f62c3fcf0175e68"><td class="memItemLeft" align="right" valign="top">Index </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a8809dd8f7c45e11b3f62c3fcf0175e68">dim</a> () const </td></tr> <tr class="separator:a8809dd8f7c45e11b3f62c3fcf0175e68"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5da8814bd3fb91f730302692c736069"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#af5da8814bd3fb91f730302692c736069">Hyperplane</a> ()</td></tr> <tr class="separator:af5da8814bd3fb91f730302692c736069"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd150a51ba003162b7a3d919b6b11341"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#acd150a51ba003162b7a3d919b6b11341">Hyperplane</a> (Index _dim)</td></tr> <tr class="separator:acd150a51ba003162b7a3d919b6b11341"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3ab0f5ce565bb0561e5dd3d82358c0e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ad3ab0f5ce565bb0561e5dd3d82358c0e">Hyperplane</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &n, const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &e)</td></tr> <tr class="separator:ad3ab0f5ce565bb0561e5dd3d82358c0e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a16de15865999fc85f912727fdaaa16f2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a16de15865999fc85f912727fdaaa16f2">Hyperplane</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &n, const Scalar &d)</td></tr> <tr class="separator:a16de15865999fc85f912727fdaaa16f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e93264afdcb9e5e762413df10bad3dd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a7e93264afdcb9e5e762413df10bad3dd">Hyperplane</a> (const <a class="el" href="classEigen_1_1ParametrizedLine.html">ParametrizedLine</a>< Scalar, AmbientDimAtCompileTime > &parametrized)</td></tr> <tr class="separator:a7e93264afdcb9e5e762413df10bad3dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a079adfa5d26ae1f00de7f756a0d2c00b"><td class="memTemplParams" colspan="2">template<typename OtherScalarType , int OtherOptions> </td></tr> <tr class="memitem:a079adfa5d26ae1f00de7f756a0d2c00b"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a079adfa5d26ae1f00de7f756a0d2c00b">Hyperplane</a> (const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other)</td></tr> <tr class="separator:a079adfa5d26ae1f00de7f756a0d2c00b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad10ca15c93ee4d825f92a2c4563ed678"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Matrix.html">VectorType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ad10ca15c93ee4d825f92a2c4563ed678">intersection</a> (const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> &other) const </td></tr> <tr class="separator:ad10ca15c93ee4d825f92a2c4563ed678"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae3f0cc3141ee484c2e1a8a391a47c624"><td class="memTemplParams" colspan="2">template<int OtherOptions> </td></tr> <tr class="memitem:ae3f0cc3141ee484c2e1a8a391a47c624"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ae3f0cc3141ee484c2e1a8a391a47c624">isApprox</a> (const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>< Scalar, AmbientDimAtCompileTime, OtherOptions > &other, const typename <a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>< Scalar >::Real &prec=<a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>< Scalar >::dummy_precision()) const </td></tr> <tr class="separator:ae3f0cc3141ee484c2e1a8a391a47c624"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace24c10a33475a675f45cfbf085378ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">ConstNormalReturnType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">normal</a> () const </td></tr> <tr class="separator:ace24c10a33475a675f45cfbf085378ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a115e276ad412ed6378e3291095132591"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">NormalReturnType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a115e276ad412ed6378e3291095132591">normal</a> ()</td></tr> <tr class="separator:a115e276ad412ed6378e3291095132591"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7494eb6e7ee0d104f3a01dcceed8607a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a7494eb6e7ee0d104f3a01dcceed8607a">normalize</a> (void)</td></tr> <tr class="separator:a7494eb6e7ee0d104f3a01dcceed8607a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a32ddf277ab2a650e7d520bcbbc09fb99"><td class="memItemLeft" align="right" valign="top">const Scalar & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">offset</a> () const </td></tr> <tr class="separator:a32ddf277ab2a650e7d520bcbbc09fb99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12c3df61f19531230e282a879b605842"><td class="memItemLeft" align="right" valign="top">Scalar & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a12c3df61f19531230e282a879b605842">offset</a> ()</td></tr> <tr class="separator:a12c3df61f19531230e282a879b605842"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac93039c47cde2b60b29d99f3e1a7dc71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Matrix.html">VectorType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ac93039c47cde2b60b29d99f3e1a7dc71">projection</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p) const </td></tr> <tr class="separator:ac93039c47cde2b60b29d99f3e1a7dc71"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aacd139793b951a521e0e5147a4793d9c"><td class="memItemLeft" align="right" valign="top">Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">signedDistance</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p) const </td></tr> <tr class="separator:aacd139793b951a521e0e5147a4793d9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a35877b483d288e5c4569163b41e79ecc"><td class="memTemplParams" colspan="2">template<typename XprType > </td></tr> <tr class="memitem:a35877b483d288e5c4569163b41e79ecc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a35877b483d288e5c4569163b41e79ecc">transform</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>< XprType > &mat, <a class="el" href="group__enums.html#ga302a826315506a7217d4b477ea78425f">TransformTraits</a> traits=<a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>)</td></tr> <tr class="separator:a35877b483d288e5c4569163b41e79ecc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae5243c6aa230fcd95572c3a99cdd014d"><td class="memTemplParams" colspan="2">template<int TrOptions> </td></tr> <tr class="memitem:ae5243c6aa230fcd95572c3a99cdd014d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#ae5243c6aa230fcd95572c3a99cdd014d">transform</a> (const <a class="el" href="classEigen_1_1Transform.html">Transform</a>< Scalar, AmbientDimAtCompileTime, <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>, TrOptions > &t, <a class="el" href="group__enums.html#ga302a826315506a7217d4b477ea78425f">TransformTraits</a> traits=<a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>)</td></tr> <tr class="separator:ae5243c6aa230fcd95572c3a99cdd014d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:a10fad5ae000f23b20ebc9e54ed7202dd"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#a10fad5ae000f23b20ebc9e54ed7202dd">Through</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p0, const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p1)</td></tr> <tr class="separator:a10fad5ae000f23b20ebc9e54ed7202dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aabfcda23a80edfd62387bb3d930f4b96"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Hyperplane.html#aabfcda23a80edfd62387bb3d930f4b96">Through</a> (const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p0, const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p1, const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> &p2)</td></tr> <tr class="separator:aabfcda23a80edfd62387bb3d930f4b96"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="af5da8814bd3fb91f730302692c736069"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Default constructor without initialization </p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ad8e93f5ebbfdfeaafbdce587c389c26b">Hyperplane< _Scalar, _AmbientDim, Options >::cast()</a>.</p> </div> </div> <a class="anchor" id="acd150a51ba003162b7a3d919b6b11341"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramtype">Index </td> <td class="paramname"><em>_dim</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a dynamic-size hyperplane with <em>_dim</em> the dimension of the ambient space </p> </div> </div> <a class="anchor" id="ad3ab0f5ce565bb0561e5dd3d82358c0e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>e</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Construct a plane from its normal <em>n</em> and a point <em>e</em> onto the plane. </p> <dl class="section warning"><dt>Warning</dt><dd>the vector normal is assumed to be normalized. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>.</p> </div> </div> <a class="anchor" id="a16de15865999fc85f912727fdaaa16f2"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Scalar & </td> <td class="paramname"><em>d</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a plane from its normal <em>n</em> and distance to the origin <em>d</em> such that the algebraic equation of the plane is <img class="formulaInl" alt="$ n \cdot x + d = 0 $" src="form_101.png"/>. </p> <dl class="section warning"><dt>Warning</dt><dd>the vector normal is assumed to be normalized. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>.</p> </div> </div> <a class="anchor" id="a7e93264afdcb9e5e762413df10bad3dd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1ParametrizedLine.html">ParametrizedLine</a>< Scalar, AmbientDimAtCompileTime > & </td> <td class="paramname"><em>parametrized</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a hyperplane passing through the parametrized line <em>parametrized</em>. If the dimension of the ambient space is greater than 2, then there isn't uniqueness, so an arbitrary choice is made. </p> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>.</p> </div> </div> <a class="anchor" id="a079adfa5d26ae1f00de7f756a0d2c00b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > & </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copy constructor with scalar type conversion </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a8383bb22fa5f6024856f2c781f6ec0db"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Scalar absDistance </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the absolute distance between the plane <code>*this</code> and a point <em>p</em>. </dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">signedDistance()</a> </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">Hyperplane< _Scalar, _AmbientDim, Options >::signedDistance()</a>.</p> </div> </div> <a class="anchor" id="ad8e93f5ebbfdfeaafbdce587c389c26b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">internal::cast_return_type<<a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>, <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a><NewScalarType,AmbientDimAtCompileTime,Options> >::type cast </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd><code>*this</code> with scalar type casted to <em>NewScalarType</em> </dd></dl> <p>Note that if <em>NewScalarType</em> is equal to the current scalar type of <code>*this</code> then this function smartly returns a const reference to <code>*this</code>. </p> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#af5da8814bd3fb91f730302692c736069">Hyperplane< _Scalar, _AmbientDim, Options >::Hyperplane()</a>.</p> </div> </div> <a class="anchor" id="a67d7e844f940f6ca2673eadacaf08b3b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classEigen_1_1Matrix.html">Coefficients</a>& coeffs </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a constant reference to the coefficients c_i of the plane equation: <img class="formulaInl" alt="$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 $" src="form_103.png"/> </dd></dl> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ad10ca15c93ee4d825f92a2c4563ed678">Hyperplane< _Scalar, _AmbientDim, Options >::intersection()</a>.</p> </div> </div> <a class="anchor" id="a1617ce16af4ff4c65d2155848f2ea161"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Matrix.html">Coefficients</a>& coeffs </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a non-constant reference to the coefficients c_i of the plane equation: <img class="formulaInl" alt="$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 $" src="form_103.png"/> </dd></dl> </div> </div> <a class="anchor" id="a8809dd8f7c45e11b3f62c3fcf0175e68"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Index dim </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the dimension in which the plane holds </dd></dl> <p>References <a class="el" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Eigen::Dynamic</a>.</p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>.</p> </div> </div> <a class="anchor" id="ad10ca15c93ee4d825f92a2c4563ed678"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Matrix.html">VectorType</a> intersection </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>< _Scalar, _AmbientDim, Options > & </td> <td class="paramname"><em>other</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the intersection of *this with <em>other</em>.</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>The ambient space must be a plane, i.e. have dimension 2, so that <code>*this</code> and <em>other</em> are lines.</dd></dl> <dl class="section note"><dt>Note</dt><dd>If <em>other</em> is approximately parallel to *this, this method will return any point on *this. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#a67d7e844f940f6ca2673eadacaf08b3b">Hyperplane< _Scalar, _AmbientDim, Options >::coeffs()</a>.</p> </div> </div> <a class="anchor" id="ae3f0cc3141ee484c2e1a8a391a47c624"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool isApprox </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>< Scalar, AmbientDimAtCompileTime, OtherOptions > & </td> <td class="paramname"><em>other</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const typename <a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>< Scalar >::Real & </td> <td class="paramname"><em>prec</em> = <code><a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a><Scalar>::dummy_precision()</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd><code>true</code> if <code>*this</code> is approximately equal to <em>other</em>, within the precision determined by <em>prec</em>.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1DenseBase.html#a158c2184951e6e415c2e9b98db8e8966">MatrixBase::isApprox()</a> </dd></dl> </div> </div> <a class="anchor" id="ace24c10a33475a675f45cfbf085378ad"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Block.html">ConstNormalReturnType</a> normal </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a constant reference to the unit normal vector of the plane, which corresponds to the linear part of the implicit equation. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#a8809dd8f7c45e11b3f62c3fcf0175e68">Hyperplane< _Scalar, _AmbientDim, Options >::dim()</a>.</p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ad3ab0f5ce565bb0561e5dd3d82358c0e">Hyperplane< _Scalar, _AmbientDim, Options >::Hyperplane()</a>, <a class="el" href="classEigen_1_1ParametrizedLine.html#a122c56306b853cf5128f5cc8c480afb1">ParametrizedLine< _Scalar, _AmbientDim, Options >::intersectionParameter()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#a7494eb6e7ee0d104f3a01dcceed8607a">Hyperplane< _Scalar, _AmbientDim, Options >::normalize()</a>, <a class="el" href="classEigen_1_1ParametrizedLine.html#a585e0885f09c39b72d99791e8de387b6">ParametrizedLine< _Scalar, _AmbientDim, Options >::ParametrizedLine()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#ac93039c47cde2b60b29d99f3e1a7dc71">Hyperplane< _Scalar, _AmbientDim, Options >::projection()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">Hyperplane< _Scalar, _AmbientDim, Options >::signedDistance()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#a10fad5ae000f23b20ebc9e54ed7202dd">Hyperplane< _Scalar, _AmbientDim, Options >::Through()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a35877b483d288e5c4569163b41e79ecc">Hyperplane< _Scalar, _AmbientDim, Options >::transform()</a>.</p> </div> </div> <a class="anchor" id="a115e276ad412ed6378e3291095132591"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Block.html">NormalReturnType</a> normal </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a non-constant reference to the unit normal vector of the plane, which corresponds to the linear part of the implicit equation. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#a8809dd8f7c45e11b3f62c3fcf0175e68">Hyperplane< _Scalar, _AmbientDim, Options >::dim()</a>.</p> </div> </div> <a class="anchor" id="a7494eb6e7ee0d104f3a01dcceed8607a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void normalize </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>normalizes <code>*this</code> </p> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>.</p> </div> </div> <a class="anchor" id="a32ddf277ab2a650e7d520bcbbc09fb99"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const Scalar& offset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the distance to the origin, which is also the "constant term" of the implicit equation </dd></dl> <dl class="section warning"><dt>Warning</dt><dd>the vector normal is assumed to be normalized. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#a8809dd8f7c45e11b3f62c3fcf0175e68">Hyperplane< _Scalar, _AmbientDim, Options >::dim()</a>.</p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ad3ab0f5ce565bb0561e5dd3d82358c0e">Hyperplane< _Scalar, _AmbientDim, Options >::Hyperplane()</a>, <a class="el" href="classEigen_1_1ParametrizedLine.html#a122c56306b853cf5128f5cc8c480afb1">ParametrizedLine< _Scalar, _AmbientDim, Options >::intersectionParameter()</a>, <a class="el" href="classEigen_1_1ParametrizedLine.html#a585e0885f09c39b72d99791e8de387b6">ParametrizedLine< _Scalar, _AmbientDim, Options >::ParametrizedLine()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">Hyperplane< _Scalar, _AmbientDim, Options >::signedDistance()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#ae5243c6aa230fcd95572c3a99cdd014d">Hyperplane< _Scalar, _AmbientDim, Options >::transform()</a>.</p> </div> </div> <a class="anchor" id="a12c3df61f19531230e282a879b605842"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Scalar& offset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a non-constant reference to the distance to the origin, which is also the constant part of the implicit equation </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#a8809dd8f7c45e11b3f62c3fcf0175e68">Hyperplane< _Scalar, _AmbientDim, Options >::dim()</a>.</p> </div> </div> <a class="anchor" id="ac93039c47cde2b60b29d99f3e1a7dc71"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Matrix.html">VectorType</a> projection </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the projection of a point <em>p</em> onto the plane <code>*this</code>. </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#aacd139793b951a521e0e5147a4793d9c">Hyperplane< _Scalar, _AmbientDim, Options >::signedDistance()</a>.</p> </div> </div> <a class="anchor" id="aacd139793b951a521e0e5147a4793d9c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Scalar signedDistance </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the signed distance between the plane <code>*this</code> and a point <em>p</em>. </dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1Hyperplane.html#a8383bb22fa5f6024856f2c781f6ec0db">absDistance()</a> </dd></dl> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>.</p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#a8383bb22fa5f6024856f2c781f6ec0db">Hyperplane< _Scalar, _AmbientDim, Options >::absDistance()</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#ac93039c47cde2b60b29d99f3e1a7dc71">Hyperplane< _Scalar, _AmbientDim, Options >::projection()</a>.</p> </div> </div> <a class="anchor" id="a10fad5ae000f23b20ebc9e54ed7202dd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> Through </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p1</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a hyperplane passing through the two points. If the dimension of the ambient space is greater than 2, then there isn't uniqueness, so an arbitrary choice is made. </p> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>.</p> </div> </div> <a class="anchor" id="aabfcda23a80edfd62387bb3d930f4b96"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a> Through </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classEigen_1_1Matrix.html">VectorType</a> & </td> <td class="paramname"><em>p2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a hyperplane passing through the three points. The dimension of the ambient space is required to be exactly 3. </p> <p>References <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>.</p> </div> </div> <a class="anchor" id="a35877b483d288e5c4569163b41e79ecc"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>& transform </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>< XprType > & </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__enums.html#ga302a826315506a7217d4b477ea78425f">TransformTraits</a> </td> <td class="paramname"><em>traits</em> = <code><a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Applies the transformation matrix <em>mat</em> to <code>*this</code> and returns a reference to <code>*this</code>.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mat</td><td>the Dim x Dim transformation matrix </td></tr> <tr><td class="paramname">traits</td><td>specifies whether the matrix <em>mat</em> represents an <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac6ccc3814bb6d2a8bf7f75d7131c6b17">Isometry</a> or a more generic <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a> transformation. The default is <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Eigen::Affine</a>, <a class="el" href="classEigen_1_1MatrixBase.html#aa2834da4c855fa35fed8c4030f79f9da">MatrixBase< Derived >::inverse()</a>, <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac6ccc3814bb6d2a8bf7f75d7131c6b17">Eigen::Isometry</a>, and <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>.</p> <p>Referenced by <a class="el" href="classEigen_1_1Hyperplane.html#ae5243c6aa230fcd95572c3a99cdd014d">Hyperplane< _Scalar, _AmbientDim, Options >::transform()</a>.</p> </div> </div> <a class="anchor" id="ae5243c6aa230fcd95572c3a99cdd014d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a>& transform </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Transform.html">Transform</a>< Scalar, AmbientDimAtCompileTime, <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>, TrOptions > & </td> <td class="paramname"><em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__enums.html#ga302a826315506a7217d4b477ea78425f">TransformTraits</a> </td> <td class="paramname"><em>traits</em> = <code><a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Applies the transformation <em>t</em> to <code>*this</code> and returns a reference to <code>*this</code>.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">t</td><td>the transformation of dimension Dim </td></tr> <tr><td class="paramname">traits</td><td>specifies whether the transformation <em>t</em> represents an <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac6ccc3814bb6d2a8bf7f75d7131c6b17">Isometry</a> or a more generic <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a> transformation. The default is <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac0984f0c0fc7cdcea1c0bde170f9c925">Affine</a>. Other kind of transformations are not supported. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="classEigen_1_1Transform.html#abbee559820c5cdfe7653a646396b0a8f">Transform< Scalar, Dim, Mode, _Options >::linear()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#ace24c10a33475a675f45cfbf085378ad">Hyperplane< _Scalar, _AmbientDim, Options >::normal()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#a32ddf277ab2a650e7d520bcbbc09fb99">Hyperplane< _Scalar, _AmbientDim, Options >::offset()</a>, <a class="el" href="classEigen_1_1Hyperplane.html#a35877b483d288e5c4569163b41e79ecc">Hyperplane< _Scalar, _AmbientDim, Options >::transform()</a>, and <a class="el" href="classEigen_1_1Transform.html#a4619e6e4e0659443ad2bdb24c80af281">Transform< Scalar, Dim, Mode, _Options >::translation()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="ForwardDeclarations_8h_source.html">ForwardDeclarations.h</a></li> <li><a class="el" href="Hyperplane_8h_source.html">Hyperplane.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespaceEigen.html">Eigen</a></li><li class="navelem"><a class="el" href="classEigen_1_1Hyperplane.html">Hyperplane</a></li> <li class="footer">Generated on Mon Oct 28 2013 11:04:29 for Eigen by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li> </ul> </div> <!-- Piwik --> <!-- <script type="text/javascript"> var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.sylphide-consulting.com/piwik/" : "http://stats.sylphide-consulting.com/piwik/"); document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> try { var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 20); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking(); } catch( err ) {} </script><noscript><p><img src="http://stats.sylphide-consulting.com/piwik/piwik.php?idsite=20" style="border:0" alt="" /></p></noscript> --> <!-- End Piwik Tracking Code --> </body> </html>