diff options
Diffstat (limited to 'doc/html/HSL__Space_8h_source.html')
-rw-r--r-- | doc/html/HSL__Space_8h_source.html | 196 |
1 files changed, 100 insertions, 96 deletions
diff --git a/doc/html/HSL__Space_8h_source.html b/doc/html/HSL__Space_8h_source.html index 4d13ede..8f7f375 100644 --- a/doc/html/HSL__Space_8h_source.html +++ b/doc/html/HSL__Space_8h_source.html @@ -28,7 +28,7 @@ <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> <td style="padding-left: 0.5em;"> <div id="projectname">Templates -- Meow -  <span id="projectnumber">204.13.18</span> +  <span id="projectnumber">1.2.9</span> </div> <div id="projectbrief">A C++ template contains kinds of interesting classes and functions</div> </td> @@ -74,9 +74,9 @@ $(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');}); <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="line" href="classmeow_1_1HSLf__Space.html"> 22</a></span> <span class="keyword">class </span><a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a>: <span class="keyword">public</span> <a class="code" href="classmeow_1_1Color3__Space.html">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="line" 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">Color3_Space</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html">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">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">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">Vector3D</a><<a class="code" href="classdouble.html">double</a>>( 0.0, 0.0, 0.0)) {</div> +<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" 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">Color3_Space</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html">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">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">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">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="line" href="classmeow_1_1HSLf__Space.html#aa210413146f56ae8106649f879139128"> 28</a></span>  <a class="code" href="classmeow_1_1HSLf__Space.html#aa210413146f56ae8106649f879139128">HSLf_Space</a>(<span class="keywordtype">double</span> c): <a class="code" href="classmeow_1_1Color3__Space.html">Color3_Space</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="classmeow_1_1Vector3D.html">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">Vector3D</a><<a class="code" href="classdouble.html">double</a>>(<a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>*2.0, 1.0, 1.0),</div> @@ -132,95 +132,99 @@ $(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');}); <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="line" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601"> 85</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> <span class="keyword">const</span>& rgb, <a class="code" href="classmeow_1_1HSLf__Space.html">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">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">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">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">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">PI</a>/3.0 * (g-b) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">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">PI</a>/3.0 * (b-r) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">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">PI</a>/3.0 * (r-g) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">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="line" href="namespacemeow.html#a7f2b465df93750016d3ff54b2adce77b"> 109</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1YUVf__Space.html">YUVf_Space</a> <span class="keyword">const</span>& yuv, <a class="code" href="classmeow_1_1HSLf__Space.html">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">RGBf_Space</a> tmp;</div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(yuv, &tmp);</div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">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="line" href="namespacemeow.html#ad429f8a956d1f0e1484d08bb9419685b"> 118</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1RGBf__Space.html">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">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">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">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">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">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">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">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">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">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="line" href="namespacemeow.html#a4c39f0ec6860546a7b16e3f165bed83e"> 160</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1YUVf__Space.html">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">RGBf_Space</a> tmp;</div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(hsl, &tmp);</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">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="line" href="namespacemeow.html#a992d4c33aed66c0d4d7f578ef92dfa15"> 169</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1RGBi__Space.html">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">RGBf_Space</a> tmp;</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">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="line" href="namespacemeow.html#ae9b7bb880aa5b6dfebd523a6b344a4f1"> 179</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBi__Space.html">RGBi_Space</a> <span class="keyword">const</span>& rgb, <a class="code" href="classmeow_1_1HSLf__Space.html">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">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">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 class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be"> 85</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& in, <a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a>* out) {</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  *out = in;</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div> +<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601"> 92</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> <span class="keyword">const</span>& rgb, <a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a>* hsl) {</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">double</span> r = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00094"></a><span class="lineno"> 94</span>  <span class="keywordtype">double</span> g = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">double</span> b = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">double</span> mx = std::max(std::max(r, g), b);</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">double</span> mn = std::min(std::min(r, g), b);</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordtype">double</span> h, s, l;</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span> (mx == mn ) h = 0;</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r && g >= b) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0 * (g-b) / (mx-mn);</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == r && g < b) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0 * (g-b) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a> * 2.0;</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mx == g ) h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0 * (b-r) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0*2.0;</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">else</span> h = <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0 * (r-g) / (mx-mn) + <a class="code" href="namespacemeow.html#aa86d5920087a4e73078b759bc3996f76">PI</a>/3.0*4.0;</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  l = 0.5 * (mx + mn);</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (l == 0 || mx == mn) s = 0;</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</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="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">else</span> s = (mx - mn) / (2 - 2.0 * l);</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  hsl-><a class="code" href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">h</a>(h);</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  hsl-><a class="code" href="classmeow_1_1HSLf__Space.html#a8f7487b203cd3be19b08a6c80d33d5d2">s</a>(s);</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  hsl-><a class="code" href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">l</a>(l);</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="namespacemeow.html#a7f2b465df93750016d3ff54b2adce77b"> 116</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1YUVf__Space.html">YUVf_Space</a> <span class="keyword">const</span>& yuv, <a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a>* hsl) {</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> tmp;</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(yuv, &tmp);</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(tmp, hsl);</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div> +<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="namespacemeow.html#ad429f8a956d1f0e1484d08bb9419685b"> 125</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a>* rgb) {</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">double</span> h = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">double</span> s = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">double</span> l = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">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="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span>(s == 0){</div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00131"></a><span class="lineno"> 131</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#ad25036799ca38983cdb74ed6b4245d51">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00132"></a><span class="lineno"> 132</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#a8a0a6daacecfbd1769cbdb321988ab88">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00133"></a><span class="lineno"> 133</span>  return ;</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">double</span> q = (l < 0.5 ? (l * (1 + s)) : (l + s - (l * s)));</div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">double</span> p = 2 * l - q;</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">double</span> t_r = h + 1.0 / 3.0;</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordtype">double</span> t_g = h;</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">double</span> t_b = h - 1.0 / 3.0;</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span>(t_r < 0) t_r = t_r + 1.0;</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">if</span>(t_r > 1) t_r = t_r - 1.0;</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>(t_g < 0) t_g = t_g + 1.0;</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span>(t_g > 1) t_g = t_g - 1.0;</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span>(t_b < 0) t_b = t_b + 1.0;</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">if</span>(t_b > 1) t_b = t_b - 1.0;</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">double</span> r, g, b;</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</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="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_r < 0.5 ) r = q;</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</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="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">else</span> r = p;</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</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="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_g < 0.5 ) g = q;</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">else</span> g = p;</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</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="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(t_b < 0.5 ) b = q;</div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">else</span> b = p;</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00160"></a><span class="lineno"> 160</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#ad25036799ca38983cdb74ed6b4245d51">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00161"></a><span class="lineno"> 161</span>  rgb-><a class="code" href="classmeow_1_1RGBf__Space.html#a8a0a6daacecfbd1769cbdb321988ab88">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">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="l00162"></a><span class="lineno"> 162</span> }</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> +<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="namespacemeow.html#a4c39f0ec6860546a7b16e3f165bed83e"> 167</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1YUVf__Space.html">YUVf_Space</a>* yuv) {</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> tmp;</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(hsl, &tmp);</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(tmp, yuv);</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> +<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="namespacemeow.html#a992d4c33aed66c0d4d7f578ef92dfa15"> 176</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a> <span class="keyword">const</span>& hsl, <a class="code" href="classmeow_1_1RGBi__Space.html">RGBi_Space</a>* rgb) {</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> tmp;</div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(hsl, &tmp);</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  rgb-><a class="code" href="classmeow_1_1Color3__Space.html#aa5c43cb67d674223a0a2361ac8de55c1">copyFrom</a>(tmp);</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> +<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="namespacemeow.html#ae9b7bb880aa5b6dfebd523a6b344a4f1"> 186</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(<a class="code" href="classmeow_1_1RGBi__Space.html">RGBi_Space</a> <span class="keyword">const</span>& rgb, <a class="code" href="classmeow_1_1HSLf__Space.html">HSLf_Space</a>* hsl) {</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classmeow_1_1RGBf__Space.html">RGBf_Space</a> tmp;</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  tmp.<a class="code" href="classmeow_1_1Color3__Space.html#aa5c43cb67d674223a0a2361ac8de55c1">copyFrom</a>(rgb);</div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">colorTransformate</a>(rgb, hsl);</div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> } <span class="comment">// meow</span></div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#endif // colors_HSL_Space_H__</span></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_ad7dea28eaf17078b39008e96b7df7d8f"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#ad7dea28eaf17078b39008e96b7df7d8f">meow::HSLf_Space::HSLf_Space</a></div><div class="ttdeci">HSLf_Space(Vector3D< double > const &v)</div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00032">HSL_Space.h:32</a></div></div> <div class="ttc" id="namespacemeow_html_aebe1ad335556790c578c4cf7836fd9ca"><div class="ttname"><a href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">meow::normalize</a></div><div class="ttdeci">T normalize(T lower, T upper, T value)</div><div class="ttdoc">(value-lower)/(upper-lower) </div><div class="ttdef"><b>Definition:</b> <a href="math_2utility_8h_source.html#l00027">utility.h:27</a></div></div> <div class="ttc" id="classmeow_1_1RGBf__Space_html_aee2f300ff0ae724890d3d80d0cb7cbc3"><div class="ttname"><a href="classmeow_1_1RGBf__Space.html#aee2f300ff0ae724890d3d80d0cb7cbc3">meow::RGBf_Space::rMin</a></div><div class="ttdeci">double const & rMin() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB__Space_8h_source.html#l00106">RGB_Space.h:106</a></div></div> @@ -230,7 +234,6 @@ $(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');}); <div class="ttc" id="classmeow_1_1HSLf__Space_html_a1aca0fee7322efd313d6b070b580d0ad"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a1aca0fee7322efd313d6b070b580d0ad">meow::HSLf_Space::h</a></div><div class="ttdeci">double const & h() const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00050">HSL_Space.h:50</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_ae7e4b58fd85ace76a0979a3c7e14407c"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#ae7e4b58fd85ace76a0979a3c7e14407c">meow::HSLf_Space::l</a></div><div class="ttdeci">double const & l() const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00052">HSL_Space.h:52</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_a4cdbbac5bcfbcd5546e41d1c1480fad4"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a4cdbbac5bcfbcd5546e41d1c1480fad4">meow::HSLf_Space::operator*</a></div><div class="ttdeci">HSLf_Space operator*(double const &c) const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00071">HSL_Space.h:71</a></div></div> -<div class="ttc" id="namespacemeow_html_af9ab85cd87a9f843e710657188f4c601"><div class="ttname"><a href="namespacemeow.html#af9ab85cd87a9f843e710657188f4c601">meow::colorTransformate</a></div><div class="ttdeci">void colorTransformate(RGBf_Space const &rgb, HSLf_Space *hsl)</div><div class="ttdoc">RGBf_Space to HSLf_Space </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00085">HSL_Space.h:85</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_a12fa00864b6e4ed1b129f3d98506772d"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a12fa00864b6e4ed1b129f3d98506772d">meow::HSLf_Space::hGet</a></div><div class="ttdeci">double & hGet()</div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00058">HSL_Space.h:58</a></div></div> <div class="ttc" id="classmeow_1_1RGBf__Space_html"><div class="ttname"><a href="classmeow_1_1RGBf__Space.html">meow::RGBf_Space</a></div><div class="ttdoc">以浮點數Red, Green, Blue 三個值所組成的色彩空間 </div><div class="ttdef"><b>Definition:</b> <a href="RGB__Space_8h_source.html#l00086">RGB_Space.h:86</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_a5c5eb948c40916f2f49c5004d84776b5"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a5c5eb948c40916f2f49c5004d84776b5">meow::HSLf_Space::HSLf_Space</a></div><div class="ttdeci">HSLf_Space(HSL_Space const &b)</div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00037">HSL_Space.h:37</a></div></div> @@ -245,12 +248,13 @@ $(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');}); <div class="ttc" id="classmeow_1_1HSLf__Space_html_ae97959215ff50cc62af6a309226a0061"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#ae97959215ff50cc62af6a309226a0061">meow::HSLf_Space::hslMin</a></div><div class="ttdeci">double const & hslMin(size_t i) const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00041">HSL_Space.h:41</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_aa6f73697310484b178c2dac3acdf4f4b"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#aa6f73697310484b178c2dac3acdf4f4b">meow::HSLf_Space::sMin</a></div><div class="ttdeci">double const & sMin() const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00043">HSL_Space.h:43</a></div></div> <div class="ttc" id="namespacemeow_html_af95cfca15ad7a51ed4d07b06e1296080"><div class="ttname"><a href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">meow::denormalize</a></div><div class="ttdeci">T denormalize(T lower, T upper, T _ratio)</div><div class="ttdoc">(lower+_ratio*(upper-lower)) </div><div class="ttdef"><b>Definition:</b> <a href="math_2utility_8h_source.html#l00035">utility.h:35</a></div></div> +<div class="ttc" id="namespacemeow_html_a096556e550d6407f2c7f9b9507eab5be"><div class="ttname"><a href="namespacemeow.html#a096556e550d6407f2c7f9b9507eab5be">meow::colorTransformate</a></div><div class="ttdeci">void colorTransformate(HSLf_Space const &in, HSLf_Space *out)</div><div class="ttdoc">HSLf_Space to HSLf_Space </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00085">HSL_Space.h:85</a></div></div> <div class="ttc" id="classmeow_1_1RGBf__Space_html_a2e158eb7f0a94047b23872b7b346e7b9"><div class="ttname"><a href="classmeow_1_1RGBf__Space.html#a2e158eb7f0a94047b23872b7b346e7b9">meow::RGBf_Space::r</a></div><div class="ttdeci">double const & r() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB__Space_8h_source.html#l00114">RGB_Space.h:114</a></div></div> <div class="ttc" id="classmeow_1_1Color3__Space_html_aa6661a1aaaf985a4b2d68db88ec93d2f"><div class="ttname"><a href="classmeow_1_1Color3__Space.html#aa6661a1aaaf985a4b2d68db88ec93d2f">meow::Color3_Space< double >::max</a></div><div class="ttdeci">doubleconst & max(size_t id) const</div><div class="ttdoc">Return the maximum of the i -th channel. </div><div class="ttdef"><b>Definition:</b> <a href="Color3__Space_8h_source.html#l00107">Color3_Space.h:107</a></div></div> <div class="ttc" id="classmeow_1_1YUVf__Space_html"><div class="ttname"><a href="classmeow_1_1YUVf__Space.html">meow::YUVf_Space</a></div><div class="ttdoc">以浮點數Y(亮度), U(色度), V(濃度) 三個值所組成的色彩空間 </div><div class="ttdef"><b>Definition:</b> <a href="YUV__Space_8h_source.html#l00021">YUV_Space.h:21</a></div></div> <div class="ttc" id="classmeow_1_1Color3__Space_html"><div class="ttname"><a href="classmeow_1_1Color3__Space.html">meow::Color3_Space</a></div><div class="ttdoc">Base class of color space with 3 channels. </div><div class="ttdef"><b>Definition:</b> <a href="Color3__Space_8h_source.html#l00018">Color3_Space.h:18</a></div></div> <div class="ttc" id="Color3__Space_8h_html"><div class="ttname"><a href="Color3__Space_8h.html">Color3_Space.h</a></div></div> -<div class="ttc" id="classmeow_1_1Vector3D_html"><div class="ttname"><a href="classmeow_1_1Vector3D.html">meow::Vector3D</a></div><div class="ttdoc">3D's vector </div><div class="ttdef"><b>Definition:</b> <a href="Vectors_8h_source.html#l00265">Vectors.h:265</a></div></div> +<div class="ttc" id="classmeow_1_1Vector3D_html"><div class="ttname"><a href="classmeow_1_1Vector3D.html">meow::Vector3D</a></div><div class="ttdoc">3D's vector </div><div class="ttdef"><b>Definition:</b> <a href="Vectors_8h_source.html#l00245">Vectors.h:245</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_a145882c607f9029859eb418ce979b64c"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a145882c607f9029859eb418ce979b64c">meow::HSLf_Space::hMax</a></div><div class="ttdeci">double const & hMax() const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00046">HSL_Space.h:46</a></div></div> <div class="ttc" id="classmeow_1_1RGBf__Space_html_aeb0cd2d681af6a70861ff371bf596e17"><div class="ttname"><a href="classmeow_1_1RGBf__Space.html#aeb0cd2d681af6a70861ff371bf596e17">meow::RGBf_Space::gMin</a></div><div class="ttdeci">double const & gMin() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB__Space_8h_source.html#l00107">RGB_Space.h:107</a></div></div> <div class="ttc" id="classmeow_1_1HSLf__Space_html_a88eb3f94b211a3e29c80c334f0f8e963"><div class="ttname"><a href="classmeow_1_1HSLf__Space.html#a88eb3f94b211a3e29c80c334f0f8e963">meow::HSLf_Space::operator/</a></div><div class="ttdeci">HSLf_Space operator/(double const &c) const </div><div class="ttdef"><b>Definition:</b> <a href="HSL__Space_8h_source.html#l00074">HSL_Space.h:74</a></div></div> @@ -288,7 +292,7 @@ $(document).ready(function(){initNavTree('HSL__Space_8h_source.html','');}); <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 Tue Jun 24 2014 03:53:31 for Templates -- Meow by + <li class="footer">Generated on Fri Jun 27 2014 18:24:40 for Templates -- Meow by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li> </ul> |