%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/thread-self/root/proc/self/root/usr/share/doc/imath-devel/html/classes/
Upload File :
Create Path :
Current File : //proc/thread-self/root/proc/self/root/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 &#8212; 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> &#187;</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 &lt;Imath/ImathQuat.h&gt;</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">&lt;Imath/ImathQuat.h&gt;</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">&amp;&amp;</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>&lt;float&gt; <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&lt;class <code class="sig-name descname">T</code>&gt;<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&lt;&gt; 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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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> &amp;<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&lt;class <code class="sig-name descname">S</code>&gt;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4Quat4QuatERK4QuatI1SE" title="Imath::Quat::Quat::S">S</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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&lt; T &gt; 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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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&lt;class <code class="sig-name descname">S</code>&gt;<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>&lt;<a class="reference internal" href="#_CPPv4I0ENK5Imath4QuateqEbRK4QuatI1SE" title="Imath::Quat::operator==::S">S</a>&gt; &amp;<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&lt;class <code class="sig-name descname">S</code>&gt;<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>&lt;<a class="reference internal" href="#_CPPv4I0ENK5Imath4QuatneEbRK4QuatI1SE" title="Imath::Quat::operator!=::S">S</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; <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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<em>fromDirection</em>, <em class="property">const</em> <a class="reference internal" href="Vec3.html#_CPPv4I0EN5Imath4Vec3E" title="Imath::Vec3">Vec3</a>&lt;<a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat::T">T</a>&gt; &amp;<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> &amp;<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&lt;class <code class="sig-name descname">T</code>&gt;<br /><span class="target" id="_imath_quat_8h_1a2ca2f4c133606835378eb439ee4bf070"></span>std::ostream &amp;<code class="sig-prename descclassname">Imath<code class="sig-prename descclassname">::</code></code><code class="sig-name descname">operator&lt;&lt;</code><span class="sig-paren">(</span>std::ostream &amp;<em>o</em>, <em class="property">const</em> <a class="reference internal" href="#_CPPv4I0EN5Imath4QuatE" title="Imath::Quat">Quat</a>&lt;<a class="reference internal" href="#_CPPv4I0EN5ImathlsERNSt7ostreamERNSt7ostreamERK4QuatI1TE" title="Imath::operator&lt;&lt;::T">T</a>&gt; &amp;<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> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">Quat</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2021, Contributors to the OpenEXR Project.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.4.3.
    </div>
  </body>
</html>

Zerion Mini Shell 1.0