static void ToRGB( int colorSpace,
                   const RGBColorSystem& rgbws,
                   RGBColorSystem::sample& r, RGBColorSystem::sample& g, RGBColorSystem::sample& b,
                   RGBColorSystem::sample ch0, RGBColorSystem::sample ch1, RGBColorSystem::sample ch2 )
{
   switch ( colorSpace )
   {
   case ColorSpaceId::CIEXYZ:
      rgbws.CIEXYZToRGB( r, g, b, ch0, ch1, ch2 );
      break;
   case ColorSpaceId::CIELab:
      rgbws.CIELabToRGB( r, g, b, ch0, ch1, ch2 );
      break;
   case ColorSpaceId::CIELch:
      rgbws.CIELchToRGB( r, g, b, ch0, ch1, ch2 );
      break;
   case ColorSpaceId::HSV:
      rgbws.HSVToRGB( r, g, b, ch0, ch1, ch2 );
      break;
   case ColorSpaceId::HSI:
      rgbws.HSIToRGB( r, g, b, ch0, ch1, ch2 );
      break;
   }
}