|
|
<!-- 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
 <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> <span class="preprocessor">#ifndef colors_HSL_Space_H__</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <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> <span class="preprocessor"></span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="Color3__Space_8h.html">Color3_Space.h</a>"</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "<a class="code" href="RGB__Space_8h.html">RGB_Space.h</a>"</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="YUV__Space_8h.html">YUV_Space.h</a>"</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "../geo/Vectors.h"</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "../math/utility.h"</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <cstdlib></span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">namespace </span>meow {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html"> 22</a></span> <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><double> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <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>  <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><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>( 0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(<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>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>( 0.0, 0.0, 0.0)) {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  }</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#aa210413146f56ae8106649f879139128"> 28</a></span>  <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><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>( 0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(<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>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>( c, c, c))</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  { }</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ad7dea28eaf17078b39008e96b7df7d8f"> 32</a></span>  <a class="code" href="classmeow_1_1HSLf__Space.html#a5920c0fc93e0481957c629c47d302849">HSLf_Space</a>(<a class="code" href="classmeow_1_1Vector3D.html">Vector3D<double></a> <span class="keyword">const</span>& v):</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(0.0, 0.0, 0.0),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(1.0, 1.0, 1.0),</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="classmeow_1_1Vector3D.html" title="3D's vector">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(v)) {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a5c5eb948c40916f2f49c5004d84776b5"> 37</a></span>  <a class="code" href="classmeow_1_1HSLf__Space.html#a5c5eb948c40916f2f49c5004d84776b5">HSLf_Space</a>(HSL_Space <span class="keyword">const</span>& b): <a class="code" href="classmeow_1_1Color3__Space.html" title="以三個channel所組成的色彩空間">Color3_Space</a><<a class="code" href="classdouble.html">double</a>>(b) {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a1859ba937aa097dcd627b7b2349a262f"> 39</a></span>  <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>  }</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#ae97959215ff50cc62af6a309226a0061"> 41</a></span>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span> <span class="keyword">const</span>& <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>  <span class="keywordtype">double</span>& <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>  <span class="keywordtype">double</span>& <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>  <span class="keywordtype">double</span>& <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>  <span class="keywordtype">double</span>& <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>  <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#a3d4ccb8d33991e2edb64904669d2a21c">operator=</a>(<a class="code" href="classmeow_1_1HSLf__Space.html" title="以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間">HSLf_Space</a> <span class="keyword">const</span>& b) {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <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>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a98d1df6b95a2893d02251119ef186b02"> 65</a></span>  <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>& b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <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>  }</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#aa6fcf6ef67c2f37e998486e36dc4a0aa"> 68</a></span>  <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>& b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <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>  }</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a4cdbbac5bcfbcd5546e41d1c1480fad4"> 71</a></span>  <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>& c)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <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>  }</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#a88eb3f94b211a3e29c80c334f0f8e963"> 74</a></span>  <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>& c)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <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>  }</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classmeow_1_1HSLf__Space.html#abc883a59f2eeeffc84a9560558cd6619"> 77</a></span>  <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>& b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <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>  }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> };</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601"> 85</a></span> <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>& 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>  <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>  <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>  <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>  <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>  <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>  <span class="keywordtype">double</span> h, s, l;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">if</span> (mx == mn ) h = 0;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r && g >= 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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r && g < 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>  <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>  <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>  l = 0.5 * (mx + mn);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">if</span> (l == 0 || mx == mn) s = 0;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(l < 0.5 ) s = (mx - mn) / (2.0 * l);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <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>  hsl-><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>  hsl-><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>  hsl-><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> }</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="namespacemeow.html#a7f2b465df93750016d3ff54b2adce77b"> 109</a></span> <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>& 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>  <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>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(yuv, &tmp);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <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> }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="namespacemeow.html#ad429f8a956d1f0e1484d08bb9419685b"> 118</a></span> <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>& 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>  <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>  <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>  <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>  <span class="keywordflow">if</span>(s == 0){</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  rgb-><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-><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>(), l));</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  rgb-><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-><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>(), l));</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  rgb-><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-><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>(), l));</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  return ;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">double</span> q = (l < 0.5 ? (l * (1 + s)) : (l + s - (l * s)));</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">double</span> p = 2 * l - q;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <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>  <span class="keywordtype">double</span> t_g = h;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <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>  <span class="keywordflow">if</span>(t_r < 0) t_r = t_r + 1.0;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">if</span>(t_r > 1) t_r = t_r - 1.0;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">if</span>(t_g < 0) t_g = t_g + 1.0;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span>(t_g > 1) t_g = t_g - 1.0;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span>(t_b < 0) t_b = t_b + 1.0;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span>(t_b > 1) t_b = t_b - 1.0;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">double</span> r, g, b;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (t_r < 1.0 / 6.0) r = p + (q - p) * 6 * t_r;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_r < 0.5 ) r = q;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_r < 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>  <span class="keywordflow">else</span> r = p;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (t_g < 1.0 / 6.0) g = p + (q - p) * 6 * t_g;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_g < 0.5 ) g = q;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_g < 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>  <span class="keywordflow">else</span> g = p;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (t_b < 1.0 / 6.0) b = p + (q - p) * 6 * t_b;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_b < 0.5 ) b = q;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_b < 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>  <span class="keywordflow">else</span> b = p;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  rgb-><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-><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>(), r));</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  rgb-><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-><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>(), g));</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  rgb-><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-><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>(), b));</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="namespacemeow.html#a4c39f0ec6860546a7b16e3f165bed83e"> 160</a></span> <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>& 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>  <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>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(hsl, &tmp);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <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> }</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="namespacemeow.html#a992d4c33aed66c0d4d7f578ef92dfa15"> 169</a></span> <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>& 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>  <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>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601" title="RGBf_Space to HSLf_Space ">colorTransformate</a>(hsl, &tmp);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  rgb-><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> }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="namespacemeow.html#ae9b7bb880aa5b6dfebd523a6b344a4f1"> 179</a></span> <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>& 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>  <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>  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>  <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> }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> } <span class="comment">// meow</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <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>
|