Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

template<class DstArrayT, class SrcArrayT>
void Impala::Core::Array::Trait::M9N4poFHS< DstArrayT, SrcArrayT >::DoIt ( DstStorT FHx,
DstStorT FHy,
DstStorT FSx,
DstStorT FSy,
const SrcArithT R,
const SrcArithT G,
const SrcArithT B,
const SrcArithT Rx,
const SrcArithT Gx,
const SrcArithT Bx,
const SrcArithT Ry,
const SrcArithT Gy,
const SrcArithT By 
) [inline]

Actual operation.

Definition at line 41 of file M9N4poFHS.h.

References Impala::Core::Array::Element::E1Sqrt(), and Impala::Core::Array::Trait::M9N4poFHS< DstArrayT, SrcArrayT >::mC.

00045     {
00046         SrcArithT saturation = Element::E1Sqrt(2*(R*R + G*G + B*B - R*G - R*B - G*B));
00047         
00048         *FHx = (saturation == 0) ? 0 : (R*(Bx-Gx) + G*(Rx-Bx) + B*(Gx-Rx)) / saturation;
00049         *FHy = (saturation == 0) ? 0 : (R*(By-Gy) + G*(Ry-By) + B*(Gy-Ry)) / saturation;
00050         saturation *= mC; //because S divides by sqrt(3)*saturation
00051         *FSx = (saturation == 0) ? 0 : (R*(2.*Rx-Gx-Bx)+G*(2.*Gx-Rx-Bx)+B*(2.*Bx-Rx-Gx)) / saturation;
00052         *FSy = (saturation == 0) ? 0 : (R*(2.*Ry-Gy-By)+G*(2.*Gy-Ry-By)+B*(2.*By-Ry-Gy)) / saturation;
00053     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:18:15 2011 for ImpalaSrc by  doxygen 1.5.1