aboutsummaryrefslogblamecommitdiffstats
path: root/doc/html/HSL__Space_8h_source.html
blob: 0731371f59a6953ab817b0b76745855657abaa42 (plain) (tree)































































                                                                                                                                                                                                                                                



                                                                                                                                                                                                    

































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                    





                                                                           
<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Templates -- Meow: meowpp/colors/HSL_Space.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<link href="custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Templates -- Meow
   &#160;<span id="projectnumber">1.1.2</span>
   </div>
   <div id="projectbrief">不能,也不應該先編譯成obj-file的templates</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">HSL_Space.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="HSL__Space_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef   colors_HSL_Space_H__</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define   colors_HSL_Space_H__</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Color3__Space_8h.html">Color3_Space.h</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="RGB__Space_8h.html">RGB_Space.h</a>&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="YUV__Space_8h.html">YUV_Space.h</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;../geo/Vectors.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;../math/utility.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">namespace </span>meow {</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html">   22</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a>: <span class="keyword">public</span> <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a>&lt;double&gt; {</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">   24</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(): <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(<a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(   0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                                     <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(<a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>*2.0, 1.0, 1.0),</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                                     <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(   0.0, 0.0, 0.0)) {</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  }</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#aa210413146f56ae8106649f879139128">   28</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<span class="keywordtype">double</span> c): <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(<a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(   0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                                             <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(<a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>*2.0, 1.0, 1.0),</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                                             <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(     c,   c,   c))</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  { }</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ad7dea28eaf17078b39008e96b7df7d8f">   32</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Vector3D.html">Vector3D&lt;double&gt;</a> <span class="keyword">const</span>&amp; v):</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(<a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                       <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(1.0, 1.0, 1.0),</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                       <a class="code" href="classmeow_1_1Vector3D.html" title="3D&#39;s vector">Vector3D</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(v)) {</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  }</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a5c5eb948c40916f2f49c5004d84776b5">   37</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html#a5c5eb948c40916f2f49c5004d84776b5">HSLf_Space</a>(HSL_Space <span class="keyword">const</span>&amp; b): <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a>&lt;<a class="code" href="classdouble.html">double</a>&gt;(b) {</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  }</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a1859ba937aa097dcd627b7b2349a262f">   39</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html#a1859ba937aa097dcd627b7b2349a262f">~HSLf_Space</a>() {</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  }</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae97959215ff50cc62af6a309226a0061">   41</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#ae97959215ff50cc62af6a309226a0061">hslMin</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#a3351aea64c4ca1596694d6b95dce56df">min</a>(i); }</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae8cdb0610e7c4c7c8cae0071e89190a1">   42</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#ae8cdb0610e7c4c7c8cae0071e89190a1">hMin</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#a3351aea64c4ca1596694d6b95dce56df">min</a>(0); }</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#aa6f73697310484b178c2dac3acdf4f4b">   43</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#aa6f73697310484b178c2dac3acdf4f4b">sMin</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#a3351aea64c4ca1596694d6b95dce56df">min</a>(1); }</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a41ab2ddd1544632a138e2660e4c9152a">   44</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a41ab2ddd1544632a138e2660e4c9152a">lMin</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#a3351aea64c4ca1596694d6b95dce56df">min</a>(2); }</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a93487838e17ee5ff1e586d0253ada7c6">   45</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#a93487838e17ee5ff1e586d0253ada7c6">hslMax</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#aa6661a1aaaf985a4b2d68db88ec93d2f">max</a>(i); }</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a145882c607f9029859eb418ce979b64c">   46</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a145882c607f9029859eb418ce979b64c">hMax</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#aa6661a1aaaf985a4b2d68db88ec93d2f">max</a>(0); }</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ac04d25efca77d6e53ddb5de801593ea2">   47</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#ac04d25efca77d6e53ddb5de801593ea2">sMax</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#aa6661a1aaaf985a4b2d68db88ec93d2f">max</a>(1); }</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a93c3d32fd0bc4aab24835409688cdf72">   48</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a93c3d32fd0bc4aab24835409688cdf72">lMax</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#aa6661a1aaaf985a4b2d68db88ec93d2f">max</a>(2); }</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">   49</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#af08839264f6ea6dc50cf6175d26afa6e">val</a>(i); }</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">   50</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">h</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(0); }</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a8f7487b203cd3be19b08a6c80d33d5d2">   51</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a8f7487b203cd3be19b08a6c80d33d5d2">s</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(1); }</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">   52</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">l</a>(        )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(2); }</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a28f6cd1737415fb043fccacc39686efe">   53</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#a28f6cd1737415fb043fccacc39686efe">hsl</a>(<span class="keywordtype">size_t</span> i, <span class="keywordtype">double</span> c) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#af08839264f6ea6dc50cf6175d26afa6e">val</a>(i, c); }</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a8379a7dec9f95eac7908b6b4c0aff98e">   54</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a8379a7dec9f95eac7908b6b4c0aff98e">h</a>(          <span class="keywordtype">double</span> c) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(0, c); }</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae6de1c7bf42d04c0f982a58df3bdb4d3">   55</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#ae6de1c7bf42d04c0f982a58df3bdb4d3">s</a>(          <span class="keywordtype">double</span> c) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(1, c); }</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a639c043bb6ba788ad2ea183e59643cdf">   56</a></span>&#160;  <span class="keywordtype">double</span> <span class="keyword">const</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a639c043bb6ba788ad2ea183e59643cdf">l</a>(          <span class="keywordtype">double</span> c) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a7bfcdff0e263e1fc668378e62fcc7bbe">hsl</a>(2, c); }</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae5299a5b58224fcf600812cbcebb7031">   57</a></span>&#160;  <span class="keywordtype">double</span>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#ae5299a5b58224fcf600812cbcebb7031">hslGet</a>(<span class="keywordtype">size_t</span> i) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#ac2efb0be959fc60f786bdcdc8a1fd8b2">valGet</a>(i); }</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a12fa00864b6e4ed1b129f3d98506772d">   58</a></span>&#160;  <span class="keywordtype">double</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a12fa00864b6e4ed1b129f3d98506772d">hGet</a>(        ) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#ae5299a5b58224fcf600812cbcebb7031">hslGet</a>(0); }</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#adb7cc82245b20e389d02224ac99444f2">   59</a></span>&#160;  <span class="keywordtype">double</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#adb7cc82245b20e389d02224ac99444f2">sGet</a>(        ) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#ae5299a5b58224fcf600812cbcebb7031">hslGet</a>(1); }</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a5dd4d3ea93f86b627d51936b7388da44">   60</a></span>&#160;  <span class="keywordtype">double</span>&amp;   <a class="code" href="classmeow_1_1HSLf__Space.html#a5dd4d3ea93f86b627d51936b7388da44">lGet</a>(        ) { <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#ae5299a5b58224fcf600812cbcebb7031">hslGet</a>(2); }</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a3d4ccb8d33991e2edb64904669d2a21c">   61</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a>&amp; <a class="code" href="classmeow_1_1HSLf__Space.html#a3d4ccb8d33991e2edb64904669d2a21c">operator=</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; b) {</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <a class="code" href="classmeow_1_1Color3__Space.html#aa5c43cb67d674223a0a2361ac8de55c1">copyFrom</a>(b);</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  }</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a98d1df6b95a2893d02251119ef186b02">   65</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <a class="code" href="classmeow_1_1HSLf__Space.html#a98d1df6b95a2893d02251119ef186b02">operator+</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a> + b.<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a>);</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  }</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#aa6fcf6ef67c2f37e998486e36dc4a0aa">   68</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <a class="code" href="classmeow_1_1HSLf__Space.html#aa6fcf6ef67c2f37e998486e36dc4a0aa">operator-</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a> - b.<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a>);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  }</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a4cdbbac5bcfbcd5546e41d1c1480fad4">   71</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <a class="code" href="classmeow_1_1HSLf__Space.html#a4cdbbac5bcfbcd5546e41d1c1480fad4">operator*</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; c)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a> * c);</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  }</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a88eb3f94b211a3e29c80c334f0f8e963">   74</a></span>&#160;  <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <a class="code" href="classmeow_1_1HSLf__Space.html#a88eb3f94b211a3e29c80c334f0f8e963">operator/</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; c)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a> / c);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  }</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#abc883a59f2eeeffc84a9560558cd6619">   77</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1HSLf__Space.html#abc883a59f2eeeffc84a9560558cd6619">operator*</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a> * b.<a class="code" href="classmeow_1_1Color3__Space.html#aa134d705ea25b1f64db8bef07d1757ae">val_</a>;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;};</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">   85</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a> <span class="keyword">const</span>&amp; rgb, <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a>* hsl) {</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keywordtype">double</span> r = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#aee2f300ff0ae724890d3d80d0cb7cbc3">rMin</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#af473ccd4b8202097640ba9f19428caef">rMax</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">r</a>());</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keywordtype">double</span> g = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#aeb0cd2d681af6a70861ff371bf596e17">gMin</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#a65d8088fb8b755f0b3f173dcda552789">gMax</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#ad25036799ca38983cdb74ed6b4245d51">g</a>());</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordtype">double</span> b = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#a130bbee98fdd279a415e18aa0ca2f13c">bMin</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#a029c3bd52ae818462558742dc2be0904">bMax</a>(), rgb.<a class="code" href="classmeow_1_1RGBf__Space.html#a8a0a6daacecfbd1769cbdb321988ab88">b</a>());</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordtype">double</span> mx = std::max(std::max(r, g), b);</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keywordtype">double</span> mn = std::min(std::min(r, g), b);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordtype">double</span> h, s, l;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keywordflow">if</span>     (mx == mn         ) h = 0;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r &amp;&amp; g &gt;= b) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0 * (g-b) / (mx-mn);</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r &amp;&amp; g &lt;  b) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0 * (g-b) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a> * 2.0;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == g          ) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0 * (b-r) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0*2.0;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordflow">else</span>                       h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0 * (r-g) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76" title="圓周率...">PI</a>/3.0*4.0;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  l = 0.5 * (mx + mn);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keywordflow">if</span>     (l == 0   || mx == mn) s = 0;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(l &lt;  0.5            ) s = (mx - mn) / (2.0 * l);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordflow">else</span>                          s = (mx - mn) / (2 - 2.0 * l);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  hsl-&gt;<a class="code" href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">h</a>(h);</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  hsl-&gt;<a class="code" href="classmeow_1_1HSLf__Space.html#a8f7487b203cd3be19b08a6c80d33d5d2">s</a>(s);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  hsl-&gt;<a class="code" href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">l</a>(l);</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="namespacemeow.html#a7f2b465df93750016d3ff54b2adce77b">  109</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1YUVf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">YUVf_Space</a> <span class="keyword">const</span>&amp; yuv, <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a>* hsl) {</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a> tmp;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(yuv, &amp;tmp);</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(tmp, hsl);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="namespacemeow.html#ad429f8a956d1f0e1484d08bb9419685b">  118</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; hsl, <a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a>* rgb) {</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keywordtype">double</span> h = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#ae8cdb0610e7c4c7c8cae0071e89190a1">hMin</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#a145882c607f9029859eb418ce979b64c">hMax</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">h</a>());</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keywordtype">double</span> s = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#aa6f73697310484b178c2dac3acdf4f4b">sMin</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#ac04d25efca77d6e53ddb5de801593ea2">sMax</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#a8f7487b203cd3be19b08a6c80d33d5d2">s</a>());</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keywordtype">double</span> l = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca" title="(value-lower)/(upper-lower)">normalize</a>(hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#a41ab2ddd1544632a138e2660e4c9152a">lMin</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#a93c3d32fd0bc4aab24835409688cdf72">lMax</a>(), hsl.<a class="code" href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">l</a>());</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keywordflow">if</span>(s == 0){</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#aee2f300ff0ae724890d3d80d0cb7cbc3">rMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#af473ccd4b8202097640ba9f19428caef">rMax</a>(), l));</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#ad25036799ca38983cdb74ed6b4245d51">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#aeb0cd2d681af6a70861ff371bf596e17">gMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a65d8088fb8b755f0b3f173dcda552789">gMax</a>(), l));</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a8a0a6daacecfbd1769cbdb321988ab88">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a130bbee98fdd279a415e18aa0ca2f13c">bMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a029c3bd52ae818462558742dc2be0904">bMax</a>(), l));</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    return ;</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  }</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">double</span> q = (l &lt; 0.5 ? (l * (1 + s)) : (l + s - (l * s)));</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">double</span> p = 2 * l - q;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">double</span> t_r = h + 1.0 / 3.0;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="keywordtype">double</span> t_g = h;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">double</span> t_b = h - 1.0 / 3.0;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keywordflow">if</span>(t_r &lt; 0) t_r = t_r + 1.0;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <span class="keywordflow">if</span>(t_r &gt; 1) t_r = t_r - 1.0;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordflow">if</span>(t_g &lt; 0) t_g = t_g + 1.0;</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keywordflow">if</span>(t_g &gt; 1) t_g = t_g - 1.0;</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keywordflow">if</span>(t_b &lt; 0) t_b = t_b + 1.0;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keywordflow">if</span>(t_b &gt; 1) t_b = t_b - 1.0;</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordtype">double</span> r, g, b;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="keywordflow">if</span>     (t_r &lt; 1.0 / 6.0) r = p + (q - p) * 6 * t_r;</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_r &lt; 0.5      ) r = q;</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_r &lt; 2.0 / 3.0) r = p + (q - p) * 6 * (2.0 / 3.0 - t_r);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordflow">else</span>                     r = p;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keywordflow">if</span>     (t_g &lt; 1.0 / 6.0) g = p + (q - p) * 6 * t_g;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_g &lt; 0.5      ) g = q;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_g &lt; 2.0 / 3.0) g = p + (q - p) * 6 * (2.0 / 3.0 - t_g);</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keywordflow">else</span>                     g = p;</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keywordflow">if</span>     (t_b &lt; 1.0 / 6.0) b = p + (q - p) * 6 * t_b;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_b &lt; 0.5      ) b = q;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_b &lt; 2.0 / 3.0) b = p + (q - p) * 6 * (2.0 / 3.0 - t_b);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="keywordflow">else</span>                     b = p;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#aee2f300ff0ae724890d3d80d0cb7cbc3">rMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#af473ccd4b8202097640ba9f19428caef">rMax</a>(), r));</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#ad25036799ca38983cdb74ed6b4245d51">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#aeb0cd2d681af6a70861ff371bf596e17">gMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a65d8088fb8b755f0b3f173dcda552789">gMax</a>(), g));</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a8a0a6daacecfbd1769cbdb321988ab88">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080" title="(lower+_ratio*(upper-lower))">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a130bbee98fdd279a415e18aa0ca2f13c">bMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGBf__Space.html#a029c3bd52ae818462558742dc2be0904">bMax</a>(), b));</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;}</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="namespacemeow.html#a4c39f0ec6860546a7b16e3f165bed83e">  160</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; hsl, <a class="code" href="classmeow_1_1YUVf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">YUVf_Space</a>* yuv) {</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a> tmp;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(hsl, &amp;tmp);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(tmp, yuv);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;}</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="namespacemeow.html#a992d4c33aed66c0d4d7f578ef92dfa15">  169</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>&amp; hsl, <a class="code" href="classmeow_1_1RGBi__Space.html" title="以整數 Red, Green, Blue 三個值所組成的色彩空間">RGBi_Space</a>* rgb) {</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a> tmp;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(hsl, &amp;tmp);</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  rgb-&gt;<a class="code" href="classmeow_1_1Color3__Space.html#aa5c43cb67d674223a0a2361ac8de55c1">copyFrom</a>(tmp);</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="namespacemeow.html#ae9b7bb880aa5b6dfebd523a6b344a4f1">  179</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBi__Space.html" title="以整數 Red, Green, Blue 三個值所組成的色彩空間">RGBi_Space</a> <span class="keyword">const</span>&amp; rgb, <a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a>* hsl) {</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <a class="code" href="classmeow_1_1RGBf__Space.html" title="以浮點數Red, Green, Blue 三個值所組成的色彩空間">RGBf_Space</a> tmp;</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  tmp.<a class="code" href="classmeow_1_1Color3__Space.html#aa5c43cb67d674223a0a2361ac8de55c1">copyFrom</a>(rgb);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(rgb, hsl);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;}</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;} <span class="comment">// meow</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#endif // colors_HSL_Space_H__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.3.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_92fecd8d02dd5e7a67429447fdf0f60f.html">meowpp</a></li><li class="navelem"><a class="el" href="dir_f6840b2fecd08a3779df34f0add0e074.html">colors</a></li><li class="navelem"><a class="el" href="HSL__Space_8h.html">HSL_Space.h</a></li>
    <li class="footer">Generated on Fri Jun 6 2014 17:51:46 for Templates -- Meow by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
  </ul>
</div>
</body>
</html>