Файловый менеджер - Редактировать - /usr/share/doc/imath-devel/html/classes/Quat.html
�азад
<!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Quat — 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="Rand32" href="Rand32.html" /> <link rel="prev" title="Plane3" href="Plane3.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="Rand32.html" title="Rand32" accesskey="N">next</a> |</li> <li class="right" > <a href="Plane3.html" title="Plane3" 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="">Quat</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="quat"> <h1>Quat<a class="headerlink" href="#quat" title="Permalink to this headline">¶</a></h1> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#include <Imath/ImathQuat.h></span> </pre></div> </div> <p>The <code class="docutils literal notranslate"><span class="pre">Quat</span></code> class template represents a quaterion rotation/orientation, with predefined typedefs for <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/ImathQuat.h></span><span class="cp"></span> <span class="kt">void</span> <span class="nf">quat_example</span><span class="p">()</span> <span class="p">{</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Quatf</span> <span class="n">q</span> <span class="p">(</span><span class="mf">2.0f</span><span class="p">,</span> <span class="mf">3.0f</span><span class="p">,</span> <span class="mf">4.0f</span><span class="p">,</span> <span class="mf">5.0f</span><span class="p">);</span> <span class="n">assert</span> <span class="p">(</span><span class="n">q</span><span class="p">.</span><span class="n">r</span> <span class="o">==</span> <span class="mf">2.0f</span> <span class="o">&&</span> <span class="n">q</span><span class="p">.</span><span class="n">v</span> <span class="o">==</span> <span class="n">Imath</span><span class="o">::</span><span class="n">V3f</span> <span class="p">(</span><span class="mf">3.0f</span><span class="p">,</span> <span class="mf">4.0f</span><span class="p">,</span> <span class="mf">5.0f</span><span class="p">));</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Quatf</span> <span class="n">r</span> <span class="p">(</span><span class="mf">1.0f</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">1.0f</span><span class="p">);</span> <span class="n">assert</span> <span class="p">(</span><span class="n">r</span><span class="p">.</span><span class="n">inverse</span><span class="p">()</span> <span class="o">==</span> <span class="n">Imath</span><span class="o">::</span><span class="n">Quatf</span> <span class="p">(</span><span class="mf">0.5f</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.5f</span><span class="p">));</span> <span class="p">}</span> </pre></div> </div> <dl class="cpp type"> <dt id="_CPPv4N5Imath5QuatfE"> <span id="_CPPv3N5Imath5QuatfE"></span><span id="_CPPv2N5Imath5QuatfE"></span><span id="Imath::Quatf"></span><span class="target" id="_imath_quat_8h_1af1d4c5b1bcab04ef4bade87a1727a1f2"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><float> <code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Quatf</code><a class="headerlink" href="#_CPPv4N5Imath5QuatfE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Quaternion of type float. </p> </dd></dl> <dl class="cpp class"> <dt id="_CPPv4I0EN5Imath4QuatE"> <span id="_CPPv3I0EN5Imath4QuatE"></span><span id="_CPPv2I0EN5Imath4QuatE"></span>template<class <code class="sig-name descname">T</code>><br /><span class="target" id="class_imath_1_1_quat"></span><em class="property">class </em><code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">Quat</code><a class="headerlink" href="#_CPPv4I0EN5Imath4QuatE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>The <a class="reference internal" href="#class_imath_1_1_quat"><span class="std std-ref">Quat</span></a> class implements the quaternion numerical type you will probably want to use this class to represent orientations in R3 and to convert between various euler angle reps. </p> <p>You should probably use Imath::Euler<> for that. </p> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Direct access to elements</p> <dl class="cpp var"> <dt id="_CPPv4N5Imath4Quat1rE"> <span id="_CPPv3N5Imath4Quat1rE"></span><span id="_CPPv2N5Imath4Quat1rE"></span><span id="Imath::Quat::r__T"></span><span class="target" id="class_imath_1_1_quat_1aa231bdbe1d1f85495605b8c3fc0c0c32"></span><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">r</code><a class="headerlink" href="#_CPPv4N5Imath4Quat1rE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>The real part. </p> </dd></dl> <dl class="cpp var"> <dt id="_CPPv4N5Imath4Quat1vE"> <span id="_CPPv3N5Imath4Quat1vE"></span><span id="_CPPv2N5Imath4Quat1vE"></span><span id="Imath::Quat::v__Vec3:T:"></span><span class="target" id="class_imath_1_1_quat_1a04f86109e1c77dd4484af5474326158e"></span><a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">v</code><a class="headerlink" href="#_CPPv4N5Imath4Quat1vE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>The imaginary vector. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Constructors</p> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat4QuatEv"> <span id="_CPPv3N5Imath4Quat4QuatEv"></span><span id="_CPPv2N5Imath4Quat4QuatEv"></span><span id="Imath::Quat::QuatCE"></span><span class="target" id="class_imath_1_1_quat_1a8c696131486141127218adc005f6729c"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Quat</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat4QuatEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Default constructor is the identity quat. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat4QuatERK4Quat"> <span id="_CPPv3N5Imath4Quat4QuatERK4Quat"></span><span id="_CPPv2N5Imath4Quat4QuatERK4Quat"></span><span id="Imath::Quat::Quat__QuatCRCE"></span><span class="target" id="class_imath_1_1_quat_1ae2e87b024d5f4d5a13eb7f56e03f0d41"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Quat</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4N5Imath4Quat4QuatERK4Quat" title="Imath::Quat::Quat">Quat</a> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat4QuatERK4Quat" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Copy constructor. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4I0EN5Imath4Quat4QuatERK4QuatI1SE"> <span id="_CPPv3I0EN5Imath4Quat4QuatERK4QuatI1SE"></span><span id="_CPPv2I0EN5Imath4Quat4QuatERK4QuatI1SE"></span>template<class <code class="sig-name descname">S</code>><br /><span class="target" id="class_imath_1_1_quat_1aced7761e53d0e8fc8c6b8574f5f7f616"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Quat</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4Quat4QuatERK4QuatI1SE" title="Imath::Quat::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4Quat4QuatERK4QuatI1SE" title="Imath::Quat::Quat::S">S</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4I0EN5Imath4Quat4QuatERK4QuatI1SE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Construct from a quaternion of a another base type. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat4QuatE1T1T1T1T"> <span id="_CPPv3N5Imath4Quat4QuatE1T1T1T1T"></span><span id="_CPPv2N5Imath4Quat4QuatE1T1T1T1T"></span><span id="Imath::Quat::Quat__T.T.T.TCE"></span><span class="target" id="class_imath_1_1_quat_1a5d9b8183f807171e018ce75ca58a7563"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Quat</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>s</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>i</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>j</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>k</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat4QuatE1T1T1T1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Initialize with real part <code class="docutils literal notranslate"><span class="pre">s</span></code> and imaginary vector 1(i,j,k)`. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat4QuatE1T4Vec3I1TE"> <span id="_CPPv3N5Imath4Quat4QuatE1T4Vec3I1TE"></span><span id="_CPPv2N5Imath4Quat4QuatE1T4Vec3I1TE"></span><span id="Imath::Quat::Quat__T.Vec3:T:CE"></span><span class="target" id="class_imath_1_1_quat_1ad54b1e4dffcb8b9273ca34f97952bf5a"></span><em class="property">inline</em> <em class="property">constexpr</em> <code class="sig-name descname">Quat</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>s</em>, <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <em>d</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat4QuatE1T4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Initialize with real part <code class="docutils literal notranslate"><span class="pre">s</span></code> and imaginary vector <code class="docutils literal notranslate"><span class="pre">d</span></code> </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuataSERK4QuatI1TE"> <span id="_CPPv3N5Imath4QuataSERK4QuatI1TE"></span><span id="_CPPv2N5Imath4QuataSERK4QuatI1TE"></span><span id="Imath::Quat::assign-operator__Quat:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1a7a39143b2ce4f69d290465fd3e40ba49"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuataSERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Assignment. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatD0Ev"> <span id="_CPPv3N5Imath4QuatD0Ev"></span><span id="_CPPv2N5Imath4QuatD0Ev"></span><span id="Imath::Quat::~Quat"></span><span class="target" id="class_imath_1_1_quat_1a84bc7ec34ba417fa4ebe46217d58fabc"></span><code class="sig-name descname">~Quat</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em> = default<a class="headerlink" href="#_CPPv4N5Imath4QuatD0Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Destructor. </p> </dd></dl> <dl class="cpp function"> <dt> <span class="target" id="class_imath_1_1_quat_1ac2c5c740f19766a0737e490e2c38c220"></span><code class="sig-name descname">static inline constexpr static Quat< T > identity () noexcept</code></dt> <dd><p>The identity quaternion. </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Basic Algebra</p> <p>Note that the operator return values are <em>NOT</em> normalized </p> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatmLERK4QuatI1TE"> <span id="_CPPv3N5Imath4QuatmLERK4QuatI1TE"></span><span id="_CPPv2N5Imath4QuatmLERK4QuatI1TE"></span><span id="Imath::Quat::mul-assign-operator__Quat:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1afef6d79fe9394b65643c1732dcf49d96"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatmLERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Quaternion multiplication. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatmLE1T"> <span id="_CPPv3N5Imath4QuatmLE1T"></span><span id="_CPPv2N5Imath4QuatmLE1T"></span><span id="Imath::Quat::mul-assign-operator__TCE"></span><span class="target" id="class_imath_1_1_quat_1ac59e93e43de9968c5e55624c563d8741"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">operator*=</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>t</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatmLE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Scalar multiplication: multiply both real and imaginary parts by the given scalar. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatdVERK4QuatI1TE"> <span id="_CPPv3N5Imath4QuatdVERK4QuatI1TE"></span><span id="_CPPv2N5Imath4QuatdVERK4QuatI1TE"></span><span id="Imath::Quat::div-assign-operator__Quat:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1a27daa8588e593768a24b21f6069cab9a"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatdVERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Quaterion division, using the <a class="reference internal" href="#class_imath_1_1_quat_1a65cecb77e82047f20bcec0f0431c624b"><span class="std std-ref">inverse()</span></a> </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatdVE1T"> <span id="_CPPv3N5Imath4QuatdVE1T"></span><span id="_CPPv2N5Imath4QuatdVE1T"></span><span id="Imath::Quat::div-assign-operator__TCE"></span><span class="target" id="class_imath_1_1_quat_1aac8d32ef54ba24faea89761ae9d59c89"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">operator/=</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>t</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatdVE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Scalar division: multiply both real and imaginary parts by the given scalar. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatpLERK4QuatI1TE"> <span id="_CPPv3N5Imath4QuatpLERK4QuatI1TE"></span><span id="_CPPv2N5Imath4QuatpLERK4QuatI1TE"></span><span id="Imath::Quat::add-assign-operator__Quat:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1af75a64356300331dfba8fc197c0a1da9"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatpLERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Quaternion addition. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatmIERK4QuatI1TE"> <span id="_CPPv3N5Imath4QuatmIERK4QuatI1TE"></span><span id="_CPPv2N5Imath4QuatmIERK4QuatI1TE"></span><span id="Imath::Quat::sub-assign-operator__Quat:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1ad57faa427bbd34cfe882d71ee0a50527"></span><em class="property">inline</em> <em class="property">constexpr</em> <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatmIERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Quaternion subtraction. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4I0ENK5Imath4QuateqEbRK4QuatI1SE"> <span id="_CPPv3I0ENK5Imath4QuateqERK4QuatI1SE"></span><span id="_CPPv2I0ENK5Imath4QuateqERK4QuatI1SE"></span>template<class <code class="sig-name descname">S</code>><br /><span class="target" id="class_imath_1_1_quat_1aeb634f0a198fc1b9e7d5116d8f282053"></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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0ENK5Imath4QuateqEbRK4QuatI1SE" title="Imath::Quat::operator==::S">S</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4I0ENK5Imath4QuateqEbRK4QuatI1SE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Equality. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4I0ENK5Imath4QuatneEbRK4QuatI1SE"> <span id="_CPPv3I0ENK5Imath4QuatneERK4QuatI1SE"></span><span id="_CPPv2I0ENK5Imath4QuatneERK4QuatI1SE"></span>template<class <code class="sig-name descname">S</code>><br /><span class="target" id="class_imath_1_1_quat_1a840fb5694a363755f7a5d044ecf8ff82"></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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0ENK5Imath4QuatneEbRK4QuatI1SE" title="Imath::Quat::operator!=::S">S</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4I0ENK5Imath4QuatneEbRK4QuatI1SE" 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="_CPPv4NK5Imath4Quat6lengthEv"> <span id="_CPPv3NK5Imath4Quat6lengthEv"></span><span id="_CPPv2NK5Imath4Quat6lengthEv"></span><span id="Imath::Quat::lengthCCE"></span><span class="target" id="class_imath_1_1_quat_1abf89280fa4d5acf78045af8ce8010c0e"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">length</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="#_CPPv4NK5Imath4Quat6lengthEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the R4 length. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat5angleEv"> <span id="_CPPv3NK5Imath4Quat5angleEv"></span><span id="_CPPv2NK5Imath4Quat5angleEv"></span><span id="Imath::Quat::angleCCE"></span><span class="target" id="class_imath_1_1_quat_1a89d1c522d0ac1a4c0def1bfe04d4daeb"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">angle</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="#_CPPv4NK5Imath4Quat5angleEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the angle of the axis/angle representation. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat4axisEv"> <span id="_CPPv3NK5Imath4Quat4axisEv"></span><span id="_CPPv2NK5Imath4Quat4axisEv"></span><span id="Imath::Quat::axisCCE"></span><span class="target" id="class_imath_1_1_quat_1a024dfd5a47519c663978383319b984b7"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">axis</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="#_CPPv4NK5Imath4Quat4axisEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the axis of the axis/angle representation. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat10toMatrix33Ev"> <span id="_CPPv3NK5Imath4Quat10toMatrix33Ev"></span><span id="_CPPv2NK5Imath4Quat10toMatrix33Ev"></span><span id="Imath::Quat::toMatrix33CCE"></span><span class="target" id="class_imath_1_1_quat_1a54443a3f9f30170a38a72d014b1654b0"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Matrix33.html#_CPPv4I0EN5Imath8Matrix33E" title="Imath::Matrix33">Matrix33</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4NK5Imath4Quat10toMatrix33Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return a 3x3 rotation matrix. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat10toMatrix44Ev"> <span id="_CPPv3NK5Imath4Quat10toMatrix44Ev"></span><span id="_CPPv2NK5Imath4Quat10toMatrix44Ev"></span><span id="Imath::Quat::toMatrix44CCE"></span><span class="target" id="class_imath_1_1_quat_1a4eb036def37581e8aafd48c78df0ad4e"></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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::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="#_CPPv4NK5Imath4Quat10toMatrix44Ev" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return a 4x4 rotation matrix. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat3logEv"> <span id="_CPPv3NK5Imath4Quat3logEv"></span><span id="_CPPv2NK5Imath4Quat3logEv"></span><span id="Imath::Quat::logC"></span><span class="target" id="class_imath_1_1_quat_1aadc65843a937d74479bfd4a6e6412114"></span><em class="property">inline</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">log</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="#_CPPv4NK5Imath4Quat3logEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the logarithm of the quaterion. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat3expEv"> <span id="_CPPv3NK5Imath4Quat3expEv"></span><span id="_CPPv2NK5Imath4Quat3expEv"></span><span id="Imath::Quat::expC"></span><span class="target" id="class_imath_1_1_quat_1acf505ff2974244d87a17d6e19f057a11"></span><em class="property">inline</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">exp</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="#_CPPv4NK5Imath4Quat3expEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the exponent of the quaterion. </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="_CPPv4N5Imath4Quat6invertEv"> <span id="_CPPv3N5Imath4Quat6invertEv"></span><span id="_CPPv2N5Imath4Quat6invertEv"></span><span id="Imath::Quat::invertCE"></span><span class="target" id="class_imath_1_1_quat_1a5271653c37ab74f412898d8060f46de2"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">invert</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat6invertEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Invert in place: this = 1 / this. </p> <p><dl class="simple"> <dt><strong>Return</strong></dt><dd><p>const reference to this. </p> </dd> </dl> </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat7inverseEv"> <span id="_CPPv3NK5Imath4Quat7inverseEv"></span><span id="_CPPv2NK5Imath4Quat7inverseEv"></span><span id="Imath::Quat::inverseCCE"></span><span class="target" id="class_imath_1_1_quat_1a65cecb77e82047f20bcec0f0431c624b"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">inverse</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="#_CPPv4NK5Imath4Quat7inverseEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return 1/this, leaving this unchanged. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat9normalizeEv"> <span id="_CPPv3N5Imath4Quat9normalizeEv"></span><span id="_CPPv2N5Imath4Quat9normalizeEv"></span><span id="Imath::Quat::normalizeCE"></span><span class="target" id="class_imath_1_1_quat_1a9802050d06ee93ccb1529cb3f28c06c4"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">normalize</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat9normalizeEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Normalize in place. </p> <p><dl class="simple"> <dt><strong>Return</strong></dt><dd><p>const reference to this. </p> </dd> </dl> </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat10normalizedEv"> <span id="_CPPv3NK5Imath4Quat10normalizedEv"></span><span id="_CPPv2NK5Imath4Quat10normalizedEv"></span><span id="Imath::Quat::normalizedCCE"></span><span class="target" id="class_imath_1_1_quat_1a401948f19a277e5447432a56121730ca"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">normalized</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="#_CPPv4NK5Imath4Quat10normalizedEv" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return a normalized quaternion, leaving this unmodified. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat12rotateVectorERK4Vec3I1TE"> <span id="_CPPv3NK5Imath4Quat12rotateVectorERK4Vec3I1TE"></span><span id="_CPPv2NK5Imath4Quat12rotateVectorERK4Vec3I1TE"></span><span id="Imath::Quat::rotateVector__Vec3:T:CRCCE"></span><span class="target" id="class_imath_1_1_quat_1a6287f534df4273f8b158974ce9bb2411"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> <code class="sig-name descname">rotateVector</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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>original</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath4Quat12rotateVectorERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Rotate the given point by the quaterion. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4Quat21euclideanInnerProductERK4QuatI1TE"> <span id="_CPPv3NK5Imath4Quat21euclideanInnerProductERK4QuatI1TE"></span><span id="_CPPv2NK5Imath4Quat21euclideanInnerProductERK4QuatI1TE"></span><span id="Imath::Quat::euclideanInnerProduct__Quat:T:CRCCE"></span><span class="target" id="class_imath_1_1_quat_1a72011375804b2876409ff049023b45d5"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">euclideanInnerProduct</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>q</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath4Quat21euclideanInnerProductERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Return the Euclidean inner product. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat12setAxisAngleERK4Vec3I1TE1T"> <span id="_CPPv3N5Imath4Quat12setAxisAngleERK4Vec3I1TE1T"></span><span id="_CPPv2N5Imath4Quat12setAxisAngleERK4Vec3I1TE1T"></span><span id="Imath::Quat::setAxisAngle__Vec3:T:CR.TCE"></span><span class="target" id="class_imath_1_1_quat_1a1196970e52b38f06fd8c2c68951d8c0a"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">setAxisAngle</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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>axis</em>, <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <em>radians</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat12setAxisAngleERK4Vec3I1TE1T" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the quaterion to be a rotation around the given axis by the given angle. </p> <p><dl class="simple"> <dt><strong>Return</strong></dt><dd><p>const reference to this. </p> </dd> </dl> </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4N5Imath4Quat11setRotationERK4Vec3I1TERK4Vec3I1TE"> <span id="_CPPv3N5Imath4Quat11setRotationERK4Vec3I1TERK4Vec3I1TE"></span><span id="_CPPv2N5Imath4Quat11setRotationERK4Vec3I1TERK4Vec3I1TE"></span><span id="Imath::Quat::setRotation__Vec3:T:CR.Vec3:T:CRCE"></span><span class="target" id="class_imath_1_1_quat_1a3490f6493b389aebf4acf5e132f94b86"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<code class="sig-name descname">setRotation</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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>fromDirection</em>, <em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a><<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>> &<em>toDirection</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4Quat11setRotationERK4Vec3I1TERK4Vec3I1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Set the quaternion to be a rotation that transforms the direction vector <code class="docutils literal notranslate"><span class="pre">fromDirection</span></code> to <code class="docutils literal notranslate"><span class="pre">toDirection</span></code> </p> <p><dl class="simple"> <dt><strong>Return</strong></dt><dd><p>const reference to this. </p> </dd> </dl> </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Public Types</p> <dl class="cpp type"> <dt id="_CPPv4N5Imath4Quat8BaseTypeE"> <span id="_CPPv3N5Imath4Quat8BaseTypeE"></span><span id="_CPPv2N5Imath4Quat8BaseTypeE"></span><span id="Imath::Quat::BaseType"></span><span class="target" id="class_imath_1_1_quat_1a2e2568361cad64b9d8fce52e34163cf3"></span><em class="property">typedef </em><a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">BaseType</code><a class="headerlink" href="#_CPPv4N5Imath4Quat8BaseTypeE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>The base type: In templates that accept a parameter <code class="docutils literal notranslate"><span class="pre">V</span></code>, you can refer to <code class="docutils literal notranslate"><span class="pre">T</span></code> as <code class="docutils literal notranslate"><span class="pre">V::BaseType</span></code> </p> </dd></dl> </div> <div class="breathe-sectiondef docutils container"> <p class="breathe-sectiondef-title rubric">Public Functions</p> <dl class="cpp function"> <dt id="_CPPv4N5Imath4QuatixEi"> <span id="_CPPv3N5Imath4QuatixEi"></span><span id="_CPPv2N5Imath4QuatixEi"></span><span id="Imath::Quat::subscript-operator__iCE"></span><span class="target" id="class_imath_1_1_quat_1a0ae2c1fdb45f90bd20a541a613d612eb"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> &<code class="sig-name descname">operator[]</code><span class="sig-paren">(</span>int <em>index</em><span class="sig-paren">)</span> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4N5Imath4QuatixEi" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Element access: q[0] is the real part, (q[1],q[2],q[3]) is the imaginary part. </p> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4NK5Imath4QuatixEi"> <span id="_CPPv3NK5Imath4QuatixEi"></span><span id="_CPPv2NK5Imath4QuatixEi"></span><span id="Imath::Quat::subscript-operator__iCCE"></span><span class="target" id="class_imath_1_1_quat_1aa6e5a019087c482aebe857297b47f32d"></span><em class="property">inline</em> <em class="property">constexpr</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a> <code class="sig-name descname">operator[]</code><span class="sig-paren">(</span>int <em>index</em><span class="sig-paren">)</span> <em class="property">const</em> <em class="property">noexcept</em><a class="headerlink" href="#_CPPv4NK5Imath4QuatixEi" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Element access: q[0] is the real part, (q[1],q[2],q[3]) is the imaginary part. </p> </dd></dl> </div> </dd></dl> <dl class="cpp function"> <dt id="_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK4QuatI1TE"> <span id="_CPPv3I0EN5ImathlsERNSt7ostreamERK4QuatI1TE"></span><span id="_CPPv2I0EN5ImathlsERNSt7ostreamERK4QuatI1TE"></span>template<class <code class="sig-name descname">T</code>><br /><span class="target" id="_imath_quat_8h_1a2ca2f4c133606835378eb439ee4bf070"></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="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a><<a class="reference internal" href="#_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK4QuatI1TE" title="Imath::operator<<::T">T</a>> &<em>q</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK4QuatI1TE" title="Permalink to this definition">¶</a><br /></dt> <dd><p>Stream output as “(r x y z)”. </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="Plane3.html" title="previous chapter">Plane3</a></p> <h4>Next topic</h4> <p class="topless"><a href="Rand32.html" title="next chapter">Rand32</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/classes/Quat.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="Rand32.html" title="Rand32" >next</a> |</li> <li class="right" > <a href="Plane3.html" title="Plane3" >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="">Quat</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
|
�а�тройка