Файловый менеджер - Редактировать - /usr/share/doc/imath-devel/html/classes/Euler.html
�азад
<!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Euler — 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="Frustum" href="Frustum.html" /> <link rel="prev" title="Color4" href="Color4.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="Frustum.html" title="Frustum" accesskey="N">next</a> |</li> <li class="right" > <a href="Color4.html" title="Color4" 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="">Euler</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="euler"> <h1>Euler<a class="headerlink" href="#euler" title="Permalink to this headline">¶</a></h1> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#include <Imath/ImathEuler.h></span> </pre></div> </div> <p>The <code class="docutils literal notranslate"><span class="pre">Euler</span></code> class template represents an euler angle rotation/orientation, 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>The <code class="docutils literal notranslate"><span class="pre">Euler</span></code> class is derived from <code class="docutils literal notranslate"><span class="pre">Imath::Vec3</span></code> and thus has fields named <code class="docutils literal notranslate"><span class="pre">x</span></code>, <code class="docutils literal notranslate"><span class="pre">y</span></code>, and <code class="docutils literal notranslate"><span class="pre">z</span></code>, which correspond to the first, second, and third rotation angles in a specified order, which, depending on the order, may not correspond directly to x, y, or z rotations.</p> <p>Example:</p> <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf"><Imath/ImathEuler.h></span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf"><ImathMatrixAlgo.h></span><span class="cp"></span> <span class="kt">void</span> <span class="nf">euler_example</span><span class="p">()</span> <span class="p">{</span> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">;</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span> <span class="n">xyz</span> <span class="p">(</span><span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span><span class="o">::</span><span class="n">XYZ</span><span class="p">);</span> <span class="n">xyz</span><span class="p">.</span><span class="n">angleOrder</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">);</span> <span class="n">assert</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">&&</span> <span class="n">j</span> <span class="o">==</span> <span class="mi">1</span> <span class="o">&&</span> <span class="n">k</span> <span class="o">==</span> <span class="mi">2</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span> <span class="n">xzy</span> <span class="p">(</span><span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span><span class="o">::</span><span class="n">XZY</span><span class="p">);</span> <span class="n">xzy</span><span class="p">.</span><span class="n">angleOrder</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">);</span> <span class="n">assert</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">&&</span> <span class="n">j</span> <span class="o">==</span> <span class="mi">2</span> <span class="o">&&</span> <span class="n">k</span> <span class="o">==</span> <span class="mi">1</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span> <span class="n">e1</span> <span class="p">(</span><span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.1f</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">M_PI</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Eulerf</span> <span class="n">e2</span> <span class="p">(</span><span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.1f</span><span class="p">);</span> <span class="n">e1</span><span class="p">.</span><span class="n">makeNear</span> <span class="p">(</span><span class="n">e2</span><span class="p">);</span> <span class="n">Imath</span><span class="o">::</span><span class="n">V3f</span> <span class="n">v</span> <span class="o">=</span> <span class="n">e2</span><span class="p">.</span><span class="n">toXYZVector</span><span class="p">();</span> <span class="n">assert</span> <span class="p">(</span><span class="n">v</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">V3f</span> <span class="p">(</span><span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.1f</span><span class="p">),</span> <span class="mf">0.00001f</span><span class="p">));</span> <span class="p">}</span> </pre></div> </div> <dl class="cpp type"> <dt id="_CPPv4N5Imath6EulerfE"> <span id="_CPPv3N5Imath6EulerfE"></span><span id="_CPPv2N5Imath6EulerfE"></span><span id="Imath::Eulerf"></span><span class="target" id="_imath_euler_8h_1ad020430bdef99eb1fb3bb51a8c069ffb"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><float> <code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Eulerf</code><a class="headerlink" href="#_CPPv4N5Imath6EulerfE" title="Permalink to this definition">¶</a><br /></dt> <dd><p><a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> of type float. </p> </dd></dl> <dl class="cpp type"> <dt id="_CPPv4N5Imath6EulerdE"> <span id="_CPPv3N5Imath6EulerdE"></span><span id="_CPPv2N5Imath6EulerdE"></span><span id="Imath::Eulerd"></span><span class="target" id="_imath_euler_8h_1ad7d540a97f0fa8345d34b7e2ecb9402b"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><double> <code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Eulerd</code><a class="headerlink" href="#_CPPv4N5Imath6EulerdE" title="Permalink to this definition">¶</a><br /></dt> <dd><p><a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> of type double. </p> </dd></dl> <dl class="cpp class"> <dt id="_CPPv4I0EN5Imath5EulerE"> <span id="_CPPv3I0EN5Imath5EulerE"></span><span id="_CPPv2I0EN5Imath5EulerE"></span>template<class <code class="sig-name descname">T</code>><br /><span class="target" id="class_imath_1_1_euler"></span><em class="property">class </em><code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Euler</code> : <em class="property">public</em> Imath::<a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>><a class="headerlink" href="#_CPPv4I0EN5Imath5EulerE" 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_euler"><span class="std std-ref"><span class="pre">Euler</span></span></a><span class="pre"><T></span></code> </p> <p>The <a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> class represents euler angle orientations. The class inherits from <a class="reference internal" href="Vec3.html#class_imath_1_1_vec3"><span class="std std-ref">Vec3</span></a> to it can be freely cast. The additional information is the euler priorities rep. This class is essentially a rip off of Ken Shoemake’s GemsIV code. It has been modified minimally to make it more understandable, but hardly enough to make it easy to grok completely.</p> <p>There are 24 possible combonations of <a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> angle representations of which 12 are common in CG and you will probably only use 6 of these which in this scheme are the non-relative-non-repeating types.</p> <p>The representations can be partitioned according to two criteria:</p> <p>1) Are the angles measured relative to a set of fixed axis or relative to each other (the latter being what happens when rotation matrices are multiplied together and is almost ubiquitous in the cg community)</p> <p>2) Is one of the rotations repeated (ala XYX rotation)</p> <p>When you construct a given representation from scratch you must order the angles according to their priorities. So, the easiest is a softimage or aerospace (yaw/pitch/roll) ordering of ZYX. <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">float</span> <span class="n">x_rot</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="nb">float</span> <span class="n">y_rot</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="nb">float</span> <span class="n">z_rot</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span><span class="n">z_rot</span><span class="p">,</span> <span class="n">y_rot</span><span class="p">,</span> <span class="n">x_rot</span><span class="p">,</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">ZYX</span><span class="p">);</span> </pre></div> </div> or: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span> <span class="n">V3f</span><span class="p">(</span><span class="n">z_rot</span><span class="p">,</span><span class="n">y_rot</span><span class="p">,</span><span class="n">z_rot</span><span class="p">),</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">ZYX</span> <span class="p">);</span> </pre></div> </div> </p> <p>If instead, the order was YXZ for instance you would have to do this: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">float</span> <span class="n">x_rot</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="nb">float</span> <span class="n">y_rot</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="nb">float</span> <span class="n">z_rot</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span><span class="n">y_rot</span><span class="p">,</span> <span class="n">x_rot</span><span class="p">,</span> <span class="n">z_rot</span><span class="p">,</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">YXZ</span><span class="p">);</span> </pre></div> </div> or:</p> <p><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span> <span class="n">V3f</span><span class="p">(</span><span class="n">y_rot</span><span class="p">,</span><span class="n">x_rot</span><span class="p">,</span><span class="n">z_rot</span><span class="p">),</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">YXZ</span> <span class="p">);</span> </pre></div> </div> Notice how the order you put the angles into the three slots should correspond to the enum (YXZ) ordering. The input angle vector is called the “ijk” vector not an “xyz” vector. The ijk vector order is the same as the enum. If you treat the <a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> as a <a class="reference internal" href="Vec3.html#class_imath_1_1_vec3"><span class="std std-ref">Vec3</span></a> (which it inherts from) you will find the angles are ordered in the same way, i.e.: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">V3f</span> <span class="n">v</span> <span class="o">=</span> <span class="n">angles</span><span class="p">;</span> <span class="n">v</span><span class="o">.</span><span class="n">x</span> <span class="o">==</span> <span class="n">y_rot</span><span class="p">,</span> <span class="n">v</span><span class="o">.</span><span class="n">y</span> <span class="o">==</span> <span class="n">x_rot</span><span class="p">,</span> <span class="n">v</span><span class="o">.</span><span class="n">z</span> <span class="o">==</span> <span class="n">z_rot</span> </pre></div> </div> If you just want the x, y, and z angles stored in a vector in that order, you can do this: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">V3f</span> <span class="n">v</span> <span class="o">=</span> <span class="n">angles</span><span class="o">.</span><span class="n">toXYZVector</span><span class="p">()</span> <span class="n">v</span><span class="o">.</span><span class="n">x</span> <span class="o">==</span> <span class="n">x_rot</span><span class="p">,</span> <span class="n">v</span><span class="o">.</span><span class="n">y</span> <span class="o">==</span> <span class="n">y_rot</span><span class="p">,</span> <span class="n">v</span><span class="o">.</span><span class="n">z</span> <span class="o">==</span> <span class="n">z_rot</span> </pre></div> </div> If you want to set the <a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> with an XYZVector use the optional layout argument: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span><span class="n">x_rot</span><span class="p">,</span> <span class="n">y_rot</span><span class="p">,</span> <span class="n">z_rot</span><span class="p">,</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">YXZ</span><span class="p">,</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">XYZLayout</span><span class="p">);</span> </pre></div> </div> This is the same as: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Eulerf</span> <span class="n">angles</span><span class="p">(</span><span class="n">y_rot</span><span class="p">,</span> <span class="n">x_rot</span><span class="p">,</span> <span class="n">z_rot</span><span class="p">,</span> <span class="n">Eulerf</span><span class="p">::</span><span class="n">YXZ</span><span class="p">);</span> </pre></div> </div> Note that this won’t do anything intelligent if you have a repeated axis in the euler angles (e.g. XYX)</p> <p>If you need to use the “relative” versions of these, you will need to use the “r” enums.</p> <p>The units of the rotation angles are assumed to be radians. </p> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Constructors</p> <p>All default to <code class="docutils literal notranslate"><span class="pre">ZYX</span></code> non-relative (ala Softimage 3D/Maya), where there is no argument to specify it.</p> <p>The Euler-from-matrix constructors assume that the matrix does not include shear or non-uniform scaling, but the constructors do not examine the matrix to verify this assumption. If necessary, you can adjust the matrix by calling the removeScalingAndShear() function, defined in ImathMatrixAlgo.h. </p> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerEv"> <span id="_CPPv3N5Imath5Euler5EulerEv"></span><span id="_CPPv2N5Imath5Euler5EulerEv"></span><span id="Imath::Euler::EulerCE"></span><span class="target" id="class_imath_1_1_euler_1a21cd4eb37cd850c213c5435d867cf778"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>No initialization by default. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerERK5Euler"> <span id="_CPPv3N5Imath5Euler5EulerERK5Euler"></span><span id="_CPPv2N5Imath5Euler5EulerERK5Euler"></span><span id="Imath::Euler::Euler__EulerCRCE"></span><span class="target" id="class_imath_1_1_euler_1a92ddcd2bdadb3882239501404d59734b"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N5Imath5Euler5EulerERK5Euler" title="Imath::Euler::Euler">Euler</a>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerERK5Euler" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Copy constructor. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerE5Order"> <span id="_CPPv3N5Imath5Euler5EulerE5Order"></span><span id="_CPPv2N5Imath5Euler5EulerE5Order"></span><span id="Imath::Euler::Euler__OrderCE"></span><span class="target" id="class_imath_1_1_euler_1a55ac6c8bb06d84890523aaa48894b6fc"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>p</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from given Order. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerERK4Vec3I1TE5Order11InputLayout"> <span id="_CPPv3N5Imath5Euler5EulerERK4Vec3I1TE5Order11InputLayout"></span><span id="_CPPv2N5Imath5Euler5EulerERK4Vec3I1TE5Order11InputLayout"></span><span id="Imath::Euler::Euler__Vec3:T:CR.Order.InputLayoutCE"></span><span class="target" id="class_imath_1_1_euler_1acecaa333eb5f661358098fa12cefbc4c"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</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="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>v</em>, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>o</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler5Order7DefaultE" title="Imath::Euler::Default">Default</a>, <a class="reference internal" href="#_CPPv4N5Imath5Euler11InputLayoutE" title="Imath::Euler::InputLayout">InputLayout</a> <em>l</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler11InputLayout9IJKLayoutE" title="Imath::Euler::IJKLayout">IJKLayout</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerERK4Vec3I1TE5Order11InputLayout" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from vector, order, layout. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerE1T1T1T5Order11InputLayout"> <span id="_CPPv3N5Imath5Euler5EulerE1T1T1T5Order11InputLayout"></span><span id="_CPPv2N5Imath5Euler5EulerE1T1T1T5Order11InputLayout"></span><span id="Imath::Euler::Euler__T.T.T.Order.InputLayoutCE"></span><span class="target" id="class_imath_1_1_euler_1a22ca30b79287bb9642df5a166285e0bc"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a> <em>i</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a> <em>j</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a> <em>k</em>, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>o</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler5Order7DefaultE" title="Imath::Euler::Default">Default</a>, <a class="reference internal" href="#_CPPv4N5Imath5Euler11InputLayoutE" title="Imath::Euler::InputLayout">InputLayout</a> <em>l</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler11InputLayout9IJKLayoutE" title="Imath::Euler::IJKLayout">IJKLayout</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerE1T1T1T5Order11InputLayout" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from explicit axes, order, layout. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerERK5EulerI1TE5Order"> <span id="_CPPv3N5Imath5Euler5EulerERK5EulerI1TE5Order"></span><span id="_CPPv2N5Imath5Euler5EulerERK5EulerI1TE5Order"></span><span id="Imath::Euler::Euler__Euler:T:CR.OrderCE"></span><span class="target" id="class_imath_1_1_euler_1aa9b7159d03bae2e7d55a0a1f46bb563d"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N5Imath5Euler5EulerERK5EulerI1TE5Order" title="Imath::Euler::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>euler</em>, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>newp</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerERK5EulerI1TE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Copy constructor with new Order. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerERK8Matrix33I1TE5Order"> <span id="_CPPv3N5Imath5Euler5EulerERK8Matrix33I1TE5Order"></span><span id="_CPPv2N5Imath5Euler5EulerERK8Matrix33I1TE5Order"></span><span id="Imath::Euler::Euler__Matrix33:T:CR.OrderCE"></span><span class="target" id="class_imath_1_1_euler_1a3fb70f4d4773263d40946517ba6db131"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Matrix33.html#_CPPv4I0EN5Imath8Matrix33E" title="Imath::Matrix33">Matrix33</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>o</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler5Order7DefaultE" title="Imath::Euler::Default">Default</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerERK8Matrix33I1TE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from <a class="reference internal" href="Matrix33.html#class_imath_1_1_matrix33"><span class="std std-ref">Matrix33</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler5EulerERK8Matrix44I1TE5Order"> <span id="_CPPv3N5Imath5Euler5EulerERK8Matrix44I1TE5Order"></span><span id="_CPPv2N5Imath5Euler5EulerERK8Matrix44I1TE5Order"></span><span id="Imath::Euler::Euler__Matrix44:T:CR.OrderCE"></span><span class="target" id="class_imath_1_1_euler_1a0f228b25b8267b8fcc681d7b8498637a"></span><em class="property">constexpr</em> <code class="sig-name descname">Euler</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>o</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler5Order7DefaultE" title="Imath::Euler::Default">Default</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler5EulerERK8Matrix44I1TE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from <a class="reference internal" href="Matrix44.html#class_imath_1_1_matrix44"><span class="std std-ref">Matrix44</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5EulerD0Ev"> <span id="_CPPv3N5Imath5EulerD0Ev"></span><span id="_CPPv2N5Imath5EulerD0Ev"></span><span id="Imath::Euler::~Euler"></span><span class="target" id="class_imath_1_1_euler_1a33d215f289215c457ba0ffac88777630"></span><code class="sig-name descname">~Euler</code><span class="sig-paren">(</span><span class="sig-paren">)</span> = default<a class="headerlink" href="#_CPPv4N5Imath5EulerD0Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Destructor. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Query</p> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler5orderEv"> <span id="_CPPv3NK5Imath5Euler5orderEv"></span><span id="_CPPv2NK5Imath5Euler5orderEv"></span><span id="Imath::Euler::orderCCE"></span><span class="target" id="class_imath_1_1_euler_1ae28811fbadd9e73f1e90546d3d1009d9"></span><em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <code class="sig-name descname">order</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="#_CPPv4NK5Imath5Euler5orderEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the order. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler11frameStaticEv"> <span id="_CPPv3NK5Imath5Euler11frameStaticEv"></span><span id="_CPPv2NK5Imath5Euler11frameStaticEv"></span><span id="Imath::Euler::frameStaticCCE"></span><span class="target" id="class_imath_1_1_euler_1a585d167ead241adbab1a9532a61156f6"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">frameStatic</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler11frameStaticEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return frameStatic. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler15initialRepeatedEv"> <span id="_CPPv3NK5Imath5Euler15initialRepeatedEv"></span><span id="_CPPv2NK5Imath5Euler15initialRepeatedEv"></span><span id="Imath::Euler::initialRepeatedCCE"></span><span class="target" id="class_imath_1_1_euler_1a6b3d3f875ce0131ecc6614e71a67eab1"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">initialRepeated</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler15initialRepeatedEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return intialRepeated. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler10parityEvenEv"> <span id="_CPPv3NK5Imath5Euler10parityEvenEv"></span><span id="_CPPv2NK5Imath5Euler10parityEvenEv"></span><span id="Imath::Euler::parityEvenCCE"></span><span class="target" id="class_imath_1_1_euler_1ad1f0d4a2400c4e8da238e1848a74fda3"></span><em class="property">inline</em> <em class="property">constexpr</em> bool <code class="sig-name descname">parityEven</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler10parityEvenEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return partityEven. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler11initialAxisEv"> <span id="_CPPv3NK5Imath5Euler11initialAxisEv"></span><span id="_CPPv2NK5Imath5Euler11initialAxisEv"></span><span id="Imath::Euler::initialAxisCCE"></span><span class="target" id="class_imath_1_1_euler_1a25554d8479dc0b74bdab30a0e7afa236"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4N5Imath5Euler4AxisE" title="Imath::Euler::Axis">Axis</a> <code class="sig-name descname">initialAxis</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler11initialAxisEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return initialAxis. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler10angleOrderERiRiRi"> <span id="_CPPv3NK5Imath5Euler10angleOrderERiRiRi"></span><span id="_CPPv2NK5Imath5Euler10angleOrderERiRiRi"></span><span id="Imath::Euler::angleOrder__iR.iR.iRC"></span><span class="target" id="class_imath_1_1_euler_1a42929dfcf79a1c3faf8fa0754686c3f8"></span>void <code class="sig-name descname">angleOrder</code><span class="sig-paren">(</span>int &<em>i</em>, int &<em>j</em>, int &<em>k</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler10angleOrderERiRiRi" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Unpack angles from ijk form. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler12angleMappingERiRiRi"> <span id="_CPPv3NK5Imath5Euler12angleMappingERiRiRi"></span><span id="_CPPv2NK5Imath5Euler12angleMappingERiRiRi"></span><span id="Imath::Euler::angleMapping__iR.iR.iRC"></span><span class="target" id="class_imath_1_1_euler_1ac0873e1cd586bc0746646c80cf8e2f7f"></span>void <code class="sig-name descname">angleMapping</code><span class="sig-paren">(</span>int &<em>i</em>, int &<em>j</em>, int &<em>k</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath5Euler12angleMappingERiRiRi" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Determine mapping from xyz to ijk (reshuffle the xyz to match the order) </p> </dd></dl> <dl class="cpp function"> <dt> <span class="target" id="class_imath_1_1_euler_1abb7b4b67d3041bc5122282a962a03660"></span><code class="sig-name descname">static constexpr static bool legal (Order) noexcept</code></dt> <dd><p>Return whether the given value is a legal Order. </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="_CPPv4N5Imath5Euler8setOrderE5Order"> <span id="_CPPv3N5Imath5Euler8setOrderE5Order"></span><span id="_CPPv2N5Imath5Euler8setOrderE5Order"></span><span id="Imath::Euler::setOrder__Order"></span><span class="target" id="class_imath_1_1_euler_1a02454513c852069ecead56844e1f837c"></span>void <code class="sig-name descname">setOrder</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler8setOrderE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the order. </p> <p>This does NOT convert the angles, but it does reorder the input vector. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler12setXYZVectorERK4Vec3I1TE"> <span id="_CPPv3N5Imath5Euler12setXYZVectorERK4Vec3I1TE"></span><span id="_CPPv2N5Imath5Euler12setXYZVectorERK4Vec3I1TE"></span><span id="Imath::Euler::setXYZVector__Vec3:T:CR"></span><span class="target" id="class_imath_1_1_euler_1a7db04fb0225c072d55777815d1946cb1"></span>void <code class="sig-name descname">setXYZVector</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="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler12setXYZVectorERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the euler value: set the first angle to <code class="docutils literal notranslate"><span class="pre">v[0]</span></code>, the second to <code class="docutils literal notranslate"><span class="pre">v[1]</span></code>, the third to <code class="docutils literal notranslate"><span class="pre">v[2]</span></code>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler3setE4Axisbbb"> <span id="_CPPv3N5Imath5Euler3setE4Axisbbb"></span><span id="_CPPv2N5Imath5Euler3setE4Axisbbb"></span><span id="Imath::Euler::set__Axis.b.b.b"></span><span class="target" id="class_imath_1_1_euler_1ac65d3291018731a387521d4a9a470fa6"></span>void <code class="sig-name descname">set</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N5Imath5Euler4AxisE" title="Imath::Euler::Axis">Axis</a> <em>initial</em>, bool <em>relative</em>, bool <em>parityEven</em>, bool <em>firstRepeats</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler3setE4Axisbbb" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the value. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Assignments and Conversions</p> <dl class="cpp function"> <dt id="_CPPv4N5Imath5EuleraSERK5EulerI1TE"> <span id="_CPPv3N5Imath5EuleraSERK5EulerI1TE"></span><span id="_CPPv2N5Imath5EuleraSERK5EulerI1TE"></span><span id="Imath::Euler::assign-operator__Euler:T:CRCE"></span><span class="target" id="class_imath_1_1_euler_1af55627e254ea83ee19c96ac4aaae4ec0"></span><em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<code class="sig-name descname">operator=</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5EuleraSERK5EulerI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assignment. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5EuleraSERK4Vec3I1TE"> <span id="_CPPv3N5Imath5EuleraSERK4Vec3I1TE"></span><span id="_CPPv2N5Imath5EuleraSERK4Vec3I1TE"></span><span id="Imath::Euler::assign-operator__Vec3:T:CRCE"></span><span class="target" id="class_imath_1_1_euler_1aeebdd0a0263508884b562e43fad1c45d"></span><em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<code class="sig-name descname">operator=</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="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5EuleraSERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assignment. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler7extractERK8Matrix33I1TE"> <span id="_CPPv3N5Imath5Euler7extractERK8Matrix33I1TE"></span><span id="_CPPv2N5Imath5Euler7extractERK8Matrix33I1TE"></span><span id="Imath::Euler::extract__Matrix33:T:CR"></span><span class="target" id="class_imath_1_1_euler_1acf8b923fb9b2c52efdc3e282fa1d5310"></span>void <code class="sig-name descname">extract</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Matrix33.html#_CPPv4I0EN5Imath8Matrix33E" title="Imath::Matrix33">Matrix33</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler7extractERK8Matrix33I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assign from <a class="reference internal" href="Matrix33.html#class_imath_1_1_matrix33"><span class="std std-ref">Matrix33</span></a>, assumed to be affine. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler7extractERK8Matrix44I1TE"> <span id="_CPPv3N5Imath5Euler7extractERK8Matrix44I1TE"></span><span id="_CPPv2N5Imath5Euler7extractERK8Matrix44I1TE"></span><span id="Imath::Euler::extract__Matrix44:T:CR"></span><span class="target" id="class_imath_1_1_euler_1a1bc20deeec56e48e0f8b7604bc52947b"></span>void <code class="sig-name descname">extract</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler7extractERK8Matrix44I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assign from <a class="reference internal" href="Matrix44.html#class_imath_1_1_matrix44"><span class="std std-ref">Matrix44</span></a>, assumed to be affine. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler7extractERK4QuatI1TE"> <span id="_CPPv3N5Imath5Euler7extractERK4QuatI1TE"></span><span id="_CPPv2N5Imath5Euler7extractERK4QuatI1TE"></span><span id="Imath::Euler::extract__Quat:T:CR"></span><span class="target" id="class_imath_1_1_euler_1ab54a591c47ab40bda21fe5e36570a651"></span>void <code class="sig-name descname">extract</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="Quat.html#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>>&<span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler7extractERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assign from Quaternion. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler10toMatrix33Ev"> <span id="_CPPv3NK5Imath5Euler10toMatrix33Ev"></span><span id="_CPPv2NK5Imath5Euler10toMatrix33Ev"></span><span id="Imath::Euler::toMatrix33C"></span><span class="target" id="class_imath_1_1_euler_1a62d6daf043f340b0a498ca90e5c5341e"></span><a class="reference internal" href="Matrix33.html#_CPPv4I0EN5Imath8Matrix33E" title="Imath::Matrix33">Matrix33</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> <code class="sig-name descname">toMatrix33</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="#_CPPv4NK5Imath5Euler10toMatrix33Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Convert to <a class="reference internal" href="Matrix33.html#class_imath_1_1_matrix33"><span class="std std-ref">Matrix33</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler10toMatrix44Ev"> <span id="_CPPv3NK5Imath5Euler10toMatrix44Ev"></span><span id="_CPPv2NK5Imath5Euler10toMatrix44Ev"></span><span id="Imath::Euler::toMatrix44C"></span><span class="target" id="class_imath_1_1_euler_1ab3b6c368306f378f02aaf35793cf1332"></span><a class="reference internal" href="Matrix44.html#_CPPv4I0EN5Imath8Matrix44E" title="Imath::Matrix44">Matrix44</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> <code class="sig-name descname">toMatrix44</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="#_CPPv4NK5Imath5Euler10toMatrix44Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Convert to <a class="reference internal" href="Matrix44.html#class_imath_1_1_matrix44"><span class="std std-ref">Matrix44</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler6toQuatEv"> <span id="_CPPv3NK5Imath5Euler6toQuatEv"></span><span id="_CPPv2NK5Imath5Euler6toQuatEv"></span><span id="Imath::Euler::toQuatC"></span><span class="target" id="class_imath_1_1_euler_1a3cfc70c3a3fa8da2e37a7f06f2bd417b"></span><a class="reference internal" href="Quat.html#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> <code class="sig-name descname">toQuat</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="#_CPPv4NK5Imath5Euler6toQuatEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Convert to <a class="reference internal" href="Quat.html#class_imath_1_1_quat"><span class="std std-ref">Quat</span></a>. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath5Euler11toXYZVectorEv"> <span id="_CPPv3NK5Imath5Euler11toXYZVectorEv"></span><span id="_CPPv2NK5Imath5Euler11toXYZVectorEv"></span><span id="Imath::Euler::toXYZVectorC"></span><span class="target" id="class_imath_1_1_euler_1aaea265c6ea53c524739d0eed43f2c421"></span><a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> <code class="sig-name descname">toXYZVector</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="#_CPPv4NK5Imath5Euler11toXYZVectorEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Reorder the angles so that the X rotation comes first, followed by the Y and Z in cases like XYX ordering, the repeated angle will be in the “z” component. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Utility Methods</p> <p>Utility methods for getting continuous rotations. None of these methods change the orientation given by its inputs (or at least that is the intent). </p> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler8makeNearERK5EulerI1TE"> <span id="_CPPv3N5Imath5Euler8makeNearERK5EulerI1TE"></span><span id="_CPPv2N5Imath5Euler8makeNearERK5EulerI1TE"></span><span id="Imath::Euler::makeNear__Euler:T:CR"></span><span class="target" id="class_imath_1_1_euler_1a05a5811682d0462efe5cd223a7fced9a"></span>void <code class="sig-name descname">makeNear</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>target</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler8makeNearERK5EulerI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Adjusts “this” <a class="reference internal" href="#class_imath_1_1_euler"><span class="std std-ref">Euler</span></a> so that its components differ from target by as little as possible. </p> <p>This method might not make sense for Eulers with different order and it probably doesn’t work for repeated axis and relative orderings (TODO). </p> </dd></dl> <dl class="cpp function"> <dt> <span class="target" id="class_imath_1_1_euler_1a4ecef8da92fbd7151f061fc21df55917"></span><code class="sig-name descname">static constexpr static float angleMod (T angle) noexcept</code></dt> <dd><p>Convert an angle to its equivalent in [-PI, PI]. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler17simpleXYZRotationER4Vec3I1TERK4Vec3I1TE"> <span id="_CPPv3N5Imath5Euler17simpleXYZRotationER4Vec3I1TERK4Vec3I1TE"></span><span id="_CPPv2N5Imath5Euler17simpleXYZRotationER4Vec3I1TERK4Vec3I1TE"></span><span id="Imath::Euler::simpleXYZRotation__Vec3:T:R.Vec3:T:CR"></span><span class="target" id="class_imath_1_1_euler_1aeefa30466bd5a902f16e91dd73e2bf86"></span><em class="property">static</em> void <code class="sig-name descname">simpleXYZRotation</code><span class="sig-paren">(</span><a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>xyzRot</em>, <em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>targetXyzRot</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler17simpleXYZRotationER4Vec3I1TERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Adjust xyzRot so that its components differ from targetXyzRot by no more than +/-PI. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath5Euler15nearestRotationER4Vec3I1TERK4Vec3I1TE5Order"> <span id="_CPPv3N5Imath5Euler15nearestRotationER4Vec3I1TERK4Vec3I1TE5Order"></span><span id="_CPPv2N5Imath5Euler15nearestRotationER4Vec3I1TERK4Vec3I1TE5Order"></span><span id="Imath::Euler::nearestRotation__Vec3:T:R.Vec3:T:CR.Order"></span><span class="target" id="class_imath_1_1_euler_1ae07beb190222bcf4db9d95ebaa544b55"></span><em class="property">static</em> void <code class="sig-name descname">nearestRotation</code><span class="sig-paren">(</span><a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>xyzRot</em>, <em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler::T">T</a>> &<em>targetXyzRot</em>, <a class="reference internal" href="#_CPPv4N5Imath5Euler5OrderE" title="Imath::Euler::Order">Order</a> <em>order</em> = <a class="reference internal" href="#_CPPv4N5Imath5Euler5Order3XYZE" title="Imath::Euler::XYZ">XYZ</a><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath5Euler15nearestRotationER4Vec3I1TERK4Vec3I1TE5Order" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Adjust xyzRot so that its components differ from targetXyzRot by as little as possible. </p> <p>Note that xyz here really means ijk, because the order must be provided. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Public Types</p> <dl class="cpp enum"> <dt id="_CPPv4N5Imath5Euler5OrderE"> <span id="_CPPv3N5Imath5Euler5OrderE"></span><span id="_CPPv2N5Imath5Euler5OrderE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040d"></span><em class="property">enum </em><code class="sig-name descname">Order</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5OrderE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>All 24 possible orderings. </p> <p><em>Values:</em></p> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3XYZE"> <span id="_CPPv3N5Imath5Euler5Order3XYZE"></span><span id="_CPPv2N5Imath5Euler5Order3XYZE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da9f5e05734bbae0bbf36eca257c4a96c8"></span><em class="property">enumerator </em><code class="sig-name descname">XYZ</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3XYZE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3XZYE"> <span id="_CPPv3N5Imath5Euler5Order3XZYE"></span><span id="_CPPv2N5Imath5Euler5Order3XZYE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da42d133dc95d8bd2b89b7457dc5d77d1e"></span><em class="property">enumerator </em><code class="sig-name descname">XZY</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3XZYE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3YZXE"> <span id="_CPPv3N5Imath5Euler5Order3YZXE"></span><span id="_CPPv2N5Imath5Euler5Order3YZXE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da1c64dad5d43df47db6dfaf76f2a5ab02"></span><em class="property">enumerator </em><code class="sig-name descname">YZX</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3YZXE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3YXZE"> <span id="_CPPv3N5Imath5Euler5Order3YXZE"></span><span id="_CPPv2N5Imath5Euler5Order3YXZE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040dab5089b18c27351d54d635f38d358db37"></span><em class="property">enumerator </em><code class="sig-name descname">YXZ</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3YXZE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3ZXYE"> <span id="_CPPv3N5Imath5Euler5Order3ZXYE"></span><span id="_CPPv2N5Imath5Euler5Order3ZXYE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040daa832972efbea994dd65dc1e9bffebf75"></span><em class="property">enumerator </em><code class="sig-name descname">ZXY</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3ZXYE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3ZYXE"> <span id="_CPPv3N5Imath5Euler5Order3ZYXE"></span><span id="_CPPv2N5Imath5Euler5Order3ZYXE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da079eec0d7b32e431452dc0d95e447ee3"></span><em class="property">enumerator </em><code class="sig-name descname">ZYX</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3ZYXE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3XZXE"> <span id="_CPPv3N5Imath5Euler5Order3XZXE"></span><span id="_CPPv2N5Imath5Euler5Order3XZXE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da09e2ea88f591739cecc5d25f0a33144c"></span><em class="property">enumerator </em><code class="sig-name descname">XZX</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3XZXE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3XYXE"> <span id="_CPPv3N5Imath5Euler5Order3XYXE"></span><span id="_CPPv2N5Imath5Euler5Order3XYXE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040dae553e56fc69716a02426062c88bb46af"></span><em class="property">enumerator </em><code class="sig-name descname">XYX</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3XYXE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3YXYE"> <span id="_CPPv3N5Imath5Euler5Order3YXYE"></span><span id="_CPPv2N5Imath5Euler5Order3YXYE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da218617f02f25fc2316c0398e3c7e2e29"></span><em class="property">enumerator </em><code class="sig-name descname">YXY</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3YXYE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3YZYE"> <span id="_CPPv3N5Imath5Euler5Order3YZYE"></span><span id="_CPPv2N5Imath5Euler5Order3YZYE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da176423a4ee7fc6f9a1eafaffdeedaf27"></span><em class="property">enumerator </em><code class="sig-name descname">YZY</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3YZYE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3ZYZE"> <span id="_CPPv3N5Imath5Euler5Order3ZYZE"></span><span id="_CPPv2N5Imath5Euler5Order3ZYZE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040dabced0c8bd8500e112deee3fa712d11e6"></span><em class="property">enumerator </em><code class="sig-name descname">ZYZ</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3ZYZE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3ZXZE"> <span id="_CPPv3N5Imath5Euler5Order3ZXZE"></span><span id="_CPPv2N5Imath5Euler5Order3ZXZE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da962bf0f471c171a1dd5da23bfa9a3452"></span><em class="property">enumerator </em><code class="sig-name descname">ZXZ</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3ZXZE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4XYZrE"> <span id="_CPPv3N5Imath5Euler5Order4XYZrE"></span><span id="_CPPv2N5Imath5Euler5Order4XYZrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da0d0fc3d5939d3b67c601bba4f625a58e"></span><em class="property">enumerator </em><code class="sig-name descname">XYZr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4XYZrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4XZYrE"> <span id="_CPPv3N5Imath5Euler5Order4XZYrE"></span><span id="_CPPv2N5Imath5Euler5Order4XZYrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040dafad16411b4659324f551d98a84d96c6d"></span><em class="property">enumerator </em><code class="sig-name descname">XZYr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4XZYrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4YZXrE"> <span id="_CPPv3N5Imath5Euler5Order4YZXrE"></span><span id="_CPPv2N5Imath5Euler5Order4YZXrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da7de84359d92e3e69c2372bb127e3da2d"></span><em class="property">enumerator </em><code class="sig-name descname">YZXr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4YZXrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4YXZrE"> <span id="_CPPv3N5Imath5Euler5Order4YXZrE"></span><span id="_CPPv2N5Imath5Euler5Order4YXZrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da5bd0a5a0534a4e3aeccb52deb02ed549"></span><em class="property">enumerator </em><code class="sig-name descname">YXZr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4YXZrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4ZXYrE"> <span id="_CPPv3N5Imath5Euler5Order4ZXYrE"></span><span id="_CPPv2N5Imath5Euler5Order4ZXYrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040daf04534ea8f095974ffbbc704424e943f"></span><em class="property">enumerator </em><code class="sig-name descname">ZXYr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4ZXYrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4ZYXrE"> <span id="_CPPv3N5Imath5Euler5Order4ZYXrE"></span><span id="_CPPv2N5Imath5Euler5Order4ZYXrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040daef45ca5f481beb2b0738e63fe4d79710"></span><em class="property">enumerator </em><code class="sig-name descname">ZYXr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4ZYXrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4XZXrE"> <span id="_CPPv3N5Imath5Euler5Order4XZXrE"></span><span id="_CPPv2N5Imath5Euler5Order4XZXrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da23dfb7ae9fe82f4daec94bc3d33b176b"></span><em class="property">enumerator </em><code class="sig-name descname">XZXr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4XZXrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4XYXrE"> <span id="_CPPv3N5Imath5Euler5Order4XYXrE"></span><span id="_CPPv2N5Imath5Euler5Order4XYXrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da09cecfa505c300b99688e2390e4c8cf2"></span><em class="property">enumerator </em><code class="sig-name descname">XYXr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4XYXrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4YXYrE"> <span id="_CPPv3N5Imath5Euler5Order4YXYrE"></span><span id="_CPPv2N5Imath5Euler5Order4YXYrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040dabc582b61e7d5dfa95183319000cf0bb4"></span><em class="property">enumerator </em><code class="sig-name descname">YXYr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4YXYrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4YZYrE"> <span id="_CPPv3N5Imath5Euler5Order4YZYrE"></span><span id="_CPPv2N5Imath5Euler5Order4YZYrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da2110d35765af94183e4d9040816be69c"></span><em class="property">enumerator </em><code class="sig-name descname">YZYr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4YZYrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4ZYZrE"> <span id="_CPPv3N5Imath5Euler5Order4ZYZrE"></span><span id="_CPPv2N5Imath5Euler5Order4ZYZrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da0f48441ee96905736e89781ba2dfdaf7"></span><em class="property">enumerator </em><code class="sig-name descname">ZYZr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4ZYZrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order4ZXZrE"> <span id="_CPPv3N5Imath5Euler5Order4ZXZrE"></span><span id="_CPPv2N5Imath5Euler5Order4ZXZrE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da4d54843f34454ca237b758caf3b1478b"></span><em class="property">enumerator </em><code class="sig-name descname">ZXZr</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order4ZXZrE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order5LegalE"> <span id="_CPPv3N5Imath5Euler5Order5LegalE"></span><span id="_CPPv2N5Imath5Euler5Order5LegalE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da3d345d0f0fe6383cb0271cc48ae7bda6"></span><em class="property">enumerator </em><code class="sig-name descname">Legal</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order5LegalE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3MinE"> <span id="_CPPv3N5Imath5Euler5Order3MinE"></span><span id="_CPPv2N5Imath5Euler5Order3MinE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da910023ef6a263bd9b01d4304276240df"></span><em class="property">enumerator </em><code class="sig-name descname">Min</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3MinE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order3MaxE"> <span id="_CPPv3N5Imath5Euler5Order3MaxE"></span><span id="_CPPv2N5Imath5Euler5Order3MaxE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da995bb41f112f04ac589cd8dae08d2ad7"></span><em class="property">enumerator </em><code class="sig-name descname">Max</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order3MaxE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler5Order7DefaultE"> <span id="_CPPv3N5Imath5Euler5Order7DefaultE"></span><span id="_CPPv2N5Imath5Euler5Order7DefaultE"></span><span class="target" id="class_imath_1_1_euler_1ae20d578d22ba221818382eef8515040da434e9982e7bc7ebd667e7851fb2aff31"></span><em class="property">enumerator </em><code class="sig-name descname">Default</code><a class="headerlink" href="#_CPPv4N5Imath5Euler5Order7DefaultE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> </dd></dl> <dl class="cpp enum"> <dt id="_CPPv4N5Imath5Euler4AxisE"> <span id="_CPPv3N5Imath5Euler4AxisE"></span><span id="_CPPv2N5Imath5Euler4AxisE"></span><span class="target" id="class_imath_1_1_euler_1a1a22f9e7e506f3bffc2849a118003d51"></span><em class="property">enum </em><code class="sig-name descname">Axis</code><a class="headerlink" href="#_CPPv4N5Imath5Euler4AxisE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Axes. </p> <p><em>Values:</em></p> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler4Axis1XE"> <span id="_CPPv3N5Imath5Euler4Axis1XE"></span><span id="_CPPv2N5Imath5Euler4Axis1XE"></span><span class="target" id="class_imath_1_1_euler_1a1a22f9e7e506f3bffc2849a118003d51a1d981104a51446d9b34dc1ae7c60dab9"></span><em class="property">enumerator </em><code class="sig-name descname">X</code><a class="headerlink" href="#_CPPv4N5Imath5Euler4Axis1XE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler4Axis1YE"> <span id="_CPPv3N5Imath5Euler4Axis1YE"></span><span id="_CPPv2N5Imath5Euler4Axis1YE"></span><span class="target" id="class_imath_1_1_euler_1a1a22f9e7e506f3bffc2849a118003d51a8d2b790c3d4e861f9d57e9e6d6201666"></span><em class="property">enumerator </em><code class="sig-name descname">Y</code><a class="headerlink" href="#_CPPv4N5Imath5Euler4Axis1YE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler4Axis1ZE"> <span id="_CPPv3N5Imath5Euler4Axis1ZE"></span><span id="_CPPv2N5Imath5Euler4Axis1ZE"></span><span class="target" id="class_imath_1_1_euler_1a1a22f9e7e506f3bffc2849a118003d51a6abded31cb513145d3d90605eb638dd0"></span><em class="property">enumerator </em><code class="sig-name descname">Z</code><a class="headerlink" href="#_CPPv4N5Imath5Euler4Axis1ZE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> </dd></dl> <dl class="cpp enum"> <dt id="_CPPv4N5Imath5Euler11InputLayoutE"> <span id="_CPPv3N5Imath5Euler11InputLayoutE"></span><span id="_CPPv2N5Imath5Euler11InputLayoutE"></span><span class="target" id="class_imath_1_1_euler_1a6b4a8ac4e6067791d52044967b7efa90"></span><em class="property">enum </em><code class="sig-name descname">InputLayout</code><a class="headerlink" href="#_CPPv4N5Imath5Euler11InputLayoutE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Layout. </p> <p><em>Values:</em></p> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler11InputLayout9XYZLayoutE"> <span id="_CPPv3N5Imath5Euler11InputLayout9XYZLayoutE"></span><span id="_CPPv2N5Imath5Euler11InputLayout9XYZLayoutE"></span><span class="target" id="class_imath_1_1_euler_1a6b4a8ac4e6067791d52044967b7efa90aee66ab2478e44f04fcf89bf7a80f4956"></span><em class="property">enumerator </em><code class="sig-name descname">XYZLayout</code><a class="headerlink" href="#_CPPv4N5Imath5Euler11InputLayout9XYZLayoutE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> <dl class="cpp enumerator"> <dt id="_CPPv4N5Imath5Euler11InputLayout9IJKLayoutE"> <span id="_CPPv3N5Imath5Euler11InputLayout9IJKLayoutE"></span><span id="_CPPv2N5Imath5Euler11InputLayout9IJKLayoutE"></span><span class="target" id="class_imath_1_1_euler_1a6b4a8ac4e6067791d52044967b7efa90ad2b55463d51feae654b71ea848ba367a"></span><em class="property">enumerator </em><code class="sig-name descname">IJKLayout</code><a class="headerlink" href="#_CPPv4N5Imath5Euler11InputLayout9IJKLayoutE" title="Permalink to this definition">¶</a><br /></dt> <dd></dd></dl> </dd></dl> </div> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK5EulerI1TE"> <span id="_CPPv3I0EN5ImathlsERNSt7ostreamERK5EulerI1TE"></span><span id="_CPPv2I0EN5ImathlsERNSt7ostreamERK5EulerI1TE"></span>template<class <code class="sig-name descname">T</code>><br /><span class="target" id="_imath_euler_8h_1abd87707fb78b8ffcca535f94f4ec5fc7"></span>std::ostream &<code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">operator<<</code><span class="sig-paren">(</span>std::ostream &<em>o</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath5EulerE" title="Imath::Euler">Euler</a><<a class="reference internal" href="#_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK5EulerI1TE" title="Imath::operator<<::T">T</a>> &<em>euler</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK5EulerI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Stream ouput, as “(x y z i j k)”. </p> </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="Color4.html" title="previous chapter">Color4</a></p> <h4>Next topic</h4> <p class="topless"><a href="Frustum.html" title="next chapter">Frustum</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/classes/Euler.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="Frustum.html" title="Frustum" >next</a> |</li> <li class="right" > <a href="Color4.html" title="Color4" >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="">Euler</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>
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генераци� �траницы: 0 |
proxy
|
phpinfo
|
�а�тройка