%PDF- %PDF-
Direktori : /proc/thread-self/root/usr/share/doc/imath-devel/html/classes/ |
Current File : //proc/thread-self/root/usr/share/doc/imath-devel/html/classes/Frustum.html |
<!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Frustum — Imath Documentation</title> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../_static/bizstyle.css" type="text/css" /> <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="../_static/bizstyle.js"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Interval" href="Interval.html" /> <link rel="prev" title="Euler" href="Euler.html" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" /> <!--[if lt IE 9]> <script src="_static/css3-mediaqueries.js"></script> <![endif]--> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="Interval.html" title="Interval" accesskey="N">next</a> |</li> <li class="right" > <a href="Euler.html" title="Euler" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">Imath</a> »</li> <li class="nav-item nav-item-this"><a href="">Frustum</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="frustum"> <h1>Frustum<a class="headerlink" href="#frustum" title="Permalink to this headline">¶</a></h1> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#include <Imath/ImathFrustum.h></span> </pre></div> </div> <p>The <code class="docutils literal notranslate"><span class="pre">Frustum</span></code> class template represents a 3D viewing frustum, with predefined typedefs of type <code class="docutils literal notranslate"><span class="pre">float</span></code> and <code class="docutils literal notranslate"><span class="pre">double</span></code>.</p> <p>Example:</p> <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf"><Imath/ImathFrustum.h></span><span class="cp"></span> <span class="kt">void</span> <span class="nf">frustum_example</span><span class="p">()</span> <span class="p">{</span> <span class="kt">float</span> <span class="n">near</span> <span class="o">=</span> <span class="mf">1.7f</span><span class="p">;</span> <span class="kt">float</span> <span class="n">far</span> <span class="o">=</span> <span class="mf">567.0f</span><span class="p">;</span> <span class="kt">float</span> <span class="n">left</span> <span class="o">=</span> <span class="mf">-3.5f</span><span class="p">;</span> <span class="kt">float</span> <span class="n">right</span> <span class="o">=</span> <span class="mf">2.0f</span><span class="p">;</span> <span class="kt">float</span> <span class="n">top</span> <span class="o">=</span> <span class="mf">0.9f</span><span class="p">;</span> <span class="kt">float</span> <span class="n">bottom</span> <span class="o">=</span> <span class="mf">-1.3f</span><span class="p">;</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Frustumf</span> <span class="n">frustum</span> <span class="p">(</span><span class="n">near</span><span class="p">,</span> <span class="n">far</span><span class="p">,</span> <span class="n">left</span><span class="p">,</span> <span class="n">right</span><span class="p">,</span> <span class="n">top</span><span class="p">,</span> <span class="n">bottom</span><span class="p">,</span> <span class="nb">false</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">M44f</span> <span class="n">m</span> <span class="o">=</span> <span class="n">frustum</span><span class="p">.</span><span class="n">projectionMatrix</span><span class="p">();</span> <span class="n">Imath</span><span class="o">::</span><span class="n">V3f</span> <span class="n">p</span> <span class="p">(</span><span class="mf">1.0f</span><span class="p">,</span> <span class="mf">1.0f</span><span class="p">,</span> <span class="mf">1.0f</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">V2f</span> <span class="n">s</span> <span class="o">=</span> <span class="n">frustum</span><span class="p">.</span><span class="n">projectPointToScreen</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span> <span class="n">assert</span> <span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="n">equalWithAbsError</span> <span class="p">(</span><span class="n">Imath</span><span class="o">::</span><span class="n">V2f</span> <span class="p">(</span><span class="mf">-0.345455f</span><span class="p">,</span> <span class="mf">-1.36364f</span><span class="p">),</span> <span class="mf">0.0001f</span><span class="p">));</span> <span class="p">}</span> </pre></div> </div> <dl class="cpp type"> <dt id="_CPPv4N5Imath8FrustumfE"> <span id="_CPPv3N5Imath8FrustumfE"></span><span id="_CPPv2N5Imath8FrustumfE"></span><span id="Imath::Frustumf"></span><span class="target" id="_imath_frustum_8h_1afd259171c90dba5e4400a45bb01822f7"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a><float> <code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Frustumf</code><a class="headerlink" href="#_CPPv4N5Imath8FrustumfE" title="Permalink to this definition">¶</a><br /></dt> <dd><p><a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> of type float. </p> </dd></dl> <dl class="cpp type"> <dt id="_CPPv4N5Imath8FrustumdE"> <span id="_CPPv3N5Imath8FrustumdE"></span><span id="_CPPv2N5Imath8FrustumdE"></span><span id="Imath::Frustumd"></span><span class="target" id="_imath_frustum_8h_1a8b94584b660a677a4246a0b9925e38cf"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a><double> <code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Frustumd</code><a class="headerlink" href="#_CPPv4N5Imath8FrustumdE" title="Permalink to this definition">¶</a><br /></dt> <dd><p><a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> of type double. </p> </dd></dl> <dl class="cpp class"> <dt id="_CPPv4I0EN5Imath7FrustumE"> <span id="_CPPv3I0EN5Imath7FrustumE"></span><span id="_CPPv2I0EN5Imath7FrustumE"></span>template<class <code class="sig-name descname">T</code>><br /><span class="target" id="class_imath_1_1_frustum"></span><em class="property">class </em><code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Frustum</code><a class="headerlink" href="#_CPPv4I0EN5Imath7FrustumE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Template class <code class="docutils literal notranslate"><a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref"><span class="pre">Frustum</span></span></a><span class="pre"><T></span></code> </p> <p>The frustum is always located with the eye point at the origin facing down -Z. This makes the <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> class compatable with OpenGL (or anything that assumes a camera looks down -Z, hence with a right-handed coordinate system) but not with RenderMan which assumes the camera looks down +Z. Additional functions are provided for conversion from and from various camera coordinate spaces.</p> <p>nearPlane/farPlane: near/far are keywords used by Microsoft’s compiler, so we use nearPlane/farPlane instead to avoid issues. </p> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Constructors and Assignment</p> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum7FrustumEv"> <span id="_CPPv3N5Imath7Frustum7FrustumEv"></span><span id="_CPPv2N5Imath7Frustum7FrustumEv"></span><span id="Imath::Frustum::FrustumCE"></span><span class="target" id="class_imath_1_1_frustum_1a09b90cf2ae96cf6717704ad9a8b7a31c"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Frustum</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum7FrustumEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Initialize with default values: near=0.1, far=1000.0, left=-1.0, right=1.0, top=1.0, bottom=-1.0, ortho=false. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum7FrustumERK7Frustum"> <span id="_CPPv3N5Imath7Frustum7FrustumERK7Frustum"></span><span id="_CPPv2N5Imath7Frustum7FrustumERK7Frustum"></span><span id="Imath::Frustum::Frustum__FrustumCRCE"></span><span class="target" id="class_imath_1_1_frustum_1af74b9b27d6fbbbfa4dc88de8313f9704"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Frustum</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N5Imath7Frustum7FrustumERK7Frustum" title="Imath::Frustum::Frustum">Frustum</a>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum7FrustumERK7Frustum" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Copy constructor. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum7FrustumE1T1T1T1T1T1Tb"> <span id="_CPPv3N5Imath7Frustum7FrustumE1T1T1T1T1T1Tb"></span><span id="_CPPv2N5Imath7Frustum7FrustumE1T1T1T1T1T1Tb"></span><span id="Imath::Frustum::Frustum__T.T.T.T.T.T.bCE"></span><span class="target" id="class_imath_1_1_frustum_1a8458379556681a684466991cce3bdbb7"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Frustum</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>left</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>right</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>top</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>bottom</em>, bool <em>ortho</em> = false<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum7FrustumE1T1T1T1T1T1Tb" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Initialize to specific values. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum7FrustumE1T1T1T1T1T"> <span id="_CPPv3N5Imath7Frustum7FrustumE1T1T1T1T1T"></span><span id="_CPPv2N5Imath7Frustum7FrustumE1T1T1T1T1T"></span><span id="Imath::Frustum::Frustum__T.T.T.T.TCE"></span><span class="target" id="class_imath_1_1_frustum_1abe53ae5ffc6464ddf1daa905e82cdef7"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Frustum</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovx</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovy</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>aspect</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum7FrustumE1T1T1T1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Initialize with fov and aspect. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7FrustumD0Ev"> <span id="_CPPv3N5Imath7FrustumD0Ev"></span><span id="_CPPv2N5Imath7FrustumD0Ev"></span><span id="Imath::Frustum::~Frustum"></span><span class="target" id="class_imath_1_1_frustum_1a96d221e09f91e526433f6c662877ecc3"></span><em class="property">virtual</em> <code class="sig-name descname">~Frustum</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7FrustumD0Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Destructor. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7FrustumaSERK7Frustum"> <span id="_CPPv3N5Imath7FrustumaSERK7Frustum"></span><span id="_CPPv2N5Imath7FrustumaSERK7Frustum"></span><span id="Imath::Frustum::assign-operator__FrustumCRCE"></span><span class="target" id="class_imath_1_1_frustum_1a60d71a67bfecf05d881caa1581a3d82e"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a> &<code class="sig-name descname">operator=</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7FrustumaSERK7Frustum" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Component-wise assignment. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Comparison</p> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7FrustumeqERK7FrustumI1TE"> <span id="_CPPv3NK5Imath7FrustumeqERK7FrustumI1TE"></span><span id="_CPPv2NK5Imath7FrustumeqERK7FrustumI1TE"></span><span id="Imath::Frustum::eq-operator__Frustum:T:CRCCE"></span><span class="target" id="class_imath_1_1_frustum_1a4ccd4784a1873104895713f83cb08bf0"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">operator==</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>src</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7FrustumeqERK7FrustumI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Equality. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7FrustumneERK7FrustumI1TE"> <span id="_CPPv3NK5Imath7FrustumneERK7FrustumI1TE"></span><span id="_CPPv2NK5Imath7FrustumneERK7FrustumI1TE"></span><span id="Imath::Frustum::neq-operator__Frustum:T:CRCCE"></span><span class="target" id="class_imath_1_1_frustum_1a455e23ecf8671f3c43894cda54adefdd"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">operator!=</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>src</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7FrustumneERK7FrustumI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Inequality. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Query</p> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum12orthographicEv"> <span id="_CPPv3NK5Imath7Frustum12orthographicEv"></span><span id="_CPPv2NK5Imath7Frustum12orthographicEv"></span><span id="Imath::Frustum::orthographicCCE"></span><span class="target" id="class_imath_1_1_frustum_1aee4152d110c6364af6759e65888dbc71"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">orthographic</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum12orthographicEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return true if the frustum is orthographic, false if perspective. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum9nearPlaneEv"> <span id="_CPPv3NK5Imath7Frustum9nearPlaneEv"></span><span id="_CPPv2NK5Imath7Frustum9nearPlaneEv"></span><span id="Imath::Frustum::nearPlaneCCE"></span><span class="target" id="class_imath_1_1_frustum_1af4c02c1a72cb5e282334c358f715283c"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">nearPlane</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum9nearPlaneEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the near clipping plane. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6hitherEv"> <span id="_CPPv3NK5Imath7Frustum6hitherEv"></span><span id="_CPPv2NK5Imath7Frustum6hitherEv"></span><span id="Imath::Frustum::hitherCCE"></span><span class="target" id="class_imath_1_1_frustum_1a82ca31733b38a470e944947b21ad975e"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">hither</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6hitherEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the near clipping plane. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum8farPlaneEv"> <span id="_CPPv3NK5Imath7Frustum8farPlaneEv"></span><span id="_CPPv2NK5Imath7Frustum8farPlaneEv"></span><span id="Imath::Frustum::farPlaneCCE"></span><span class="target" id="class_imath_1_1_frustum_1ad3627096cb45cba9706a0cb57927b923"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">farPlane</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum8farPlaneEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the far clipping plane. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum3yonEv"> <span id="_CPPv3NK5Imath7Frustum3yonEv"></span><span id="_CPPv2NK5Imath7Frustum3yonEv"></span><span id="Imath::Frustum::yonCCE"></span><span class="target" id="class_imath_1_1_frustum_1a7a188537f7a33855a246f431290a6e0b"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">yon</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum3yonEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the far clipping plane. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum4leftEv"> <span id="_CPPv3NK5Imath7Frustum4leftEv"></span><span id="_CPPv2NK5Imath7Frustum4leftEv"></span><span id="Imath::Frustum::leftCCE"></span><span class="target" id="class_imath_1_1_frustum_1ae253359d47fe734ab8f7872a2185a220"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">left</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum4leftEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the left of the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum5rightEv"> <span id="_CPPv3NK5Imath7Frustum5rightEv"></span><span id="_CPPv2NK5Imath7Frustum5rightEv"></span><span id="Imath::Frustum::rightCCE"></span><span class="target" id="class_imath_1_1_frustum_1aa5f04e3cd6bf47e1f47fdbb458d5ec35"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">right</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum5rightEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the right of the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6bottomEv"> <span id="_CPPv3NK5Imath7Frustum6bottomEv"></span><span id="_CPPv2NK5Imath7Frustum6bottomEv"></span><span id="Imath::Frustum::bottomCCE"></span><span class="target" id="class_imath_1_1_frustum_1af89ae27d3d72b121764c0ab4a9908208"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">bottom</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6bottomEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the bottom of the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum3topEv"> <span id="_CPPv3NK5Imath7Frustum3topEv"></span><span id="_CPPv2NK5Imath7Frustum3topEv"></span><span id="Imath::Frustum::topCCE"></span><span class="target" id="class_imath_1_1_frustum_1a4b6c13f14054ff5b47aeee7fa04a2a22"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">top</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum3topEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the top of the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum4fovxEv"> <span id="_CPPv3NK5Imath7Frustum4fovxEv"></span><span id="_CPPv2NK5Imath7Frustum4fovxEv"></span><span id="Imath::Frustum::fovxCCE"></span><span class="target" id="class_imath_1_1_frustum_1a47fbff8f25dde14183da2e8e03eafdc9"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">fovx</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum4fovxEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the field of view in X. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum4fovyEv"> <span id="_CPPv3NK5Imath7Frustum4fovyEv"></span><span id="_CPPv2NK5Imath7Frustum4fovyEv"></span><span id="Imath::Frustum::fovyCCE"></span><span class="target" id="class_imath_1_1_frustum_1a669a6fd9de3314b51ce149c666c0a310"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">fovy</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum4fovyEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the field of view in Y. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6aspectEv"> <span id="_CPPv3NK5Imath7Frustum6aspectEv"></span><span id="_CPPv2NK5Imath7Frustum6aspectEv"></span><span id="Imath::Frustum::aspectCCE"></span><span class="target" id="class_imath_1_1_frustum_1a96926a17d79276110a24afbc34c8dd69"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">aspect</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6aspectEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the aspect ratio. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum9aspectExcEv"> <span id="_CPPv3NK5Imath7Frustum9aspectExcEv"></span><span id="_CPPv2NK5Imath7Frustum9aspectExcEv"></span><span id="Imath::Frustum::aspectExcCCE"></span><span class="target" id="class_imath_1_1_frustum_1a4abde6344fdda0f932dc784ae86aab36"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">aspectExc</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum9aspectExcEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the aspect ratio. </p> <p>Throw an exception if the aspect ratio is undefined. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum16projectionMatrixEv"> <span id="_CPPv3NK5Imath7Frustum16projectionMatrixEv"></span><span id="_CPPv2NK5Imath7Frustum16projectionMatrixEv"></span><span id="Imath::Frustum::projectionMatrixCCE"></span><span class="target" id="class_imath_1_1_frustum_1a4a1525a71682fdce91a003cfee940d2b"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">projectionMatrix</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum16projectionMatrixEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the project matrix that the frustum defines. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum19projectionMatrixExcEv"> <span id="_CPPv3NK5Imath7Frustum19projectionMatrixExcEv"></span><span id="_CPPv2NK5Imath7Frustum19projectionMatrixExcEv"></span><span id="Imath::Frustum::projectionMatrixExcCCE"></span><span class="target" id="class_imath_1_1_frustum_1a45a8d9396e1cdd4493dd28b705c16c60"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">projectionMatrixExc</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum19projectionMatrixExcEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the project matrix that the frustum defines. </p> <p>Throw an exception if the frustum is degenerate. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum10degenerateEv"> <span id="_CPPv3NK5Imath7Frustum10degenerateEv"></span><span id="_CPPv2NK5Imath7Frustum10degenerateEv"></span><span id="Imath::Frustum::degenerateCCE"></span><span class="target" id="class_imath_1_1_frustum_1a588fe0855ba891601ba00b8c0f6a562b"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">degenerate</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum10degenerateEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return true if the frustum is degenerate. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Set Value</p> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum3setE1T1T1T1T1T1Tb"> <span id="_CPPv3N5Imath7Frustum3setE1T1T1T1T1T1Tb"></span><span id="_CPPv2N5Imath7Frustum3setE1T1T1T1T1T1Tb"></span><span id="Imath::Frustum::set__T.T.T.T.T.T.b"></span><span class="target" id="class_imath_1_1_frustum_1a2035e7c2445de23ed7c6444fb4e125b7"></span><em class="property">inline</em> void <code class="sig-name descname">set</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>left</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>right</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>top</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>bottom</em>, bool <em>ortho</em> = false<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum3setE1T1T1T1T1T1Tb" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set functions change the entire state of the <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum3setE1T1T1T1T1T"> <span id="_CPPv3N5Imath7Frustum3setE1T1T1T1T1T"></span><span id="_CPPv2N5Imath7Frustum3setE1T1T1T1T1T"></span><span id="Imath::Frustum::set__T.T.T.T.T"></span><span class="target" id="class_imath_1_1_frustum_1a9f4298f628ceb8a543a1ab92120fd529"></span><em class="property">inline</em> void <code class="sig-name descname">set</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovx</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovy</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>aspect</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum3setE1T1T1T1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set functions change the entire state of the <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> using field of view and aspect ratio. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum6setExcE1T1T1T1T1T"> <span id="_CPPv3N5Imath7Frustum6setExcE1T1T1T1T1T"></span><span id="_CPPv2N5Imath7Frustum6setExcE1T1T1T1T1T"></span><span id="Imath::Frustum::setExc__T.T.T.T.T"></span><span class="target" id="class_imath_1_1_frustum_1ae2ba884ffef080fb8f4030c65438afa6"></span><em class="property">inline</em> void <code class="sig-name descname">setExc</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovx</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>fovy</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>aspect</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5Imath7Frustum6setExcE1T1T1T1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set functions change the entire state of the <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> using field of view and aspect ratio. </p> <p>Throw an exception if <code class="docutils literal notranslate"><span class="pre">fovx</span></code> and/or <code class="docutils literal notranslate"><span class="pre">fovy</span></code> are invalid. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum16modifyNearAndFarE1T1T"> <span id="_CPPv3N5Imath7Frustum16modifyNearAndFarE1T1T"></span><span id="_CPPv2N5Imath7Frustum16modifyNearAndFarE1T1T"></span><span id="Imath::Frustum::modifyNearAndFar__T.T"></span><span class="target" id="class_imath_1_1_frustum_1adfdcb3afc24aa4afbaa18428c31d3463"></span><em class="property">inline</em> void <code class="sig-name descname">modifyNearAndFar</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>nearPlane</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>farPlane</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum16modifyNearAndFarE1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the near and far clipping planes. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath7Frustum15setOrthographicEb"> <span id="_CPPv3N5Imath7Frustum15setOrthographicEb"></span><span id="_CPPv2N5Imath7Frustum15setOrthographicEb"></span><span id="Imath::Frustum::setOrthographic__b"></span><span class="target" id="class_imath_1_1_frustum_1ace0b32bd29e882687a13b29a1f3463af"></span><em class="property">inline</em> void <code class="sig-name descname">setOrthographic</code><span class="sig-paren">(</span>bool<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath7Frustum15setOrthographicEb" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the ortographic state. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6planesEAL6E_6Plane3I1TE"> <span id="_CPPv3NK5Imath7Frustum6planesEAL6E_6Plane3I1TE"></span><span id="_CPPv2NK5Imath7Frustum6planesEA6_6Plane3I1TE"></span><span id="Imath::Frustum::planes__Plane3:T:AC"></span><span class="target" id="class_imath_1_1_frustum_1afeb2ebd323b81797a3a84cb482933a2d"></span>void <code class="sig-name descname">planes</code><span class="sig-paren">(</span><a class="reference internal" href="Plane3.html#_CPPv4I0EN5Imath6Plane3E" title="Imath::Plane3">Plane3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <em>p</em>[6]<span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6planesEAL6E_6Plane3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the planes in p to be the six bounding planes of the frustum, in the following order: top, right, bottom, left, near, far. </p> <p>Note that the planes have normals that point out of the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6planesEAL6E_6Plane3I1TERK8Matrix44I1TE"> <span id="_CPPv3NK5Imath7Frustum6planesEAL6E_6Plane3I1TERK8Matrix44I1TE"></span><span id="_CPPv2NK5Imath7Frustum6planesEA6_6Plane3I1TERK8Matrix44I1TE"></span><span id="Imath::Frustum::planes__Plane3:T:A.Matrix44:T:CRC"></span><span class="target" id="class_imath_1_1_frustum_1a251f97f3baa4b901dfb43887c40a4540"></span>void <code class="sig-name descname">planes</code><span class="sig-paren">(</span><a class="reference internal" href="Plane3.html#_CPPv4I0EN5Imath6Plane3E" title="Imath::Plane3">Plane3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <em>p</em>[6], <em class="property">const</em> <a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>M</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6planesEAL6E_6Plane3I1TERK8Matrix44I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the planes in p to be the six bounding planes of the frustum, in the following order: top, right, bottom, left, near, far. </p> <p>Note that the planes have normals that point out of the frustum. Apply the given matrix to transform the frustum before setting the planes. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum6windowE1T1T1T1T"> <span id="_CPPv3NK5Imath7Frustum6windowE1T1T1T1T"></span><span id="_CPPv2NK5Imath7Frustum6windowE1T1T1T1T"></span><span id="Imath::Frustum::window__T.T.T.TCCE"></span><span class="target" id="class_imath_1_1_frustum_1aee7396efc1126351add5fdec953941ed"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum">Frustum</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">window</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>left</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>right</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>top</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>bottom</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum6windowE1T1T1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Takes a rectangle in the screen space (i.e., -1 <= left <= right <= 1 and -1 <= bottom <= top <= 1) of this <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a>, and returns a new <a class="reference internal" href="#class_imath_1_1_frustum"><span class="std std-ref">Frustum</span></a> whose near clipping-plane window is that rectangle in local space. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Utility Methods</p> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum18projectScreenToRayERK4Vec2I1TE"> <span id="_CPPv3NK5Imath7Frustum18projectScreenToRayERK4Vec2I1TE"></span><span id="_CPPv2NK5Imath7Frustum18projectScreenToRayERK4Vec2I1TE"></span><span id="Imath::Frustum::projectScreenToRay__Vec2:T:CRCCE"></span><span class="target" id="class_imath_1_1_frustum_1a61843dd452b68b8ce56da2065b944f4f"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Line3.html#_CPPv4I0EN5Imath5Line3E" title="Imath::Line3">Line3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">projectScreenToRay</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec2.html#_CPPv4I0EN5Imath4Vec2E" title="Imath::Vec2">Vec2</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>>&<span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum18projectScreenToRayERK4Vec2I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Project a point in screen spaced to 3d ray. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum20projectPointToScreenERK4Vec3I1TE"> <span id="_CPPv3NK5Imath7Frustum20projectPointToScreenERK4Vec3I1TE"></span><span id="_CPPv2NK5Imath7Frustum20projectPointToScreenERK4Vec3I1TE"></span><span id="Imath::Frustum::projectPointToScreen__Vec3:T:CRCCE"></span><span class="target" id="class_imath_1_1_frustum_1a8c8ceebbe860da92cca26f90a26572a7"></span><em class="property">constexpr</em> <a class="reference internal" href="Vec2.html#_CPPv4I0EN5Imath4Vec2E" title="Imath::Vec2">Vec2</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">projectPointToScreen</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>>&<span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum20projectPointToScreenERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Project a 3D point into screen coordinates. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum23projectPointToScreenExcERK4Vec3I1TE"> <span id="_CPPv3NK5Imath7Frustum23projectPointToScreenExcERK4Vec3I1TE"></span><span id="_CPPv2NK5Imath7Frustum23projectPointToScreenExcERK4Vec3I1TE"></span><span id="Imath::Frustum::projectPointToScreenExc__Vec3:T:CRCCE"></span><span class="target" id="class_imath_1_1_frustum_1aa046981ec3d80ba3b6046e3446939836"></span><em class="property">constexpr</em> <a class="reference internal" href="Vec2.html#_CPPv4I0EN5Imath4Vec2E" title="Imath::Vec2">Vec2</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> <code class="sig-name descname">projectPointToScreenExc</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>>&<span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum23projectPointToScreenExcERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Project a 3D point into screen coordinates. </p> <p>Throw an exception if the point cannot be projected. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum8ZToDepthElll"> <span id="_CPPv3NK5Imath7Frustum8ZToDepthElll"></span><span id="_CPPv2NK5Imath7Frustum8ZToDepthElll"></span><span id="Imath::Frustum::ZToDepth__l.l.lCCE"></span><span class="target" id="class_imath_1_1_frustum_1a4775d112f65c172ce89fafede46c86fa"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">ZToDepth</code><span class="sig-paren">(</span>long <em>zval</em>, long <em>min</em>, long <em>max</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum8ZToDepthElll" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map a z value to its depth in the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum11ZToDepthExcElll"> <span id="_CPPv3NK5Imath7Frustum11ZToDepthExcElll"></span><span id="_CPPv2NK5Imath7Frustum11ZToDepthExcElll"></span><span id="Imath::Frustum::ZToDepthExc__l.l.lCCE"></span><span class="target" id="class_imath_1_1_frustum_1af8f05e0bd0e83f051b936d5cd843f113"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">ZToDepthExc</code><span class="sig-paren">(</span>long <em>zval</em>, long <em>min</em>, long <em>max</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum11ZToDepthExcElll" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map a z value to its depth in the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum18normalizedZToDepthE1T"> <span id="_CPPv3NK5Imath7Frustum18normalizedZToDepthE1T"></span><span id="_CPPv2NK5Imath7Frustum18normalizedZToDepthE1T"></span><span id="Imath::Frustum::normalizedZToDepth__TCCE"></span><span class="target" id="class_imath_1_1_frustum_1ae62272e1af8357c23ddc6a5672bef919"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">normalizedZToDepth</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>zval</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum18normalizedZToDepthE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map a normalized z value to its depth in the frustum. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum21normalizedZToDepthExcE1T"> <span id="_CPPv3NK5Imath7Frustum21normalizedZToDepthExcE1T"></span><span id="_CPPv2NK5Imath7Frustum21normalizedZToDepthExcE1T"></span><span id="Imath::Frustum::normalizedZToDepthExc__TCCE"></span><span class="target" id="class_imath_1_1_frustum_1a53a984e7f36d8a29f57f17816323bf44"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">normalizedZToDepthExc</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>zval</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum21normalizedZToDepthExcE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map a normalized z value to its depth in the frustum. </p> <p>Throw an exception on error. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum8DepthToZE1Tll"> <span id="_CPPv3NK5Imath7Frustum8DepthToZE1Tll"></span><span id="_CPPv2NK5Imath7Frustum8DepthToZE1Tll"></span><span id="Imath::Frustum::DepthToZ__T.l.lCCE"></span><span class="target" id="class_imath_1_1_frustum_1a7c91a876d1ad477b07653ff945d11c8e"></span><em class="property">constexpr</em> long <code class="sig-name descname">DepthToZ</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>depth</em>, long <em>zmin</em>, long <em>zmax</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum8DepthToZE1Tll" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map depth to z value. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum11DepthToZExcE1Tll"> <span id="_CPPv3NK5Imath7Frustum11DepthToZExcE1Tll"></span><span id="_CPPv2NK5Imath7Frustum11DepthToZExcE1Tll"></span><span id="Imath::Frustum::DepthToZExc__T.l.lCCE"></span><span class="target" id="class_imath_1_1_frustum_1abce2a698e896795a2bde4e7ff295835b"></span><em class="property">constexpr</em> long <code class="sig-name descname">DepthToZExc</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>depth</em>, long <em>zmin</em>, long <em>zmax</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum11DepthToZExcE1Tll" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Map depth to z value. Throw an exception on error. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum11worldRadiusERK4Vec3I1TE1T"> <span id="_CPPv3NK5Imath7Frustum11worldRadiusERK4Vec3I1TE1T"></span><span id="_CPPv2NK5Imath7Frustum11worldRadiusERK4Vec3I1TE1T"></span><span id="Imath::Frustum::worldRadius__Vec3:T:CR.TCCE"></span><span class="target" id="class_imath_1_1_frustum_1a7205f00763b5b1dc505e3da69b62aba8"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">worldRadius</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>p</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>radius</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum11worldRadiusERK4Vec3I1TE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Compute worldRadius. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum14worldRadiusExcERK4Vec3I1TE1T"> <span id="_CPPv3NK5Imath7Frustum14worldRadiusExcERK4Vec3I1TE1T"></span><span id="_CPPv2NK5Imath7Frustum14worldRadiusExcERK4Vec3I1TE1T"></span><span id="Imath::Frustum::worldRadiusExc__Vec3:T:CR.TCCE"></span><span class="target" id="class_imath_1_1_frustum_1aac568dd0ed460f098e4de0a61a0f60b9"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">worldRadiusExc</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>p</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>radius</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum14worldRadiusExcERK4Vec3I1TE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Compute worldRadius. Throw an exception on error. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum12screenRadiusERK4Vec3I1TE1T"> <span id="_CPPv3NK5Imath7Frustum12screenRadiusERK4Vec3I1TE1T"></span><span id="_CPPv2NK5Imath7Frustum12screenRadiusERK4Vec3I1TE1T"></span><span id="Imath::Frustum::screenRadius__Vec3:T:CR.TCCE"></span><span class="target" id="class_imath_1_1_frustum_1aecb6e313f6502211ed05338c8748a747"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">screenRadius</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>p</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>radius</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum12screenRadiusERK4Vec3I1TE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Compute screen radius. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath7Frustum15screenRadiusExcERK4Vec3I1TE1T"> <span id="_CPPv3NK5Imath7Frustum15screenRadiusExcERK4Vec3I1TE1T"></span><span id="_CPPv2NK5Imath7Frustum15screenRadiusExcERK4Vec3I1TE1T"></span><span id="Imath::Frustum::screenRadiusExc__Vec3:T:CR.TCCE"></span><span class="target" id="class_imath_1_1_frustum_1a6b7472d2d436cb8d979774fd3c31a8f9"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <code class="sig-name descname">screenRadiusExc</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a>> &<em>p</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath7FrustumE" title="Imath::Frustum::T">T</a> <em>radius</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath7Frustum15screenRadiusExcERK4Vec3I1TE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Compute screen radius. Throw an exception on error. </p> </dd></dl> </div> </dd></dl> </div> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <p class="logo"><a href="../index.html"> <img class="logo" src="../_static/imath-logo-blue.png" alt="Logo"/> </a></p> <h4>Previous topic</h4> <p class="topless"><a href="Euler.html" title="previous chapter">Euler</a></p> <h4>Next topic</h4> <p class="topless"><a href="Interval.html" title="next chapter">Interval</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/classes/Frustum.rst.txt" rel="nofollow">Show Source</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> <input type="text" name="q" aria-labelledby="searchlabel" /> <input type="submit" value="Go" /> </form> </div> </div> <script>$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="Interval.html" title="Interval" >next</a> |</li> <li class="right" > <a href="Euler.html" title="Euler" >previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">Imath</a> »</li> <li class="nav-item nav-item-this"><a href="">Frustum</a></li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2021, Contributors to the OpenEXR Project. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.4.3. </div> </body> </html>