static void FromRGB( int colorSpace,
                     const RGBColorSystem& rgbws,
                     RGBColorSystem::sample& ch0, RGBColorSystem::sample& ch1, RGBColorSystem::sample& ch2,
                     RGBColorSystem::sample r, RGBColorSystem::sample g, RGBColorSystem::sample b )
{
   switch ( colorSpace )
   {
   case ColorSpaceId::CIEXYZ:
      rgbws.RGBToCIEXYZ( ch0, ch1, ch2, r, g, b );
      break;
   case ColorSpaceId::CIELab:
      rgbws.RGBToCIELab( ch0, ch1, ch2, r, g, b );
      break;
   case ColorSpaceId::CIELch:
      rgbws.RGBToCIELch( ch0, ch1, ch2, r, g, b );
      break;
   case ColorSpaceId::HSV:
      rgbws.RGBToHSV( ch0, ch1, ch2, r, g, b );
      break;
   case ColorSpaceId::HSI:
      rgbws.RGBToHSI( ch0, ch1, ch2, r, g, b );
      break;
   }
}