<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Irrlicht Engine: irr::core::line3d< T > Class Template Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table class="irrlicht" > <tr valign="middle"> <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a> | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a> | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a> | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF"> Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a> | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF"> Namespace Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td> </tr> </table> <!-- Generated by Doxygen 1.6.2 --> <div class="navpath"><a class="el" href="namespaceirr.html">irr</a>::<a class="el" href="namespaceirr_1_1core.html">core</a>::<a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a> </div> <div class="contents"> <h1>irr::core::line3d< T > Class Template Reference</h1><!-- doxytag: class="irr::core::line3d" --> <p>3D line between two points with intersection methods. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="line3d_8h_source.html">line3d.h</a>></code></p> <p><a href="classirr_1_1core_1_1line3d-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#afae16456838c8e8f88f71fe1480967e8">getClosestPoint</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the closest point on this line to a point. <a href="#afae16456838c8e8f88f71fe1480967e8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#aaa4419864f37980fc38ae6b618bb0133">getIntersectionWithSphere</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > sorigin, T sradius, <a class="el" href="namespaceirr.html#a1325b02603ad449f92c68fc640af9b28">f64</a> &outdistance) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if the line intersects with a shpere. <a href="#aaa4419864f37980fc38ae6b618bb0133"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#abbcbf8958f99c0204c54024322c07a03">getLength</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get length of line. <a href="#abbcbf8958f99c0204c54024322c07a03"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#ab5f46ffef60794e9755fc33fdc3a0408">getLengthSQ</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get squared length of line. <a href="#ab5f46ffef60794e9755fc33fdc3a0408"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a2d4f769eb73ef41e3223dc0b2713a759">getMiddle</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get middle of line. <a href="#a2d4f769eb73ef41e3223dc0b2713a759"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a1394b59b713cec4044259d1999bbcc80">getVector</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get vector of line. <a href="#a1394b59b713cec4044259d1999bbcc80"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a1f51d4736b808a665697fba776818239">isPointBetweenStartAndEnd</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if the given point is between start and end of the line. <a href="#a1f51d4736b808a665697fba776818239"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a9f77afda569d38afe68c9c3db39037f4">line3d</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &<a class="el" href="classirr_1_1core_1_1line3d.html#a8874f77324b6ef6632e66b22051a3251">start</a>, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &<a class="el" href="classirr_1_1core_1_1line3d.html#aea19cb33971bb20e1d736facdae8a8f0">end</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with two points as vectors. <a href="#a9f77afda569d38afe68c9c3db39037f4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a19bc6c5661d8913ac6911b2513f7804f">line3d</a> (T xa, T ya, T za, T xb, T yb, T zb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with two points. <a href="#a19bc6c5661d8913ac6911b2513f7804f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#ab88640572a102a9eebd1bf483b7d7e75">line3d</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#ab88640572a102a9eebd1bf483b7d7e75"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#ad73e0c54bfaded49c81b618c6caf3284">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > &other) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a1a83fbe4b2ac9a0e0127bc379bfcfa0a">operator+</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a087964aee6bc9250364a2419c4fd8bcd">operator+=</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a3b068104309f8eb6ed8ae3f8ad9c0536">operator-</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#aef9ba9ecbfac940e2d221f67015774ce">operator-=</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &point)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a4d0d98986e6bffdf0bb943e103707c65">operator==</a> (const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > &other) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a75d2a9f34ca66c2a1399f8b9fe0fa760">setLine</a> (const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > &line)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set this line to new line given as parameter. <a href="#a75d2a9f34ca66c2a1399f8b9fe0fa760"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#af66862d06acc114567e1e0cfaa23f429">setLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &nstart, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > &nend)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set this line to a new line going through the two points. <a href="#af66862d06acc114567e1e0cfaa23f429"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#aa691426799bff0ccf37bc09f56b8fa59">setLine</a> (const T &xa, const T &ya, const T &za, const T &xb, const T &yb, const T &zb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set this line to a new line going through the two points. <a href="#aa691426799bff0ccf37bc09f56b8fa59"></a><br/></td></tr> <tr><td colspan="2"><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#aea19cb33971bb20e1d736facdae8a8f0">end</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">End point of line. <a href="#aea19cb33971bb20e1d736facdae8a8f0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1line3d.html#a8874f77324b6ef6632e66b22051a3251">start</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Start point of line. <a href="#a8874f77324b6ef6632e66b22051a3251"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class T><br/> class irr::core::line3d< T ></h3> <p>3D line between two points with intersection methods. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00018">18</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ab88640572a102a9eebd1bf483b7d7e75"></a><!-- doxytag: member="irr::core::line3d::line3d" ref="ab88640572a102a9eebd1bf483b7d7e75" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::<a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a> </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor. </p> <p>line from (0,0,0) to (1,1,1) </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00024">24</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> </div> </div> <a class="anchor" id="a19bc6c5661d8913ac6911b2513f7804f"></a><!-- doxytag: member="irr::core::line3d::line3d" ref="a19bc6c5661d8913ac6911b2513f7804f" args="(T xa, T ya, T za, T xb, T yb, T zb)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::<a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a> </td> <td>(</td> <td class="paramtype">T </td> <td class="paramname"> <em>xa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>ya</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>za</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>xb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>yb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>zb</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor with two points. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00026">26</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> </div> </div> <a class="anchor" id="a9f77afda569d38afe68c9c3db39037f4"></a><!-- doxytag: member="irr::core::line3d::line3d" ref="a9f77afda569d38afe68c9c3db39037f4" args="(const vector3d< T > &start, const vector3d< T > &end)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::<a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>end</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor with two points as vectors. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00028">28</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="afae16456838c8e8f88f71fe1480967e8"></a><!-- doxytag: member="irr::core::line3d::getClosestPoint" ref="afae16456838c8e8f88f71fe1480967e8" args="(const vector3d< T > &point) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getClosestPoint </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the closest point on this line to a point. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>point</em> </td><td>The point to compare to. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The nearest point which is part of the line. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00089">89</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d< T >::dotProduct()</a>, <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, <a class="el" href="vector3d_8h_source.html#l00117">irr::core::vector3d< T >::getLength()</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="aaa4419864f37980fc38ae6b618bb0133"></a><!-- doxytag: member="irr::core::line3d::getIntersectionWithSphere" ref="aaa4419864f37980fc38ae6b618bb0133" args="(vector3d< T > sorigin, T sradius, f64 &outdistance) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getIntersectionWithSphere </td> <td>(</td> <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > </td> <td class="paramname"> <em>sorigin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T </td> <td class="paramname"> <em>sradius</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#a1325b02603ad449f92c68fc640af9b28">f64</a> & </td> <td class="paramname"> <em>outdistance</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Check if the line intersects with a shpere. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sorigin,:</em> </td><td>Origin of the shpere. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sradius,:</em> </td><td>Radius of the sphere. </td></tr> <tr><td valign="top"></td><td valign="top"><em>outdistance,:</em> </td><td>The distance to the first intersection point. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>True if there is an intersection. If there is one, the distance to the first intersection point is stored in outdistance. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00113">113</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d< T >::dotProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00117">irr::core::vector3d< T >::getLength()</a>, <a class="el" href="line3d_8h_source.html#l00071">irr::core::line3d< T >::getVector()</a>, <a class="el" href="irr_math_8h_source.html#l00408">irr::core::squareroot()</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="abbcbf8958f99c0204c54024322c07a03"></a><!-- doxytag: member="irr::core::line3d::getLength" ref="abbcbf8958f99c0204c54024322c07a03" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">T <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getLength </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get length of line. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Length of line. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00056">56</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> <p>Referenced by <a class="el" href="aabbox3d_8h_source.html#l00242">irr::core::aabbox3d< f32 >::intersectsWithLine()</a>.</p> </div> </div> <a class="anchor" id="ab5f46ffef60794e9755fc33fdc3a0408"></a><!-- doxytag: member="irr::core::line3d::getLengthSQ" ref="ab5f46ffef60794e9755fc33fdc3a0408" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">T <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getLengthSQ </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get squared length of line. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Squared length of line. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00060">60</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a2d4f769eb73ef41e3223dc0b2713a759"></a><!-- doxytag: member="irr::core::line3d::getMiddle" ref="a2d4f769eb73ef41e3223dc0b2713a759" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getMiddle </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get middle of line. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Center of line. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00064">64</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> <p>Referenced by <a class="el" href="aabbox3d_8h_source.html#l00242">irr::core::aabbox3d< f32 >::intersectsWithLine()</a>.</p> </div> </div> <a class="anchor" id="a1394b59b713cec4044259d1999bbcc80"></a><!-- doxytag: member="irr::core::line3d::getVector" ref="a1394b59b713cec4044259d1999bbcc80" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::getVector </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get vector of line. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>vector of line. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00071">71</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> <p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00129">irr::core::triangle3d< T >::getIntersectionWithLimitedLine()</a>, <a class="el" href="line3d_8h_source.html#l00113">irr::core::line3d< T >::getIntersectionWithSphere()</a>, and <a class="el" href="aabbox3d_8h_source.html#l00242">irr::core::aabbox3d< f32 >::intersectsWithLine()</a>.</p> </div> </div> <a class="anchor" id="a1f51d4736b808a665697fba776818239"></a><!-- doxytag: member="irr::core::line3d::isPointBetweenStartAndEnd" ref="a1f51d4736b808a665697fba776818239" args="(const vector3d< T > &point) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::isPointBetweenStartAndEnd </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Check if the given point is between start and end of the line. </p> <p>Assumes that the point is already somewhere on the line. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>point</em> </td><td>The point to test. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>True if point is on the line between start and end, else false. </dd></dl> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00081">81</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, <a class="el" href="vector3d_8h_source.html#l00157">irr::core::vector3d< T >::isBetweenPoints()</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="ad73e0c54bfaded49c81b618c6caf3284"></a><!-- doxytag: member="irr::core::line3d::operator!=" ref="ad73e0c54bfaded49c81b618c6caf3284" args="(const line3d< T > &other) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > & </td> <td class="paramname"> <em>other</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00040">40</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a1a83fbe4b2ac9a0e0127bc379bfcfa0a"></a><!-- doxytag: member="irr::core::line3d::operator+" ref="a1a83fbe4b2ac9a0e0127bc379bfcfa0a" args="(const vector3d< T > &point) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator+ </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00032">32</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a087964aee6bc9250364a2419c4fd8bcd"></a><!-- doxytag: member="irr::core::line3d::operator+=" ref="a087964aee6bc9250364a2419c4fd8bcd" args="(const vector3d< T > &point)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a><T>& <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator+= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00033">33</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a3b068104309f8eb6ed8ae3f8ad9c0536"></a><!-- doxytag: member="irr::core::line3d::operator-" ref="a3b068104309f8eb6ed8ae3f8ad9c0536" args="(const vector3d< T > &point) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator- </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00035">35</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="aef9ba9ecbfac940e2d221f67015774ce"></a><!-- doxytag: member="irr::core::line3d::operator-=" ref="aef9ba9ecbfac940e2d221f67015774ce" args="(const vector3d< T > &point)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a><T>& <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator-= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>point</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00036">36</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a4d0d98986e6bffdf0bb943e103707c65"></a><!-- doxytag: member="irr::core::line3d::operator==" ref="a4d0d98986e6bffdf0bb943e103707c65" args="(const line3d< T > &other) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > & </td> <td class="paramname"> <em>other</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00038">38</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="a75d2a9f34ca66c2a1399f8b9fe0fa760"></a><!-- doxytag: member="irr::core::line3d::setLine" ref="a75d2a9f34ca66c2a1399f8b9fe0fa760" args="(const line3d< T > &line)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::setLine </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>< T > & </td> <td class="paramname"> <em>line</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set this line to new line given as parameter. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00051">51</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="af66862d06acc114567e1e0cfaa23f429"></a><!-- doxytag: member="irr::core::line3d::setLine" ref="af66862d06acc114567e1e0cfaa23f429" args="(const vector3d< T > &nstart, const vector3d< T > &nend)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::setLine </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>nstart</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>< T > & </td> <td class="paramname"> <em>nend</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set this line to a new line going through the two points. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00048">48</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <a class="anchor" id="aa691426799bff0ccf37bc09f56b8fa59"></a><!-- doxytag: member="irr::core::line3d::setLine" ref="aa691426799bff0ccf37bc09f56b8fa59" args="(const T &xa, const T &ya, const T &za, const T &xb, const T &yb, const T &zb)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::setLine </td> <td>(</td> <td class="paramtype">const T & </td> <td class="paramname"> <em>xa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"> <em>ya</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"> <em>za</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"> <em>xb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"> <em>yb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"> <em>zb</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set this line to a new line going through the two points. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00045">45</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d< T >::end</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d< T >::start</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aea19cb33971bb20e1d736facdae8a8f0"></a><!-- doxytag: member="irr::core::line3d::end" ref="aea19cb33971bb20e1d736facdae8a8f0" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::<a class="el" href="classirr_1_1core_1_1line3d.html#aea19cb33971bb20e1d736facdae8a8f0">end</a></td> </tr> </table> </div> <div class="memdoc"> <p>End point of line. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00132">132</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>Referenced by <a class="el" href="_s_view_frustum_8h_source.html#l00292">irr::scene::SViewFrustum::clipLine()</a>, <a class="el" href="line3d_8h_source.html#l00089">irr::core::line3d< T >::getClosestPoint()</a>, <a class="el" href="triangle3d_8h_source.html#l00129">irr::core::triangle3d< T >::getIntersectionWithLimitedLine()</a>, <a class="el" href="line3d_8h_source.html#l00056">irr::core::line3d< T >::getLength()</a>, <a class="el" href="line3d_8h_source.html#l00060">irr::core::line3d< T >::getLengthSQ()</a>, <a class="el" href="line3d_8h_source.html#l00064">irr::core::line3d< T >::getMiddle()</a>, <a class="el" href="line3d_8h_source.html#l00071">irr::core::line3d< T >::getVector()</a>, <a class="el" href="line3d_8h_source.html#l00081">irr::core::line3d< T >::isPointBetweenStartAndEnd()</a>, <a class="el" href="line3d_8h_source.html#l00040">irr::core::line3d< T >::operator!=()</a>, <a class="el" href="line3d_8h_source.html#l00032">irr::core::line3d< T >::operator+()</a>, <a class="el" href="line3d_8h_source.html#l00033">irr::core::line3d< T >::operator+=()</a>, <a class="el" href="line3d_8h_source.html#l00035">irr::core::line3d< T >::operator-()</a>, <a class="el" href="line3d_8h_source.html#l00036">irr::core::line3d< T >::operator-=()</a>, <a class="el" href="line3d_8h_source.html#l00038">irr::core::line3d< T >::operator==()</a>, and <a class="el" href="line3d_8h_source.html#l00045">irr::core::line3d< T >::setLine()</a>.</p> </div> </div> <a class="anchor" id="a8874f77324b6ef6632e66b22051a3251"></a><!-- doxytag: member="irr::core::line3d::start" ref="a8874f77324b6ef6632e66b22051a3251" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a><T> <a class="el" href="classirr_1_1core_1_1line3d.html">irr::core::line3d</a>< T >::<a class="el" href="classirr_1_1core_1_1line3d.html#a8874f77324b6ef6632e66b22051a3251">start</a></td> </tr> </table> </div> <div class="memdoc"> <p>Start point of line. </p> <p>Definition at line <a class="el" href="line3d_8h_source.html#l00130">130</a> of file <a class="el" href="line3d_8h_source.html">line3d.h</a>.</p> <p>Referenced by <a class="el" href="_s_view_frustum_8h_source.html#l00292">irr::scene::SViewFrustum::clipLine()</a>, <a class="el" href="line3d_8h_source.html#l00089">irr::core::line3d< T >::getClosestPoint()</a>, <a class="el" href="triangle3d_8h_source.html#l00129">irr::core::triangle3d< T >::getIntersectionWithLimitedLine()</a>, <a class="el" href="line3d_8h_source.html#l00113">irr::core::line3d< T >::getIntersectionWithSphere()</a>, <a class="el" href="line3d_8h_source.html#l00056">irr::core::line3d< T >::getLength()</a>, <a class="el" href="line3d_8h_source.html#l00060">irr::core::line3d< T >::getLengthSQ()</a>, <a class="el" href="line3d_8h_source.html#l00064">irr::core::line3d< T >::getMiddle()</a>, <a class="el" href="line3d_8h_source.html#l00071">irr::core::line3d< T >::getVector()</a>, <a class="el" href="line3d_8h_source.html#l00081">irr::core::line3d< T >::isPointBetweenStartAndEnd()</a>, <a class="el" href="line3d_8h_source.html#l00040">irr::core::line3d< T >::operator!=()</a>, <a class="el" href="line3d_8h_source.html#l00032">irr::core::line3d< T >::operator+()</a>, <a class="el" href="line3d_8h_source.html#l00033">irr::core::line3d< T >::operator+=()</a>, <a class="el" href="line3d_8h_source.html#l00035">irr::core::line3d< T >::operator-()</a>, <a class="el" href="line3d_8h_source.html#l00036">irr::core::line3d< T >::operator-=()</a>, <a class="el" href="line3d_8h_source.html#l00038">irr::core::line3d< T >::operator==()</a>, and <a class="el" href="line3d_8h_source.html#l00045">irr::core::line3d< T >::setLine()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="line3d_8h_source.html">line3d.h</a></li> </ul> </div> <hr size="1"> <address style="align: right;"> <small> </small> </address> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td width="0"> <div align="left"><small><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="irrlicht.png" alt="The Irrlicht Engine" align="middle" border=0 width=88 height=31></a></small></div></td> <td> <div align="left"><small><em><font size="2">The <a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht Engine</a> Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:03 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> (1.6.2)</font></em></small></div></td> </tr> </table> <address style="align: right;"> </address> </body> </html>