// Created by: NW,JPB,CAL
// Copyright (c) 1991-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.

#include <Quantity_Color.hxx>

#include <Quantity_ColorDefinitionError.hxx>
#include <Quantity_ColorRGBA.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_OutOfRange.hxx>
#include <Standard_Dump.hxx>
#include <TCollection_AsciiString.hxx>

#include <string.h>
// for Test method (suite et fin)
void call_hlsrgb(float h, float l, float s, float& r, float& g, float& b);
void call_rgbhls(float r, float g, float b, float& h, float& l, float& s);

//-Aliases

//-Global data definitions

#define RGBHLS_H_UNDEFINED -1.0

static Standard_Real TheEpsilon = 0.0001;

//	-- les composantes RGB
//	MyRed		:	Standard_ShortReal;
//	MyGreen		:	Standard_ShortReal;
//	MyBlue		:	Standard_ShortReal;

//-Constructors

//-Destructors

//-Methods, in order

Standard_Boolean Quantity_Color::ColorFromName (const Standard_CString theName,
                                                Quantity_NameOfColor&  theColor)
{
  TCollection_AsciiString aName (theName);
  aName.UpperCase();
  if (aName.Search("QUANTITY_NOC_") == 1)
  {
    aName = aName.SubString (14, aName.Length());
  }

  for (Standard_Integer anIter = Quantity_NOC_BLACK; anIter <= Quantity_NOC_WHITE; ++anIter)
  {
    Standard_CString aColorName = Quantity_Color::StringName (Quantity_NameOfColor (anIter));
    if (aName == aColorName)
    {
      theColor = (Quantity_NameOfColor )anIter;
      return Standard_True;
    }
  }
  return Standard_False;
}

//=======================================================================
// function : ColorFromHex
// purpose  :
//=======================================================================
bool Quantity_Color::ColorFromHex (const Standard_CString theHexColorString, Quantity_Color& theColor)
{
  Quantity_ColorRGBA aColorRGBA;
  if (!Quantity_ColorRGBA::ColorFromHex (theHexColorString, aColorRGBA, true))
  {
    return false;
  }
  theColor = aColorRGBA.GetRGB();
  return true;
}

Quantity_Color::Quantity_Color () {

	Quantity_Color::ValuesOf
		(Quantity_NOC_YELLOW, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);
}

Quantity_Color::Quantity_Color (const Quantity_NameOfColor AName) {

	Quantity_Color::ValuesOf
		(AName, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);
}

Quantity_Color::Quantity_Color (const Standard_Real R1, const Standard_Real R2, const Standard_Real R3, const Quantity_TypeOfColor AType) {

	switch (AType) {

		case Quantity_TOC_RGB :
			if ( R1 < 0. || R1 > 1. ||
			     R2 < 0. || R2 > 1. ||
			     R3 < 0. || R3 > 1. )
				throw Standard_OutOfRange("Color out");
			MyRed	= Standard_ShortReal (R1);
			MyGreen	= Standard_ShortReal (R2);
			MyBlue	= Standard_ShortReal (R3);
		break;

		case Quantity_TOC_HLS :
			if ( (R1 < 0. && R1 != RGBHLS_H_UNDEFINED && R3 != 0.0)
			  || (R1 > 360.) ||
			     R2 < 0. || R2 > 1. ||
			     R3 < 0. || R3 > 1. )
				throw Standard_OutOfRange("Color out");
			Quantity_Color::hlsrgb
				(Standard_ShortReal (R1),
				 Standard_ShortReal (R2),
				 Standard_ShortReal (R3),
				 MyRed, MyGreen, MyBlue);
		break;
	}

}

Quantity_Color::Quantity_Color (const NCollection_Vec3<float>& theRgb)
: MyRed  (theRgb.r()),
  MyGreen(theRgb.g()),
  MyBlue (theRgb.b())
{
  if (theRgb.r() < 0.0f || theRgb.r() > 1.0f
   || theRgb.g() < 0.0f || theRgb.g() > 1.0f
   || theRgb.b() < 0.0f || theRgb.b() > 1.0f)
  {
    throw Standard_OutOfRange("Color out");
  }
}

void Quantity_Color::ChangeContrast (const Standard_Real ADelta) {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

	MySaturation	+= MySaturation * Standard_ShortReal (ADelta) / (float ) 100.0;

	if ( !((MySaturation > 1.0) || (MySaturation < 0.0) )) {
		Quantity_Color::hlsrgb
			(MyHue, MyLight, MySaturation, MyRed, MyGreen, MyBlue);
	}
}

void Quantity_Color::ChangeIntensity (const Standard_Real ADelta) {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);


	MyLight		+= MyLight * Standard_ShortReal (ADelta) / (float ) 100.0;
	if ( !((MyLight > 1.0) || (MyLight < 0.0) )) {
		Quantity_Color::hlsrgb
			(MyHue, MyLight, MySaturation, MyRed, MyGreen, MyBlue);
	}

}

void Quantity_Color::SetValues (const Quantity_NameOfColor AName) {

	Quantity_Color::ValuesOf
		(AName, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);

}

void Quantity_Color::SetValues (const Standard_Real R1, const Standard_Real R2, const Standard_Real R3, const Quantity_TypeOfColor AType) {

	switch (AType) {

		case Quantity_TOC_RGB :
			if ( R1 < 0. || R1 > 1. ||
			     R2 < 0. || R2 > 1. ||
			     R3 < 0. || R3 > 1. )
				throw Standard_OutOfRange("Color out");
			else {
				MyRed	= Standard_ShortReal (R1);
				MyGreen	= Standard_ShortReal (R2);
				MyBlue	= Standard_ShortReal (R3);
			}
		break;

		case Quantity_TOC_HLS :
			if ( R1 < 0. || R1 > 360. ||
			     R2 < 0. || R2 > 1. ||
			     R3 < 0. || R3 > 1. )
				throw Standard_OutOfRange("Color out");
			else {
				Quantity_Color::hlsrgb
					(Standard_ShortReal (R1),
					 Standard_ShortReal (R2),
					 Standard_ShortReal (R3),
					 MyRed, MyGreen, MyBlue);
			}
		break;
	}

}

Standard_Real Quantity_Color::Distance (const Quantity_Color& AColor) const {

Standard_Real R1, G1, B1;
Standard_Real R2, G2, B2;

	R1	= Standard_Real (MyRed);
	G1	= Standard_Real (MyGreen);
	B1	= Standard_Real (MyBlue);

	R2	= Standard_Real (AColor.MyRed);
	G2	= Standard_Real (AColor.MyGreen);
	B2	= Standard_Real (AColor.MyBlue);

	return	Sqrt (
			((R1 - R2) * (R1 - R2)) +
			((G1 - G2) * (G1 - G2)) +
			((B1 - B2) * (B1 - B2))
		     );

}

Standard_Real Quantity_Color::SquareDistance (const Quantity_Color& AColor) const {

Standard_Real R1, G1, B1;
Standard_Real R2, G2, B2;

	R1	= Standard_Real (MyRed);
	G1	= Standard_Real (MyGreen);
	B1	= Standard_Real (MyBlue);

	R2	= Standard_Real (AColor.MyRed);
	G2	= Standard_Real (AColor.MyGreen);
	B2	= Standard_Real (AColor.MyBlue);

	return	(
			((R1 - R2) * (R1 - R2)) +
			((G1 - G2) * (G1 - G2)) +
			((B1 - B2) * (B1 - B2))
		);

}

void Quantity_Color::Delta (const Quantity_Color& AColor, Standard_Real& DC, Standard_Real& DI) const {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

	DC	= Standard_Real (MySaturation	- AColor.Saturation ());
	DI	= Standard_Real (MyLight		- AColor.Light ());

}

Standard_Boolean Quantity_Color::IsDifferent (const Quantity_Color& Other) const {

	return (Distance (Other) > Epsilon ());

}

Standard_Boolean Quantity_Color::IsEqual (const Quantity_Color& Other) const {

	return (Distance (Other) <= Epsilon ());

}

Quantity_NameOfColor Quantity_Color::Name () const {

Quantity_NameOfColor MyNewName = Quantity_NOC_BLACK;	// Nom courant.
Quantity_Color Col;				// Couleur courante.
Standard_Real NewDist = 4.0;			// Distance courante.
Standard_Real Dist = 4.0;			// Distance la plus courte.

Standard_Integer Begin, End, Current;

		//
		// Parcours de l'enumeration
		//
		Begin	= Standard_Integer (Quantity_NOC_BLACK);
		End	= Standard_Integer (Quantity_NOC_WHITE);

		for (Current = Begin;
			((Current <= End) && (NewDist != 0.0)); Current++) {

			Col.SetValues (Quantity_NameOfColor (Current));
			NewDist = 
			((MyRed   - Col.MyRed)   * (MyRed - Col.MyRed))     +
			((MyGreen - Col.MyGreen) * (MyGreen - Col.MyGreen)) +
			((MyBlue  - Col.MyBlue)  * (MyBlue - Col.MyBlue));

			if (NewDist < Dist) {
				MyNewName = Quantity_NameOfColor (Current);
				Dist = NewDist;
			}
		} // Fin de boucle for

		return (MyNewName);

}

Standard_Real Quantity_Color::Epsilon()
{
  return TheEpsilon;
}

void Quantity_Color::SetEpsilon (const Standard_Real AnEpsilon) {

	TheEpsilon	= AnEpsilon;

}

Quantity_NameOfColor Quantity_Color::Name (const Standard_Real R, const Standard_Real G, const Standard_Real B) {

	if ( R < 0. || R > 1. ||
	     G < 0. || G > 1. ||
	     B < 0. || B > 1. )
		throw Standard_OutOfRange("Color out");

Quantity_Color AColor (R, G, B, Quantity_TOC_RGB);	// Couleur definie en RGB.

	return (AColor.Name ());

}

Standard_Real Quantity_Color::Red () const {

	return (Standard_Real (MyRed));

}

Standard_Real Quantity_Color::Green () const {

	return (Standard_Real (MyGreen));

}

Standard_Real Quantity_Color::Blue () const {

	return (Standard_Real (MyBlue));

}

Standard_Real Quantity_Color::Hue () const {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

	return (Standard_Real (MyHue));

}

Standard_Real Quantity_Color::Light () const {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

	return (Standard_Real (MyLight));

}

Standard_Real Quantity_Color::Saturation () const {

Standard_ShortReal MyHue, MyLight, MySaturation;

	Quantity_Color::rgbhls
			(MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

	return (Standard_Real (MySaturation));

}

void Quantity_Color::Values (Standard_Real& R1, Standard_Real& R2, Standard_Real& R3, const Quantity_TypeOfColor AType) const {


	switch (AType) {

		case Quantity_TOC_RGB :
			R1	= Standard_Real (MyRed);
			R2	= Standard_Real (MyGreen);
			R3	= Standard_Real (MyBlue);
		break;

		case Quantity_TOC_HLS :
		      { Standard_ShortReal MyHue, MyLight, MySaturation;

			Quantity_Color::rgbhls
			 (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);

			R1	= Standard_Real (MyHue);
			R2	= Standard_Real (MyLight);
			R3	= Standard_Real (MySaturation);
		      }
		break;
	}

}

void Quantity_Color::RgbHls (const Standard_Real R, const Standard_Real G, const Standard_Real B, Standard_Real& H, Standard_Real& L, Standard_Real& S) {

Standard_ShortReal HH, LL, SS;

	call_rgbhls (Standard_ShortReal (R),
			Standard_ShortReal (G),
			Standard_ShortReal (B),
			HH, LL, SS);

	H	= Standard_Real (HH);
	L	= Standard_Real (LL);
	S	= Standard_Real (SS);

}

void Quantity_Color::HlsRgb (const Standard_Real H, const Standard_Real L, const Standard_Real S, Standard_Real& R, Standard_Real& G, Standard_Real& B) {

Standard_ShortReal RR, GG, BB;

	call_hlsrgb (Standard_ShortReal (H),
			Standard_ShortReal (L),
			Standard_ShortReal (S),
			RR, GG, BB);

	R	= Standard_Real (RR);
	G	= Standard_Real (GG);
	B	= Standard_Real (BB);

}

void Quantity_Color::rgbhls (const Standard_ShortReal R, const Standard_ShortReal G, const Standard_ShortReal B, Standard_ShortReal& H, Standard_ShortReal& L, Standard_ShortReal& S) {

	call_rgbhls (R, G, B, H, L, S);

}

void Quantity_Color::hlsrgb (const Standard_ShortReal H, const Standard_ShortReal L, const Standard_ShortReal S, Standard_ShortReal& R, Standard_ShortReal& G, Standard_ShortReal& B) {

	call_hlsrgb (H, L, S, R, G, B);

}

//=======================================================================
//function : Color2argb
//purpose  : 
//=======================================================================

void Quantity_Color::Color2argb (const Quantity_Color& theColor,
                                 Standard_Integer& theARGB)
{
  const Standard_Integer aColor[3] = {
    static_cast<Standard_Integer> (255 * theColor.MyRed),
    static_cast<Standard_Integer> (255 * theColor.MyGreen),
    static_cast<Standard_Integer> (255 * theColor.MyBlue)
  };
  theARGB = (((aColor[0] & 0xff) << 16) |
             ((aColor[1] & 0xff) << 8)  |
             (aColor[2] & 0xff));
}

//=======================================================================
//function : Argb2color
//purpose  : 
//=======================================================================

void Quantity_Color::Argb2color (const Standard_Integer theARGB,
                                 Quantity_Color& theColor)
{
  const Standard_Real aColor[3] = {
    static_cast <Standard_Real> ((theARGB & 0xff0000) >> 16),
    static_cast <Standard_Real> ((theARGB & 0x00ff00) >> 8),
    static_cast <Standard_Real> ((theARGB & 0x0000ff))
  };
  theColor.SetValues(aColor[0] / 255.0, aColor[1] / 255.0, aColor[2] / 255.0,
                     Quantity_TOC_RGB);
}

void Quantity_Color::ValuesOf (const Quantity_NameOfColor AName, const Quantity_TypeOfColor AType, Standard_ShortReal& R1, Standard_ShortReal& R2, Standard_ShortReal& R3) {

Standard_ShortReal RR = 0 ;
Standard_ShortReal RG = 0 ;
Standard_ShortReal RB = 0 ;

switch (AName) {

	case Quantity_NOC_BLACK :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_MATRAGRAY :
		RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.600000; RB = R3 = (float ) 0.600000;
	break;
	case Quantity_NOC_MATRABLUE :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.750000;
	break;
	case Quantity_NOC_ALICEBLUE :
		RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.972549; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_ANTIQUEWHITE :
		RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.843137;
	break;
	case Quantity_NOC_ANTIQUEWHITE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.937255; RB = R3 = (float ) 0.858824;
	break;
	case Quantity_NOC_ANTIQUEWHITE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.874510; RB = R3 = (float ) 0.800000;
	break;
	case Quantity_NOC_ANTIQUEWHITE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.690196;
	break;
	case Quantity_NOC_ANTIQUEWHITE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.470588;
	break;
	case Quantity_NOC_AQUAMARINE1 :
		RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = (float ) 0.831373;
	break;
	case Quantity_NOC_AQUAMARINE2 :
		RR = R1 = (float ) 0.462745; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.776471;
	break;
	case Quantity_NOC_AQUAMARINE4 :
		RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.454902;
	break;
	case Quantity_NOC_AZURE :
		RR = R1 = (float ) 0.941176; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_AZURE2 :
		RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_AZURE3 :
		RR = R1 = (float ) 0.756863; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_AZURE4 :
		RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_BEIGE :
		RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.862745;
	break;
	case Quantity_NOC_BISQUE :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.768627;
	break;
	case Quantity_NOC_BISQUE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.835294; RB = R3 = (float ) 0.717647;
	break;
	case Quantity_NOC_BISQUE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.619608;
	break;
	case Quantity_NOC_BISQUE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.419608;
	break;
	case Quantity_NOC_BLANCHEDALMOND :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_BLUE1 :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_BLUE2 :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_BLUE3 :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_BLUE4 :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_BLUEVIOLET :
		RR = R1 = (float ) 0.541176; RG = R2 = (float ) 0.168627; RB = R3 = (float ) 0.886275;
	break;
	case Quantity_NOC_BROWN :
		RR = R1 = (float ) 0.647059; RG = R2 = (float ) 0.164706; RB = R3 = (float ) 0.164706;
	break;
	case Quantity_NOC_BROWN1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.250980;
	break;
	case Quantity_NOC_BROWN2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.231373; RB = R3 = (float ) 0.231373;
	break;
	case Quantity_NOC_BROWN3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.200000; RB = R3 = (float ) 0.200000;
	break;
	case Quantity_NOC_BROWN4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.137255; RB = R3 = (float ) 0.137255;
	break;
	case Quantity_NOC_BURLYWOOD :
		RR = R1 = (float ) 0.870588; RG = R2 = (float ) 0.721569; RB = R3 = (float ) 0.529412;
	break;
	case Quantity_NOC_BURLYWOOD1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.607843;
	break;
	case Quantity_NOC_BURLYWOOD2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.568627;
	break;
	case Quantity_NOC_BURLYWOOD3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.666667; RB = R3 = (float ) 0.490196;
	break;
	case Quantity_NOC_BURLYWOOD4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.450980; RB = R3 = (float ) 0.333333;
	break;
	case Quantity_NOC_CADETBLUE :
		RR = R1 = (float ) 0.372549; RG = R2 = (float ) 0.619608; RB = R3 = (float ) 0.627451;
	break;
	case Quantity_NOC_CADETBLUE1 :
		RR = R1 = (float ) 0.596078; RG = R2 = (float ) 0.960784; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_CADETBLUE2 :
		RR = R1 = (float ) 0.556863; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_CADETBLUE3 :
		RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_CADETBLUE4 :
		RR = R1 = (float ) 0.325490; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_CHARTREUSE :
		RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_CHARTREUSE1 :
		RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_CHARTREUSE2 :
		RR = R1 = (float ) 0.462745; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_CHARTREUSE3 :
		RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_CHARTREUSE4 :
		RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_CHOCOLATE :
		RR = R1 = (float ) 0.823529; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.117647;
	break;
	case Quantity_NOC_CHOCOLATE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.141176;
	break;
	case Quantity_NOC_CHOCOLATE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.462745; RB = R3 = (float ) 0.129412;
	break;
	case Quantity_NOC_CHOCOLATE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.113725;
	break;
	case Quantity_NOC_CHOCOLATE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.074510;
	break;
	case Quantity_NOC_CORAL :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.313725;
	break;
	case Quantity_NOC_CORAL1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.447059; RB = R3 = (float ) 0.337255;
	break;
	case Quantity_NOC_CORAL2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.313725;
	break;
	case Quantity_NOC_CORAL3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.356863; RB = R3 = (float ) 0.270588;
	break;
	case Quantity_NOC_CORAL4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.243137; RB = R3 = (float ) 0.184314;
	break;
	case Quantity_NOC_CORNFLOWERBLUE :
		RR = R1 = (float ) 0.392157; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.929412;
	break;
	case Quantity_NOC_CORNSILK1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.972549; RB = R3 = (float ) 0.862745;
	break;
	case Quantity_NOC_CORNSILK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_CORNSILK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.784314; RB = R3 = (float ) 0.694118;
	break;
	case Quantity_NOC_CORNSILK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.533333; RB = R3 = (float ) 0.470588;
	break;
	case Quantity_NOC_CYAN1 :
		RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_CYAN2 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_CYAN3 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_CYAN4 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_DARKGOLDENROD :
		RR = R1 = (float ) 0.721569; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.043137;
	break;
	case Quantity_NOC_DARKGOLDENROD1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.725490; RB = R3 = (float ) 0.058824;
	break;
	case Quantity_NOC_DARKGOLDENROD2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.678431; RB = R3 = (float ) 0.054902;
	break;
	case Quantity_NOC_DARKGOLDENROD3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.047059;
	break;
	case Quantity_NOC_DARKGOLDENROD4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.396078; RB = R3 = (float ) 0.031373;
	break;
	case Quantity_NOC_DARKGREEN :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.392157; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKKHAKI :
		RR = R1 = (float ) 0.741176; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.419608;
	break;
	case Quantity_NOC_DARKOLIVEGREEN :
		RR = R1 = (float ) 0.333333; RG = R2 = (float ) 0.419608; RB = R3 = (float ) 0.184314;
	break;
	case Quantity_NOC_DARKOLIVEGREEN1 :
		RR = R1 = (float ) 0.792157; RG = R2 = 1.000000; RB = R3 = (float ) 0.439216;
	break;
	case Quantity_NOC_DARKOLIVEGREEN2 :
		RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.407843;
	break;
	case Quantity_NOC_DARKOLIVEGREEN3 :
		RR = R1 = (float ) 0.635294; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.352941;
	break;
	case Quantity_NOC_DARKOLIVEGREEN4 :
		RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.239216;
	break;
	case Quantity_NOC_DARKORANGE :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.549020; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKORANGE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKORANGE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.462745; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKORANGE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.400000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKORANGE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_DARKORCHID :
		RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.800000;
	break;
	case Quantity_NOC_DARKORCHID1 :
		RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.243137; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_DARKORCHID2 :
		RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_DARKORCHID3 :
		RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_DARKORCHID4 :
		RR = R1 = (float ) 0.407843; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_DARKSALMON :
		RR = R1 = (float ) 0.913725; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.478431;
	break;
	case Quantity_NOC_DARKSEAGREEN :
		RR = R1 = (float ) 0.560784; RG = R2 = (float ) 0.737255; RB = R3 = (float ) 0.560784;
	break;
	case Quantity_NOC_DARKSEAGREEN1 :
		RR = R1 = (float ) 0.756863; RG = R2 = 1.000000; RB = R3 = (float ) 0.756863;
	break;
	case Quantity_NOC_DARKSEAGREEN2 :
		RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_DARKSEAGREEN3 :
		RR = R1 = (float ) 0.607843; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.607843;
	break;
	case Quantity_NOC_DARKSEAGREEN4 :
		RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.411765;
	break;
	case Quantity_NOC_DARKSLATEBLUE :
		RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.239216; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_DARKSLATEGRAY1 :
		RR = R1 = (float ) 0.592157; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_DARKSLATEGRAY2 :
		RR = R1 = (float ) 0.552941; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_DARKSLATEGRAY3 :
		RR = R1 = (float ) 0.474510; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_DARKSLATEGRAY4 :
		RR = R1 = (float ) 0.321569; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_DARKSLATEGRAY :
		RR = R1 = (float ) 0.184314; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.309804;
	break;
	case Quantity_NOC_DARKTURQUOISE :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.819608;
	break;
	case Quantity_NOC_DARKVIOLET :
		RR = R1 = (float ) 0.580392; RG = R2 = 0.000000; RB = R3 = (float ) 0.827451;
	break;
	case Quantity_NOC_DEEPPINK :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.078431; RB = R3 = (float ) 0.576471;
	break;
	case Quantity_NOC_DEEPPINK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.070588; RB = R3 = (float ) 0.537255;
	break;
	case Quantity_NOC_DEEPPINK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.062745; RB = R3 = (float ) 0.462745;
	break;
	case Quantity_NOC_DEEPPINK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.039216; RB = R3 = (float ) 0.313725;
	break;
	case Quantity_NOC_DEEPSKYBLUE1 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.749020; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_DEEPSKYBLUE2 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.698039; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_DEEPSKYBLUE3 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.603922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_DEEPSKYBLUE4 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_DODGERBLUE1 :
		RR = R1 = (float ) 0.117647; RG = R2 = (float ) 0.564706; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_DODGERBLUE2 :
		RR = R1 = (float ) 0.109804; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_DODGERBLUE3 :
		RR = R1 = (float ) 0.094118; RG = R2 = (float ) 0.454902; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_DODGERBLUE4 :
		RR = R1 = (float ) 0.062745; RG = R2 = (float ) 0.305882; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_FIREBRICK :
		RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.133333;
	break;
	case Quantity_NOC_FIREBRICK1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.188235;
	break;
	case Quantity_NOC_FIREBRICK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.172549; RB = R3 = (float ) 0.172549;
	break;
	case Quantity_NOC_FIREBRICK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.149020;
	break;
	case Quantity_NOC_FIREBRICK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.101961;
	break;
	case Quantity_NOC_FLORALWHITE :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.941176;
	break;
	case Quantity_NOC_FORESTGREEN :
		RR = R1 = (float ) 0.133333; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.133333;
	break;
	case Quantity_NOC_GAINSBORO :
		RR = R1 = (float ) 0.862745; RG = R2 = (float ) 0.862745; RB = R3 = (float ) 0.862745;
	break;
	case Quantity_NOC_GHOSTWHITE :
		RR = R1 = (float ) 0.972549; RG = R2 = (float ) 0.972549; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_GOLD :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.843137; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GOLD1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.843137; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GOLD2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.788235; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GOLD3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.678431; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GOLD4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.458824; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GOLDENROD :
		RR = R1 = (float ) 0.854902; RG = R2 = (float ) 0.647059; RB = R3 = (float ) 0.125490;
	break;
	case Quantity_NOC_GOLDENROD1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.145098;
	break;
	case Quantity_NOC_GOLDENROD2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.133333;
	break;
	case Quantity_NOC_GOLDENROD3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.607843; RB = R3 = (float ) 0.113725;
	break;
	case Quantity_NOC_GOLDENROD4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.078431;
	break;
	case Quantity_NOC_GRAY :
		RR = R1 = (float ) 0.752941; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.752941;
	break;
	case Quantity_NOC_GRAY0 :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GRAY1 :
		RR = R1 = (float ) 0.011765; RG = R2 = (float ) 0.011765; RB = R3 = (float ) 0.011765;
	break;
	case Quantity_NOC_GRAY10 :
		RR = R1 = (float ) 0.101961; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.101961;
	break;
	case Quantity_NOC_GRAY11 :
		RR = R1 = (float ) 0.109804; RG = R2 = (float ) 0.109804; RB = R3 = (float ) 0.109804;
	break;
	case Quantity_NOC_GRAY12 :
		RR = R1 = (float ) 0.121569; RG = R2 = (float ) 0.121569; RB = R3 = (float ) 0.121569;
	break;
	case Quantity_NOC_GRAY13 :
		RR = R1 = (float ) 0.129412; RG = R2 = (float ) 0.129412; RB = R3 = (float ) 0.129412;
	break;
	case Quantity_NOC_GRAY14 :
		RR = R1 = (float ) 0.141176; RG = R2 = (float ) 0.141176; RB = R3 = (float ) 0.141176;
	break;
	case Quantity_NOC_GRAY15 :
		RR = R1 = (float ) 0.149020; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.149020;
	break;
	case Quantity_NOC_GRAY16 :
		RR = R1 = (float ) 0.160784; RG = R2 = (float ) 0.160784; RB = R3 = (float ) 0.160784;
	break;
	case Quantity_NOC_GRAY17 :
		RR = R1 = (float ) 0.168627; RG = R2 = (float ) 0.168627; RB = R3 = (float ) 0.168627;
	break;
	case Quantity_NOC_GRAY18 :
		RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.180392; RB = R3 = (float ) 0.180392;
	break;
	case Quantity_NOC_GRAY19 :
		RR = R1 = (float ) 0.188235; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.188235;
	break;
	case Quantity_NOC_GRAY2 :
		RR = R1 = (float ) 0.019608; RG = R2 = (float ) 0.019608; RB = R3 = (float ) 0.019608;
	break;
	case Quantity_NOC_GRAY20 :
		RR = R1 = (float ) 0.200000; RG = R2 = (float ) 0.200000; RB = R3 = (float ) 0.200000;
	break;
	case Quantity_NOC_GRAY21 :
		RR = R1 = (float ) 0.211765; RG = R2 = (float ) 0.211765; RB = R3 = (float ) 0.211765;
	break;
	case Quantity_NOC_GRAY22 :
		RR = R1 = (float ) 0.219608; RG = R2 = (float ) 0.219608; RB = R3 = (float ) 0.219608;
	break;
	case Quantity_NOC_GRAY23 :
		RR = R1 = (float ) 0.231373; RG = R2 = (float ) 0.231373; RB = R3 = (float ) 0.231373;
	break;
	case Quantity_NOC_GRAY24 :
		RR = R1 = (float ) 0.239216; RG = R2 = (float ) 0.239216; RB = R3 = (float ) 0.239216;
	break;
	case Quantity_NOC_GRAY25 :
		RR = R1 = (float ) 0.250980; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.250980;
	break;
	case Quantity_NOC_GRAY26 :
		RR = R1 = (float ) 0.258824; RG = R2 = (float ) 0.258824; RB = R3 = (float ) 0.258824;
	break;
	case Quantity_NOC_GRAY27 :
		RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.270588;
	break;
	case Quantity_NOC_GRAY28 :
		RR = R1 = (float ) 0.278431; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.278431;
	break;
	case Quantity_NOC_GRAY29 :
		RR = R1 = (float ) 0.290196; RG = R2 = (float ) 0.290196; RB = R3 = (float ) 0.290196;
	break;
	case Quantity_NOC_GRAY3 :
		RR = R1 = (float ) 0.031373; RG = R2 = (float ) 0.031373; RB = R3 = (float ) 0.031373;
	break;
	case Quantity_NOC_GRAY30 :
		RR = R1 = (float ) 0.301961; RG = R2 = (float ) 0.301961; RB = R3 = (float ) 0.301961;
	break;
	case Quantity_NOC_GRAY31 :
		RR = R1 = (float ) 0.309804; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.309804;
	break;
	case Quantity_NOC_GRAY32 :
		RR = R1 = (float ) 0.321569; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.321569;
	break;
	case Quantity_NOC_GRAY33 :
		RR = R1 = (float ) 0.329412; RG = R2 = (float ) 0.329412; RB = R3 = (float ) 0.329412;
	break;
	case Quantity_NOC_GRAY34 :
		RR = R1 = (float ) 0.341176; RG = R2 = (float ) 0.341176; RB = R3 = (float ) 0.341176;
	break;
	case Quantity_NOC_GRAY35 :
		RR = R1 = (float ) 0.349020; RG = R2 = (float ) 0.349020; RB = R3 = (float ) 0.349020;
	break;
	case Quantity_NOC_GRAY36 :
		RR = R1 = (float ) 0.360784; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.360784;
	break;
	case Quantity_NOC_GRAY37 :
		RR = R1 = (float ) 0.368627; RG = R2 = (float ) 0.368627; RB = R3 = (float ) 0.368627;
	break;
	case Quantity_NOC_GRAY38 :
		RR = R1 = (float ) 0.380392; RG = R2 = (float ) 0.380392; RB = R3 = (float ) 0.380392;
	break;
	case Quantity_NOC_GRAY39 :
		RR = R1 = (float ) 0.388235; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.388235;
	break;
	case Quantity_NOC_GRAY4 :
		RR = R1 = (float ) 0.039216; RG = R2 = (float ) 0.039216; RB = R3 = (float ) 0.039216;
	break;
	case Quantity_NOC_GRAY40 :
		RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.400000;
	break;
	case Quantity_NOC_GRAY41 :
		RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.411765;
	break;
	case Quantity_NOC_GRAY42 :
		RR = R1 = (float ) 0.419608; RG = R2 = (float ) 0.419608; RB = R3 = (float ) 0.419608;
	break;
	case Quantity_NOC_GRAY43 :
		RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.431373;
	break;
	case Quantity_NOC_GRAY44 :
		RR = R1 = (float ) 0.439216; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.439216;
	break;
	case Quantity_NOC_GRAY45 :
		RR = R1 = (float ) 0.450980; RG = R2 = (float ) 0.450980; RB = R3 = (float ) 0.450980;
	break;
	case Quantity_NOC_GRAY46 :
		RR = R1 = (float ) 0.458824; RG = R2 = (float ) 0.458824; RB = R3 = (float ) 0.458824;
	break;
	case Quantity_NOC_GRAY47 :
		RR = R1 = (float ) 0.470588; RG = R2 = (float ) 0.470588; RB = R3 = (float ) 0.470588;
	break;
	case Quantity_NOC_GRAY48 :
		RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.478431; RB = R3 = (float ) 0.478431;
	break;
	case Quantity_NOC_GRAY49 :
		RR = R1 = (float ) 0.490196; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.490196;
	break;
	case Quantity_NOC_GRAY5 :
		RR = R1 = (float ) 0.050980; RG = R2 = (float ) 0.050980; RB = R3 = (float ) 0.050980;
	break;
	case Quantity_NOC_GRAY50 :
		RR = R1 = (float ) 0.498039; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.498039;
	break;
	case Quantity_NOC_GRAY51 :
		RR = R1 = (float ) 0.509804; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.509804;
	break;
	case Quantity_NOC_GRAY52 :
		RR = R1 = (float ) 0.521569; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.521569;
	break;
	case Quantity_NOC_GRAY53 :
		RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.529412; RB = R3 = (float ) 0.529412;
	break;
	case Quantity_NOC_GRAY54 :
		RR = R1 = (float ) 0.541176; RG = R2 = (float ) 0.541176; RB = R3 = (float ) 0.541176;
	break;
	case Quantity_NOC_GRAY55 :
		RR = R1 = (float ) 0.549020; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.549020;
	break;
	case Quantity_NOC_GRAY56 :
		RR = R1 = (float ) 0.560784; RG = R2 = (float ) 0.560784; RB = R3 = (float ) 0.560784;
	break;
	case Quantity_NOC_GRAY57 :
		RR = R1 = (float ) 0.568627; RG = R2 = (float ) 0.568627; RB = R3 = (float ) 0.568627;
	break;
	case Quantity_NOC_GRAY58 :
		RR = R1 = (float ) 0.580392; RG = R2 = (float ) 0.580392; RB = R3 = (float ) 0.580392;
	break;
	case Quantity_NOC_GRAY59 :
		RR = R1 = (float ) 0.588235; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.588235;
	break;
	case Quantity_NOC_GRAY6 :
		RR = R1 = (float ) 0.058824; RG = R2 = (float ) 0.058824; RB = R3 = (float ) 0.058824;
	break;
	case Quantity_NOC_GRAY60 :
		RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.600000; RB = R3 = (float ) 0.600000;
	break;
	case Quantity_NOC_GRAY61 :
		RR = R1 = (float ) 0.611765; RG = R2 = (float ) 0.611765; RB = R3 = (float ) 0.611765;
	break;
	case Quantity_NOC_GRAY62 :
		RR = R1 = (float ) 0.619608; RG = R2 = (float ) 0.619608; RB = R3 = (float ) 0.619608;
	break;
	case Quantity_NOC_GRAY63 :
		RR = R1 = (float ) 0.631373; RG = R2 = (float ) 0.631373; RB = R3 = (float ) 0.631373;
	break;
	case Quantity_NOC_GRAY64 :
		RR = R1 = (float ) 0.639216; RG = R2 = (float ) 0.639216; RB = R3 = (float ) 0.639216;
	break;
	case Quantity_NOC_GRAY65 :
		RR = R1 = (float ) 0.650980; RG = R2 = (float ) 0.650980; RB = R3 = (float ) 0.650980;
	break;
	case Quantity_NOC_GRAY66 :
		RR = R1 = (float ) 0.658824; RG = R2 = (float ) 0.658824; RB = R3 = (float ) 0.658824;
	break;
	case Quantity_NOC_GRAY67 :
		RR = R1 = (float ) 0.670588; RG = R2 = (float ) 0.670588; RB = R3 = (float ) 0.670588;
	break;
	case Quantity_NOC_GRAY68 :
		RR = R1 = (float ) 0.678431; RG = R2 = (float ) 0.678431; RB = R3 = (float ) 0.678431;
	break;
	case Quantity_NOC_GRAY69 :
		RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.690196; RB = R3 = (float ) 0.690196;
	break;
	case Quantity_NOC_GRAY7 :
		RR = R1 = (float ) 0.070588; RG = R2 = (float ) 0.070588; RB = R3 = (float ) 0.070588;
	break;
	case Quantity_NOC_GRAY70 :
		RR = R1 = (float ) 0.701961; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.701961;
	break;
	case Quantity_NOC_GRAY71 :
		RR = R1 = (float ) 0.709804; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.709804;
	break;
	case Quantity_NOC_GRAY72 :
		RR = R1 = (float ) 0.721569; RG = R2 = (float ) 0.721569; RB = R3 = (float ) 0.721569;
	break;
	case Quantity_NOC_GRAY73 :
		RR = R1 = (float ) 0.729412; RG = R2 = (float ) 0.729412; RB = R3 = (float ) 0.729412;
	break;
	case Quantity_NOC_GRAY74 :
		RR = R1 = (float ) 0.741176; RG = R2 = (float ) 0.741176; RB = R3 = (float ) 0.741176;
	break;
	case Quantity_NOC_GRAY75 :
		RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.749020; RB = R3 = (float ) 0.749020;
	break;
	case Quantity_NOC_GRAY76 :
		RR = R1 = (float ) 0.760784; RG = R2 = (float ) 0.760784; RB = R3 = (float ) 0.760784;
	break;
	case Quantity_NOC_GRAY77 :
		RR = R1 = (float ) 0.768627; RG = R2 = (float ) 0.768627; RB = R3 = (float ) 0.768627;
	break;
	case Quantity_NOC_GRAY78 :
		RR = R1 = (float ) 0.780392; RG = R2 = (float ) 0.780392; RB = R3 = (float ) 0.780392;
	break;
	case Quantity_NOC_GRAY79 :
		RR = R1 = (float ) 0.788235; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.788235;
	break;
	case Quantity_NOC_GRAY8 :
		RR = R1 = (float ) 0.078431; RG = R2 = (float ) 0.078431; RB = R3 = (float ) 0.078431;
	break;
	case Quantity_NOC_GRAY80 :
		RR = R1 = (float ) 0.800000; RG = R2 = (float ) 0.800000; RB = R3 = (float ) 0.800000;
	break;
	case Quantity_NOC_GRAY81 :
		RR = R1 = (float ) 0.811765; RG = R2 = (float ) 0.811765; RB = R3 = (float ) 0.811765;
	break;
	case Quantity_NOC_GRAY82 :
		RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.819608; RB = R3 = (float ) 0.819608;
	break;
	case Quantity_NOC_GRAY83 :
		RR = R1 = (float ) 0.831373; RG = R2 = (float ) 0.831373; RB = R3 = (float ) 0.831373;
	break;
	case Quantity_NOC_GRAY85 :
		RR = R1 = (float ) 0.850980; RG = R2 = (float ) 0.850980; RB = R3 = (float ) 0.850980;
	break;
	case Quantity_NOC_GRAY86 :
		RR = R1 = (float ) 0.858824; RG = R2 = (float ) 0.858824; RB = R3 = (float ) 0.858824;
	break;
	case Quantity_NOC_GRAY87 :
		RR = R1 = (float ) 0.870588; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.870588;
	break;
	case Quantity_NOC_GRAY88 :
		RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.878431;
	break;
	case Quantity_NOC_GRAY89 :
		RR = R1 = (float ) 0.890196; RG = R2 = (float ) 0.890196; RB = R3 = (float ) 0.890196;
	break;
	case Quantity_NOC_GRAY9 :
		RR = R1 = (float ) 0.090196; RG = R2 = (float ) 0.090196; RB = R3 = (float ) 0.090196;
	break;
	case Quantity_NOC_GRAY90 :
		RR = R1 = (float ) 0.898039; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.898039;
	break;
	case Quantity_NOC_GRAY91 :
		RR = R1 = (float ) 0.909804; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.909804;
	break;
	case Quantity_NOC_GRAY92 :
		RR = R1 = (float ) 0.921569; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.921569;
	break;
	case Quantity_NOC_GRAY93 :
		RR = R1 = (float ) 0.929412; RG = R2 = (float ) 0.929412; RB = R3 = (float ) 0.929412;
	break;
	case Quantity_NOC_GRAY94 :
		RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.941176;
	break;
	case Quantity_NOC_GRAY95 :
		RR = R1 = (float ) 0.949020; RG = R2 = (float ) 0.949020; RB = R3 = (float ) 0.949020;
	break;
	case Quantity_NOC_GREEN :
		RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GREEN1 :
		RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GREEN2 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GREEN3 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GREEN4 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_GREENYELLOW :
		RR = R1 = (float ) 0.678431; RG = R2 = 1.000000; RB = R3 = (float ) 0.184314;
	break;
	case Quantity_NOC_GRAY97 :
		RR = R1 = (float ) 0.968627; RG = R2 = (float ) 0.968627; RB = R3 = (float ) 0.968627;
	break;
	case Quantity_NOC_GRAY98 :
		RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_GRAY99 :
		RR = R1 = (float ) 0.988235; RG = R2 = (float ) 0.988235; RB = R3 = (float ) 0.988235;
	break;
	case Quantity_NOC_HONEYDEW :
		RR = R1 = (float ) 0.941176; RG = R2 = 1.000000; RB = R3 = (float ) 0.941176;
	break;
	case Quantity_NOC_HONEYDEW2 :
		RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.878431;
	break;
	case Quantity_NOC_HONEYDEW3 :
		RR = R1 = (float ) 0.756863; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.756863;
	break;
	case Quantity_NOC_HONEYDEW4 :
		RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.513725;
	break;
	case Quantity_NOC_HOTPINK :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_HOTPINK1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_HOTPINK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.654902;
	break;
	case Quantity_NOC_HOTPINK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.376471; RB = R3 = (float ) 0.564706;
	break;
	case Quantity_NOC_HOTPINK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.384314;
	break;
	case Quantity_NOC_INDIANRED :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.360784;
	break;
	case Quantity_NOC_INDIANRED1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.415686;
	break;
	case Quantity_NOC_INDIANRED2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.388235;
	break;
	case Quantity_NOC_INDIANRED3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.333333; RB = R3 = (float ) 0.333333;
	break;
	case Quantity_NOC_INDIANRED4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.227451;
	break;
	case Quantity_NOC_IVORY :
		RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.941176;
	break;
	case Quantity_NOC_IVORY2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.878431;
	break;
	case Quantity_NOC_IVORY3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.756863;
	break;
	case Quantity_NOC_IVORY4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.513725;
	break;
	case Quantity_NOC_KHAKI :
		RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.549020;
	break;
	case Quantity_NOC_KHAKI1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.964706; RB = R3 = (float ) 0.560784;
	break;
	case Quantity_NOC_KHAKI2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.521569;
	break;
	case Quantity_NOC_KHAKI3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.776471; RB = R3 = (float ) 0.450980;
	break;
	case Quantity_NOC_KHAKI4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.305882;
	break;
	case Quantity_NOC_LAVENDER :
		RR = R1 = (float ) 0.901961; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_LAVENDERBLUSH1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.960784;
	break;
	case Quantity_NOC_LAVENDERBLUSH2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.898039;
	break;
	case Quantity_NOC_LAVENDERBLUSH3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.772549;
	break;
	case Quantity_NOC_LAVENDERBLUSH4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.525490;
	break;
	case Quantity_NOC_LAWNGREEN :
		RR = R1 = (float ) 0.486275; RG = R2 = (float ) 0.988235; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_LEMONCHIFFON1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_LEMONCHIFFON2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.913725; RB = R3 = (float ) 0.749020;
	break;
	case Quantity_NOC_LEMONCHIFFON3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.647059;
	break;
	case Quantity_NOC_LEMONCHIFFON4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.537255; RB = R3 = (float ) 0.439216;
	break;
	case Quantity_NOC_LIGHTBLUE :
		RR = R1 = (float ) 0.678431; RG = R2 = (float ) 0.847059; RB = R3 = (float ) 0.901961;
	break;
	case Quantity_NOC_LIGHTBLUE1 :
		RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.937255; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_LIGHTBLUE2 :
		RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.874510; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_LIGHTBLUE3 :
		RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_LIGHTBLUE4 :
		RR = R1 = (float ) 0.407843; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_LIGHTCORAL :
		RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.501961;
	break;
	case Quantity_NOC_LIGHTCYAN1 :
		RR = R1 = (float ) 0.878431; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_LIGHTCYAN2 :
		RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_LIGHTCYAN3 :
		RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_LIGHTCYAN4 :
		RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_LIGHTGOLDENROD :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.866667; RB = R3 = (float ) 0.509804;
	break;
	case Quantity_NOC_LIGHTGOLDENROD1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.925490; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_LIGHTGOLDENROD2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.862745; RB = R3 = (float ) 0.509804;
	break;
	case Quantity_NOC_LIGHTGOLDENROD3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.745098; RB = R3 = (float ) 0.439216;
	break;
	case Quantity_NOC_LIGHTGOLDENROD4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.505882; RB = R3 = (float ) 0.298039;
	break;
	case Quantity_NOC_LIGHTGOLDENRODYELLOW :
		RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.823529;
	break;
	case Quantity_NOC_LIGHTGRAY :
		RR = R1 = (float ) 0.827451; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.827451;
	break;
	case Quantity_NOC_LIGHTPINK :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.756863;
	break;
	case Quantity_NOC_LIGHTPINK1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.682353; RB = R3 = (float ) 0.725490;
	break;
	case Quantity_NOC_LIGHTPINK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.635294; RB = R3 = (float ) 0.678431;
	break;
	case Quantity_NOC_LIGHTPINK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.584314;
	break;
	case Quantity_NOC_LIGHTPINK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.396078;
	break;
	case Quantity_NOC_LIGHTSALMON1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.627451; RB = R3 = (float ) 0.478431;
	break;
	case Quantity_NOC_LIGHTSALMON2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.447059;
	break;
	case Quantity_NOC_LIGHTSALMON3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.505882; RB = R3 = (float ) 0.384314;
	break;
	case Quantity_NOC_LIGHTSALMON4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.341176; RB = R3 = (float ) 0.258824;
	break;
	case Quantity_NOC_LIGHTSEAGREEN :
		RR = R1 = (float ) 0.125490; RG = R2 = (float ) 0.698039; RB = R3 = (float ) 0.666667;
	break;
	case Quantity_NOC_LIGHTSKYBLUE :
		RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_LIGHTSKYBLUE1 :
		RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.886275; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_LIGHTSKYBLUE2 :
		RR = R1 = (float ) 0.643137; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_LIGHTSKYBLUE3 :
		RR = R1 = (float ) 0.552941; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_LIGHTSKYBLUE4 :
		RR = R1 = (float ) 0.376471; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_LIGHTSLATEBLUE :
		RR = R1 = (float ) 0.517647; RG = R2 = (float ) 0.439216; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_LIGHTSLATEGRAY :
		RR = R1 = (float ) 0.466667; RG = R2 = (float ) 0.533333; RB = R3 = (float ) 0.600000;
	break;
	case Quantity_NOC_LIGHTSTEELBLUE :
		RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.768627; RB = R3 = (float ) 0.870588;
	break;
	case Quantity_NOC_LIGHTSTEELBLUE1 :
		RR = R1 = (float ) 0.792157; RG = R2 = (float ) 0.882353; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_LIGHTSTEELBLUE2 :
		RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.823529; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_LIGHTSTEELBLUE3 :
		RR = R1 = (float ) 0.635294; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_LIGHTSTEELBLUE4 :
		RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_LIGHTYELLOW :
		RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.878431;
	break;
	case Quantity_NOC_LIGHTYELLOW2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.819608;
	break;
	case Quantity_NOC_LIGHTYELLOW3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_LIGHTYELLOW4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.478431;
	break;
	case Quantity_NOC_LIMEGREEN :
		RR = R1 = (float ) 0.196078; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
	break;
	case Quantity_NOC_LINEN :
		RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.901961;
	break;
	case Quantity_NOC_MAGENTA1 :
		RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_MAGENTA2 :
		RR = R1 = (float ) 0.933333; RG = R2 = 0.000000; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_MAGENTA3 :
		RR = R1 = (float ) 0.803922; RG = R2 = 0.000000; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_MAGENTA4 :
		RR = R1 = (float ) 0.545098; RG = R2 = 0.000000; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_MAROON :
		RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.376471;
	break;
	case Quantity_NOC_MAROON1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.203922; RB = R3 = (float ) 0.701961;
	break;
	case Quantity_NOC_MAROON2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.654902;
	break;
	case Quantity_NOC_MAROON3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.160784; RB = R3 = (float ) 0.564706;
	break;
	case Quantity_NOC_MAROON4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.109804; RB = R3 = (float ) 0.384314;
	break;
	case Quantity_NOC_MEDIUMAQUAMARINE :
		RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.666667;
	break;
	case Quantity_NOC_MEDIUMORCHID :
		RR = R1 = (float ) 0.729412; RG = R2 = (float ) 0.333333; RB = R3 = (float ) 0.827451;
	break;
	case Quantity_NOC_MEDIUMORCHID1 :
		RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.400000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_MEDIUMORCHID2 :
		RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_MEDIUMORCHID3 :
		RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_MEDIUMORCHID4 :
		RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.215686; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_MEDIUMPURPLE :
		RR = R1 = (float ) 0.576471; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.858824;
	break;
	case Quantity_NOC_MEDIUMPURPLE1 :
		RR = R1 = (float ) 0.670588; RG = R2 = (float ) 0.509804; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_MEDIUMPURPLE2 :
		RR = R1 = (float ) 0.623529; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_MEDIUMPURPLE3 :
		RR = R1 = (float ) 0.537255; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_MEDIUMPURPLE4 :
		RR = R1 = (float ) 0.364706; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_MEDIUMSEAGREEN :
		RR = R1 = (float ) 0.235294; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.443137;
	break;
	case Quantity_NOC_MEDIUMSLATEBLUE :
		RR = R1 = (float ) 0.482353; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_MEDIUMSPRINGGREEN :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.603922;
	break;
	case Quantity_NOC_MEDIUMTURQUOISE :
		RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.819608; RB = R3 = (float ) 0.800000;
	break;
	case Quantity_NOC_MEDIUMVIOLETRED :
		RR = R1 = (float ) 0.780392; RG = R2 = (float ) 0.082353; RB = R3 = (float ) 0.521569;
	break;
	case Quantity_NOC_MIDNIGHTBLUE :
		RR = R1 = (float ) 0.098039; RG = R2 = (float ) 0.098039; RB = R3 = (float ) 0.439216;
	break;
	case Quantity_NOC_MINTCREAM :
		RR = R1 = (float ) 0.960784; RG = R2 = 1.000000; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_MISTYROSE :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.882353;
	break;
	case Quantity_NOC_MISTYROSE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.835294; RB = R3 = (float ) 0.823529;
	break;
	case Quantity_NOC_MISTYROSE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.709804;
	break;
	case Quantity_NOC_MISTYROSE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.482353;
	break;
	case Quantity_NOC_MOCCASIN :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.709804;
	break;
	case Quantity_NOC_NAVAJOWHITE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.678431;
	break;
	case Quantity_NOC_NAVAJOWHITE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.811765; RB = R3 = (float ) 0.631373;
	break;
	case Quantity_NOC_NAVAJOWHITE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_NAVAJOWHITE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.368627;
	break;
	case Quantity_NOC_NAVYBLUE :
		RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.501961;
	break;
	case Quantity_NOC_OLDLACE :
		RR = R1 = (float ) 0.992157; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.901961;
	break;
	case Quantity_NOC_OLIVEDRAB :
		RR = R1 = (float ) 0.419608; RG = R2 = (float ) 0.556863; RB = R3 = (float ) 0.137255;
	break;
	case Quantity_NOC_OLIVEDRAB1 :
		RR = R1 = (float ) 0.752941; RG = R2 = 1.000000; RB = R3 = (float ) 0.243137;
	break;
	case Quantity_NOC_OLIVEDRAB2 :
		RR = R1 = (float ) 0.701961; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.227451;
	break;
	case Quantity_NOC_OLIVEDRAB3 :
		RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
	break;
	case Quantity_NOC_OLIVEDRAB4 :
		RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.133333;
	break;
	case Quantity_NOC_ORANGE :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.603922; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.352941; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGERED :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGERED1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGERED2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.250980; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGERED3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.215686; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORANGERED4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.145098; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ORCHID :
		RR = R1 = (float ) 0.854902; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.839216;
	break;
	case Quantity_NOC_ORCHID1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_ORCHID2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.478431; RB = R3 = (float ) 0.913725;
	break;
	case Quantity_NOC_ORCHID3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.788235;
	break;
	case Quantity_NOC_ORCHID4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.537255;
	break;
	case Quantity_NOC_PALEGOLDENROD :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.666667;
	break;
	case Quantity_NOC_PALEGREEN :
		RR = R1 = (float ) 0.596078; RG = R2 = (float ) 0.984314; RB = R3 = (float ) 0.596078;
	break;
	case Quantity_NOC_PALEGREEN1 :
		RR = R1 = (float ) 0.603922; RG = R2 = 1.000000; RB = R3 = (float ) 0.603922;
	break;
	case Quantity_NOC_PALEGREEN2 :
		RR = R1 = (float ) 0.564706; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.564706;
	break;
	case Quantity_NOC_PALEGREEN3 :
		RR = R1 = (float ) 0.486275; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.486275;
	break;
	case Quantity_NOC_PALEGREEN4 :
		RR = R1 = (float ) 0.329412; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.329412;
	break;
	case Quantity_NOC_PALETURQUOISE :
		RR = R1 = (float ) 0.686275; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_PALETURQUOISE1 :
		RR = R1 = (float ) 0.733333; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_PALETURQUOISE2 :
		RR = R1 = (float ) 0.682353; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_PALETURQUOISE3 :
		RR = R1 = (float ) 0.588235; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_PALETURQUOISE4 :
		RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_PALEVIOLETRED :
		RR = R1 = (float ) 0.858824; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.576471;
	break;
	case Quantity_NOC_PALEVIOLETRED1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.670588;
	break;
	case Quantity_NOC_PALEVIOLETRED2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.623529;
	break;
	case Quantity_NOC_PALEVIOLETRED3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.537255;
	break;
	case Quantity_NOC_PALEVIOLETRED4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.364706;
	break;
	case Quantity_NOC_PAPAYAWHIP :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.937255; RB = R3 = (float ) 0.835294;
	break;
	case Quantity_NOC_PEACHPUFF :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.854902; RB = R3 = (float ) 0.725490;
	break;
	case Quantity_NOC_PEACHPUFF2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.796078; RB = R3 = (float ) 0.678431;
	break;
	case Quantity_NOC_PEACHPUFF3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.686275; RB = R3 = (float ) 0.584314;
	break;
	case Quantity_NOC_PEACHPUFF4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.466667; RB = R3 = (float ) 0.396078;
	break;
	case Quantity_NOC_PERU :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.247059;
	break;
	case Quantity_NOC_PINK :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.796078;
	break;
	case Quantity_NOC_PINK1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.772549;
	break;
	case Quantity_NOC_PINK2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.662745; RB = R3 = (float ) 0.721569;
	break;
	case Quantity_NOC_PINK3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.568627; RB = R3 = (float ) 0.619608;
	break;
	case Quantity_NOC_PINK4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.423529;
	break;
	case Quantity_NOC_PLUM :
		RR = R1 = (float ) 0.866667; RG = R2 = (float ) 0.627451; RB = R3 = (float ) 0.866667;
	break;
	case Quantity_NOC_PLUM1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.733333; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_PLUM2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.682353; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_PLUM3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_PLUM4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_POWDERBLUE :
		RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.901961;
	break;
	case Quantity_NOC_PURPLE :
		RR = R1 = (float ) 0.627451; RG = R2 = (float ) 0.125490; RB = R3 = (float ) 0.941176;
	break;
	case Quantity_NOC_PURPLE1 :
		RR = R1 = (float ) 0.607843; RG = R2 = (float ) 0.188235; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_PURPLE2 :
		RR = R1 = (float ) 0.568627; RG = R2 = (float ) 0.172549; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_PURPLE3 :
		RR = R1 = (float ) 0.490196; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_PURPLE4 :
		RR = R1 = (float ) 0.333333; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_RED :
		RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_RED1 :
		RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_RED2 :
		RR = R1 = (float ) 0.933333; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_RED3 :
		RR = R1 = (float ) 0.803922; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_RED4 :
		RR = R1 = (float ) 0.545098; RG = R2 = 0.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_ROSYBROWN :
		RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.560784; RB = R3 = (float ) 0.560784;
	break;
	case Quantity_NOC_ROSYBROWN1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.756863;
	break;
	case Quantity_NOC_ROSYBROWN2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_ROSYBROWN3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.607843; RB = R3 = (float ) 0.607843;
	break;
	case Quantity_NOC_ROSYBROWN4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.411765;
	break;
	case Quantity_NOC_ROYALBLUE :
		RR = R1 = (float ) 0.254902; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.882353;
	break;
	case Quantity_NOC_ROYALBLUE1 :
		RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.462745; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_ROYALBLUE2 :
		RR = R1 = (float ) 0.262745; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_ROYALBLUE3 :
		RR = R1 = (float ) 0.227451; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_ROYALBLUE4 :
		RR = R1 = (float ) 0.152941; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_SADDLEBROWN :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.074510;
	break;
	case Quantity_NOC_SALMON :
		RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.447059;
	break;
	case Quantity_NOC_SALMON1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.411765;
	break;
	case Quantity_NOC_SALMON2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.384314;
	break;
	case Quantity_NOC_SALMON3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.329412;
	break;
	case Quantity_NOC_SALMON4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.298039; RB = R3 = (float ) 0.223529;
	break;
	case Quantity_NOC_SANDYBROWN :
		RR = R1 = (float ) 0.956863; RG = R2 = (float ) 0.643137; RB = R3 = (float ) 0.376471;
	break;
	case Quantity_NOC_SEAGREEN :
		RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.341176;
	break;
	case Quantity_NOC_SEAGREEN1 :
		RR = R1 = (float ) 0.329412; RG = R2 = 1.000000; RB = R3 = (float ) 0.623529;
	break;
	case Quantity_NOC_SEAGREEN2 :
		RR = R1 = (float ) 0.305882; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.580392;
	break;
	case Quantity_NOC_SEAGREEN3 :
		RR = R1 = (float ) 0.262745; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.501961;
	break;
	case Quantity_NOC_SEAGREEN4 :
		RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.341176;
	break;
	case Quantity_NOC_SEASHELL :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_SEASHELL2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.870588;
	break;
	case Quantity_NOC_SEASHELL3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.749020;
	break;
	case Quantity_NOC_SEASHELL4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.509804;
	break;
	case Quantity_NOC_BEET :
		RR = R1 = (float ) 0.556863; RG = R2 = (float ) 0.219608; RB = R3 = (float ) 0.556863;
	break;
	case Quantity_NOC_TEAL :
		RR = R1 = (float ) 0.219608; RG = R2 = (float ) 0.556863; RB = R3 = (float ) 0.556863;
	break;
	case Quantity_NOC_SIENNA :
		RR = R1 = (float ) 0.627451; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.176471;
	break;
	case Quantity_NOC_SIENNA1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.278431;
	break;
	case Quantity_NOC_SIENNA2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.258824;
	break;
	case Quantity_NOC_SIENNA3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.223529;
	break;
	case Quantity_NOC_SIENNA4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.149020;
	break;
	case Quantity_NOC_SKYBLUE :
		RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.921569;
	break;
	case Quantity_NOC_SKYBLUE1 :
		RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_SKYBLUE2 :
		RR = R1 = (float ) 0.494118; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_SKYBLUE3 :
		RR = R1 = (float ) 0.423529; RG = R2 = (float ) 0.650980; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_SKYBLUE4 :
		RR = R1 = (float ) 0.290196; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_SLATEBLUE :
		RR = R1 = (float ) 0.415686; RG = R2 = (float ) 0.352941; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_SLATEBLUE1 :
		RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.435294; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_SLATEBLUE2 :
		RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.403922; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_SLATEBLUE3 :
		RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.349020; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_SLATEBLUE4 :
		RR = R1 = (float ) 0.278431; RG = R2 = (float ) 0.235294; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_SLATEGRAY1 :
		RR = R1 = (float ) 0.776471; RG = R2 = (float ) 0.886275; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_SLATEGRAY2 :
		RR = R1 = (float ) 0.725490; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_SLATEGRAY3 :
		RR = R1 = (float ) 0.623529; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_SLATEGRAY4 :
		RR = R1 = (float ) 0.423529; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_SLATEGRAY :
		RR = R1 = (float ) 0.439216; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.564706;
	break;
	case Quantity_NOC_SNOW :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.980392;
	break;
	case Quantity_NOC_SNOW2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.913725; RB = R3 = (float ) 0.913725;
	break;
	case Quantity_NOC_SNOW3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.788235;
	break;
	case Quantity_NOC_SNOW4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.537255; RB = R3 = (float ) 0.537255;
	break;
	case Quantity_NOC_SPRINGGREEN :
		RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.498039;
	break;
	case Quantity_NOC_SPRINGGREEN2 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.462745;
	break;
	case Quantity_NOC_SPRINGGREEN3 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.400000;
	break;
	case Quantity_NOC_SPRINGGREEN4 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.270588;
	break;
	case Quantity_NOC_STEELBLUE :
		RR = R1 = (float ) 0.274510; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.705882;
	break;
	case Quantity_NOC_STEELBLUE1 :
		RR = R1 = (float ) 0.388235; RG = R2 = (float ) 0.721569; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_STEELBLUE2 :
		RR = R1 = (float ) 0.360784; RG = R2 = (float ) 0.674510; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_STEELBLUE3 :
		RR = R1 = (float ) 0.309804; RG = R2 = (float ) 0.580392; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_STEELBLUE4 :
		RR = R1 = (float ) 0.211765; RG = R2 = (float ) 0.392157; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_TAN :
		RR = R1 = (float ) 0.823529; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.549020;
	break;
	case Quantity_NOC_TAN1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = (float ) 0.309804;
	break;
	case Quantity_NOC_TAN2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.603922; RB = R3 = (float ) 0.286275;
	break;
	case Quantity_NOC_TAN3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.247059;
	break;
	case Quantity_NOC_TAN4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.352941; RB = R3 = (float ) 0.168627;
	break;
	case Quantity_NOC_THISTLE :
		RR = R1 = (float ) 0.847059; RG = R2 = (float ) 0.749020; RB = R3 = (float ) 0.847059;
	break;
	case Quantity_NOC_THISTLE1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.882353; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_THISTLE2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.823529; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_THISTLE3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_THISTLE4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_TOMATO :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.278431;
	break;
	case Quantity_NOC_TOMATO1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.278431;
	break;
	case Quantity_NOC_TOMATO2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.258824;
	break;
	case Quantity_NOC_TOMATO3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.223529;
	break;
	case Quantity_NOC_TOMATO4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.211765; RB = R3 = (float ) 0.149020;
	break;
	case Quantity_NOC_TURQUOISE :
		RR = R1 = (float ) 0.250980; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.815686;
	break;
	case Quantity_NOC_TURQUOISE1 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.960784; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_TURQUOISE2 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_TURQUOISE3 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.803922;
	break;
	case Quantity_NOC_TURQUOISE4 :
		RR = R1 = 0.000000; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.545098;
	break;
	case Quantity_NOC_VIOLET :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.933333;
	break;
	case Quantity_NOC_VIOLETRED :
		RR = R1 = (float ) 0.815686; RG = R2 = (float ) 0.125490; RB = R3 = (float ) 0.564706;
	break;
	case Quantity_NOC_VIOLETRED1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.243137; RB = R3 = (float ) 0.588235;
	break;
	case Quantity_NOC_VIOLETRED2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.549020;
	break;
	case Quantity_NOC_VIOLETRED3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.470588;
	break;
	case Quantity_NOC_VIOLETRED4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.321569;
	break;
	case Quantity_NOC_WHEAT :
		RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.701961;
	break;
	case Quantity_NOC_WHEAT1 :
		RR = R1 = 1.000000; RG = R2 = (float ) 0.905882; RB = R3 = (float ) 0.729412;
	break;
	case Quantity_NOC_WHEAT2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.847059; RB = R3 = (float ) 0.682353;
	break;
	case Quantity_NOC_WHEAT3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.729412; RB = R3 = (float ) 0.588235;
	break;
	case Quantity_NOC_WHEAT4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.494118; RB = R3 = (float ) 0.400000;
	break;
	case Quantity_NOC_WHITE :
		RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 1.000000;
	break;
	case Quantity_NOC_WHITESMOKE :
		RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.960784;
	break;
	case Quantity_NOC_YELLOW :
		RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_YELLOW1 :
		RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_YELLOW2 :
		RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_YELLOW3 :
		RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_YELLOW4 :
		RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
	break;
	case Quantity_NOC_YELLOWGREEN :
		RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
	break;
	default :
		throw Standard_OutOfRange("Bad name");
	break;
}
	if (AType == Quantity_TOC_HLS)
	    Quantity_Color::rgbhls (RR, RG, RB, R1, R2, R3);
}

Standard_CString Quantity_Color::StringName (
                                 const Quantity_NameOfColor AName) {

Standard_CString TheName;
 
switch (AName) {

	case Quantity_NOC_BLACK :
		TheName = "BLACK";
	break;
	case Quantity_NOC_MATRAGRAY :
		TheName = "MATRAGRAY";
	break;
	case Quantity_NOC_MATRABLUE :
		TheName = "MATRABLUE";
	break;
	case Quantity_NOC_ALICEBLUE :
		TheName = "ALICEBLUE";
	break;
	case Quantity_NOC_ANTIQUEWHITE :
		TheName = "ANTIQUEWHITE";
	break;
	case Quantity_NOC_ANTIQUEWHITE1 :
		TheName = "ANTIQUEWHITE1";
	break;
	case Quantity_NOC_ANTIQUEWHITE2 :
		TheName = "ANTIQUEWHITE2";
	break;
	case Quantity_NOC_ANTIQUEWHITE3 :
		TheName = "ANTIQUEWHITE3";
	break;
	case Quantity_NOC_ANTIQUEWHITE4 :
		TheName = "ANTIQUEWHITE4";
	break;
	case Quantity_NOC_AQUAMARINE1 :
		TheName = "AQUAMARINE1";
	break;
	case Quantity_NOC_AQUAMARINE2 :
		TheName = "AQUAMARINE2";
	break;
	case Quantity_NOC_AQUAMARINE4 :
		TheName = "AQUAMARINE4";
	break;
	case Quantity_NOC_AZURE :
		TheName = "AZURE";
	break;
	case Quantity_NOC_AZURE2 :
		TheName = "AZURE2";
	break;
	case Quantity_NOC_AZURE3 :
		TheName = "AZURE3";
	break;
	case Quantity_NOC_AZURE4 :
		TheName = "AZURE4";
	break;
	case Quantity_NOC_BEIGE :
		TheName = "BEIGE";
	break;
	case Quantity_NOC_BISQUE :
		TheName = "BISQUE";
	break;
	case Quantity_NOC_BISQUE2 :
		TheName = "BISQUE2";
	break;
	case Quantity_NOC_BISQUE3 :
		TheName = "BISQUE3";
	break;
	case Quantity_NOC_BISQUE4 :
		TheName = "BISQUE4";
	break;
	case Quantity_NOC_BLANCHEDALMOND :
		TheName = "BLANCHEDALMOND";
	break;
	case Quantity_NOC_BLUE1 :
		TheName = "BLUE1";
	break;
	case Quantity_NOC_BLUE2 :
		TheName = "BLUE2";
	break;
	case Quantity_NOC_BLUE3 :
		TheName = "BLUE3";
	break;
	case Quantity_NOC_BLUE4 :
		TheName = "BLUE4";
	break;
	case Quantity_NOC_BLUEVIOLET :
		TheName = "BLUEVIOLET";
	break;
	case Quantity_NOC_BROWN :
		TheName = "BROWN";
	break;
	case Quantity_NOC_BROWN1 :
		TheName = "BROWN1";
	break;
	case Quantity_NOC_BROWN2 :
		TheName = "BROWN2";
	break;
	case Quantity_NOC_BROWN3 :
		TheName = "BROWN3";
	break;
	case Quantity_NOC_BROWN4 :
		TheName = "BROWN4";
	break;
	case Quantity_NOC_BURLYWOOD :
		TheName = "BURLYWOOD";
	break;
	case Quantity_NOC_BURLYWOOD1 :
		TheName = "BURLYWOOD1";
	break;
	case Quantity_NOC_BURLYWOOD2 :
		TheName = "BURLYWOOD2";
	break;
	case Quantity_NOC_BURLYWOOD3 :
		TheName = "BURLYWOOD3";
	break;
	case Quantity_NOC_BURLYWOOD4 :
		TheName = "BURLYWOOD4";
	break;
	case Quantity_NOC_CADETBLUE :
		TheName = "CADETBLUE";
	break;
	case Quantity_NOC_CADETBLUE1 :
		TheName = "CADETBLUE1";
	break;
	case Quantity_NOC_CADETBLUE2 :
		TheName = "CADETBLUE2";
	break;
	case Quantity_NOC_CADETBLUE3 :
		TheName = "CADETBLUE3";
	break;
	case Quantity_NOC_CADETBLUE4 :
		TheName = "CADETBLUE4";
	break;
	case Quantity_NOC_CHARTREUSE :
		TheName = "CHARTREUSE";
	break;
	case Quantity_NOC_CHARTREUSE1 :
		TheName = "CHARTREUSE1";
	break;
	case Quantity_NOC_CHARTREUSE2 :
		TheName = "CHARTREUSE2";
	break;
	case Quantity_NOC_CHARTREUSE3 :
		TheName = "CHARTREUSE3";
	break;
	case Quantity_NOC_CHARTREUSE4 :
		TheName = "CHARTREUSE4";
	break;
	case Quantity_NOC_CHOCOLATE :
		TheName = "CHOCOLATE";
	break;
	case Quantity_NOC_CHOCOLATE1 :
		TheName = "CHOCOLATE1";
	break;
	case Quantity_NOC_CHOCOLATE2 :
		TheName = "CHOCOLATE2";
	break;
	case Quantity_NOC_CHOCOLATE3 :
		TheName = "CHOCOLATE3";
	break;
	case Quantity_NOC_CHOCOLATE4 :
		TheName = "CHOCOLATE4";
	break;
	case Quantity_NOC_CORAL :
		TheName = "CORAL";
	break;
	case Quantity_NOC_CORAL1 :
		TheName = "CORAL1";
	break;
	case Quantity_NOC_CORAL2 :
		TheName = "CORAL2";
	break;
	case Quantity_NOC_CORAL3 :
		TheName = "CORAL3";
	break;
	case Quantity_NOC_CORAL4 :
		TheName = "CORAL4";
	break;
	case Quantity_NOC_CORNFLOWERBLUE :
		TheName = "CORNFLOWERBLUE";
	break;
	case Quantity_NOC_CORNSILK1 :
		TheName = "CORNSILK1";
	break;
	case Quantity_NOC_CORNSILK2 :
		TheName = "CORNSILK2";
	break;
	case Quantity_NOC_CORNSILK3 :
		TheName = "CORNSILK3";
	break;
	case Quantity_NOC_CORNSILK4 :
		TheName = "CORNSILK4";
	break;
	case Quantity_NOC_CYAN1 :
		TheName = "CYAN1";
	break;
	case Quantity_NOC_CYAN2 :
		TheName = "CYAN2";
	break;
	case Quantity_NOC_CYAN3 :
		TheName = "CYAN3";
	break;
	case Quantity_NOC_CYAN4 :
		TheName = "CYAN4";
	break;
	case Quantity_NOC_DARKGOLDENROD :
		TheName = "DARKGOLDENROD";
	break;
	case Quantity_NOC_DARKGOLDENROD1 :
		TheName = "DARKGOLDENROD1";
	break;
	case Quantity_NOC_DARKGOLDENROD2 :
		TheName = "DARKGOLDENROD2";
	break;
	case Quantity_NOC_DARKGOLDENROD3 :
		TheName = "DARKGOLDENROD3";
	break;
	case Quantity_NOC_DARKGOLDENROD4 :
		TheName = "DARKGOLDENROD4";
	break;
	case Quantity_NOC_DARKGREEN :
		TheName = "DARKGREEN";
	break;
	case Quantity_NOC_DARKKHAKI :
		TheName = "DARKKHAKI";
	break;
	case Quantity_NOC_DARKOLIVEGREEN :
		TheName = "DARKOLIVEGREEN";
	break;
	case Quantity_NOC_DARKOLIVEGREEN1 :
		TheName = "DARKOLIVEGREEN1";
	break;
	case Quantity_NOC_DARKOLIVEGREEN2 :
		TheName = "DARKOLIVEGREEN2";
	break;
	case Quantity_NOC_DARKOLIVEGREEN3 :
		TheName = "DARKOLIVEGREEN3";
	break;
	case Quantity_NOC_DARKOLIVEGREEN4 :
		TheName = "DARKOLIVEGREEN4";
	break;
	case Quantity_NOC_DARKORANGE :
		TheName = "DARKORANGE";
	break;
	case Quantity_NOC_DARKORANGE1 :
		TheName = "DARKORANGE1";
	break;
	case Quantity_NOC_DARKORANGE2 :
		TheName = "DARKORANGE2";
	break;
	case Quantity_NOC_DARKORANGE3 :
		TheName = "DARKORANGE3";
	break;
	case Quantity_NOC_DARKORANGE4 :
		TheName = "DARKORANGE4";
	break;
	case Quantity_NOC_DARKORCHID :
		TheName = "DARKORCHID";
	break;
	case Quantity_NOC_DARKORCHID1 :
		TheName = "DARKORCHID1";
	break;
	case Quantity_NOC_DARKORCHID2 :
		TheName = "DARKORCHID2";
	break;
	case Quantity_NOC_DARKORCHID3 :
		TheName = "DARKORCHID3";
	break;
	case Quantity_NOC_DARKORCHID4 :
		TheName = "DARKORCHID4";
	break;
	case Quantity_NOC_DARKSALMON :
		TheName = "DARKSALMON";
	break;
	case Quantity_NOC_DARKSEAGREEN :
		TheName = "DARKSEAGREEN";
	break;
	case Quantity_NOC_DARKSEAGREEN1 :
		TheName = "DARKSEAGREEN1";
	break;
	case Quantity_NOC_DARKSEAGREEN2 :
		TheName = "DARKSEAGREEN2";
	break;
	case Quantity_NOC_DARKSEAGREEN3 :
		TheName = "DARKSEAGREEN3";
	break;
	case Quantity_NOC_DARKSEAGREEN4 :
		TheName = "DARKSEAGREEN4";
	break;
	case Quantity_NOC_DARKSLATEBLUE :
		TheName = "DARKSLATEBLUE";
	break;
	case Quantity_NOC_DARKSLATEGRAY1 :
		TheName = "DARKSLATEGRAY1";
	break;
	case Quantity_NOC_DARKSLATEGRAY2 :
		TheName = "DARKSLATEGRAY2";
	break;
	case Quantity_NOC_DARKSLATEGRAY3 :
		TheName = "DARKSLATEGRAY3";
	break;
	case Quantity_NOC_DARKSLATEGRAY4 :
		TheName = "DARKSLATEGRAY4";
	break;
	case Quantity_NOC_DARKSLATEGRAY :
		TheName = "DARKSLATEGRAY";
	break;
	case Quantity_NOC_DARKTURQUOISE :
		TheName = "DARKTURQUOISE";
	break;
	case Quantity_NOC_DARKVIOLET :
		TheName = "DARKVIOLET";
	break;
	case Quantity_NOC_DEEPPINK :
		TheName = "DEEPPINK";
	break;
	case Quantity_NOC_DEEPPINK2 :
		TheName = "DEEPPINK2";
	break;
	case Quantity_NOC_DEEPPINK3 :
		TheName = "DEEPPINK3";
	break;
	case Quantity_NOC_DEEPPINK4 :
		TheName = "DEEPPINK4";
	break;
	case Quantity_NOC_DEEPSKYBLUE1 :
		TheName = "DEEPSKYBLUE1";
	break;
	case Quantity_NOC_DEEPSKYBLUE2 :
		TheName = "DEEPSKYBLUE2";
	break;
	case Quantity_NOC_DEEPSKYBLUE3 :
		TheName = "DEEPSKYBLUE3";
	break;
	case Quantity_NOC_DEEPSKYBLUE4 :
		TheName = "DEEPSKYBLUE4";
	break;
	case Quantity_NOC_DODGERBLUE1 :
		TheName = "DODGERBLUE1";
	break;
	case Quantity_NOC_DODGERBLUE2 :
		TheName = "DODGERBLUE2";
	break;
	case Quantity_NOC_DODGERBLUE3 :
		TheName = "DODGERBLUE3";
	break;
	case Quantity_NOC_DODGERBLUE4 :
		TheName = "DODGERBLUE4";
	break;
	case Quantity_NOC_FIREBRICK :
		TheName = "FIREBRICK";
	break;
	case Quantity_NOC_FIREBRICK1 :
		TheName = "FIREBRICK1";
	break;
	case Quantity_NOC_FIREBRICK2 :
		TheName = "FIREBRICK2";
	break;
	case Quantity_NOC_FIREBRICK3 :
		TheName = "FIREBRICK3";
	break;
	case Quantity_NOC_FIREBRICK4 :
		TheName = "FIREBRICK4";
	break;
	case Quantity_NOC_FLORALWHITE :
		TheName = "FLORALWHITE";
	break;
	case Quantity_NOC_FORESTGREEN :
		TheName = "FORESTGREEN";
	break;
	case Quantity_NOC_GAINSBORO :
		TheName = "GAINSBORO";
	break;
	case Quantity_NOC_GHOSTWHITE :
		TheName = "GHOSTWHITE";
	break;
	case Quantity_NOC_GOLD :
		TheName = "GOLD";
	break;
	case Quantity_NOC_GOLD1 :
		TheName = "GOLD1";
	break;
	case Quantity_NOC_GOLD2 :
		TheName = "GOLD2";
	break;
	case Quantity_NOC_GOLD3 :
		TheName = "GOLD3";
	break;
	case Quantity_NOC_GOLD4 :
		TheName = "GOLD4";
	break;
	case Quantity_NOC_GOLDENROD :
		TheName = "GOLDENROD";
	break;
	case Quantity_NOC_GOLDENROD1 :
		TheName = "GOLDENROD1";
	break;
	case Quantity_NOC_GOLDENROD2 :
		TheName = "GOLDENROD2";
	break;
	case Quantity_NOC_GOLDENROD3 :
		TheName = "GOLDENROD3";
	break;
	case Quantity_NOC_GOLDENROD4 :
		TheName = "GOLDENROD4";
	break;
	case Quantity_NOC_GRAY :
		TheName = "GRAY";
	break;
	case Quantity_NOC_GRAY0 :
		TheName = "GRAY0";
	break;
	case Quantity_NOC_GRAY1 :
		TheName = "GRAY1";
	break;
	case Quantity_NOC_GRAY10 :
		TheName = "GRAY10";
	break;
	case Quantity_NOC_GRAY11 :
		TheName = "GRAY11";
	break;
	case Quantity_NOC_GRAY12 :
		TheName = "GRAY12";
	break;
	case Quantity_NOC_GRAY13 :
		TheName = "GRAY13";
	break;
	case Quantity_NOC_GRAY14 :
		TheName = "GRAY14";
	break;
	case Quantity_NOC_GRAY15 :
		TheName = "GRAY15";
	break;
	case Quantity_NOC_GRAY16 :
		TheName = "GRAY16";
	break;
	case Quantity_NOC_GRAY17 :
		TheName = "GRAY17";
	break;
	case Quantity_NOC_GRAY18 :
		TheName = "GRAY18";
	break;
	case Quantity_NOC_GRAY19 :
		TheName = "GRAY19";
	break;
	case Quantity_NOC_GRAY2 :
		TheName = "GRAY2";
	break;
	case Quantity_NOC_GRAY20 :
		TheName = "GRAY20";
	break;
	case Quantity_NOC_GRAY21 :
		TheName = "GRAY21";
	break;
	case Quantity_NOC_GRAY22 :
		TheName = "GRAY22";
	break;
	case Quantity_NOC_GRAY23 :
		TheName = "GRAY23";
	break;
	case Quantity_NOC_GRAY24 :
		TheName = "GRAY24";
	break;
	case Quantity_NOC_GRAY25 :
		TheName = "GRAY25";
	break;
	case Quantity_NOC_GRAY26 :
		TheName = "GRAY26";
	break;
	case Quantity_NOC_GRAY27 :
		TheName = "GRAY27";
	break;
	case Quantity_NOC_GRAY28 :
		TheName = "GRAY28";
	break;
	case Quantity_NOC_GRAY29 :
		TheName = "GRAY29";
	break;
	case Quantity_NOC_GRAY3 :
		TheName = "GRAY3";
	break;
	case Quantity_NOC_GRAY30 :
		TheName = "GRAY30";
	break;
	case Quantity_NOC_GRAY31 :
		TheName = "GRAY31";
	break;
	case Quantity_NOC_GRAY32 :
		TheName = "GRAY32";
	break;
	case Quantity_NOC_GRAY33 :
		TheName = "GRAY33";
	break;
	case Quantity_NOC_GRAY34 :
		TheName = "GRAY34";
	break;
	case Quantity_NOC_GRAY35 :
		TheName = "GRAY35";
	break;
	case Quantity_NOC_GRAY36 :
		TheName = "GRAY36";
	break;
	case Quantity_NOC_GRAY37 :
		TheName = "GRAY37";
	break;
	case Quantity_NOC_GRAY38 :
		TheName = "GRAY38";
	break;
	case Quantity_NOC_GRAY39 :
		TheName = "GRAY39";
	break;
	case Quantity_NOC_GRAY4 :
		TheName = "GRAY4";
	break;
	case Quantity_NOC_GRAY40 :
		TheName = "GRAY40";
	break;
	case Quantity_NOC_GRAY41 :
		TheName = "GRAY41";
	break;
	case Quantity_NOC_GRAY42 :
		TheName = "GRAY42";
	break;
	case Quantity_NOC_GRAY43 :
		TheName = "GRAY43";
	break;
	case Quantity_NOC_GRAY44 :
		TheName = "GRAY44";
	break;
	case Quantity_NOC_GRAY45 :
		TheName = "GRAY45";
	break;
	case Quantity_NOC_GRAY46 :
		TheName = "GRAY46";
	break;
	case Quantity_NOC_GRAY47 :
		TheName = "GRAY47";
	break;
	case Quantity_NOC_GRAY48 :
		TheName = "GRAY48";
	break;
	case Quantity_NOC_GRAY49 :
		TheName = "GRAY49";
	break;
	case Quantity_NOC_GRAY5 :
		TheName = "GRAY5";
	break;
	case Quantity_NOC_GRAY50 :
		TheName = "GRAY50";
	break;
	case Quantity_NOC_GRAY51 :
		TheName = "GRAY51";
	break;
	case Quantity_NOC_GRAY52 :
		TheName = "GRAY52";
	break;
	case Quantity_NOC_GRAY53 :
		TheName = "GRAY53";
	break;
	case Quantity_NOC_GRAY54 :
		TheName = "GRAY54";
	break;
	case Quantity_NOC_GRAY55 :
		TheName = "GRAY55";
	break;
	case Quantity_NOC_GRAY56 :
		TheName = "GRAY56";
	break;
	case Quantity_NOC_GRAY57 :
		TheName = "GRAY57";
	break;
	case Quantity_NOC_GRAY58 :
		TheName = "GRAY58";
	break;
	case Quantity_NOC_GRAY59 :
		TheName = "GRAY59";
	break;
	case Quantity_NOC_GRAY6 :
		TheName = "GRAY6";
	break;
	case Quantity_NOC_GRAY60 :
		TheName = "GRAY60";
	break;
	case Quantity_NOC_GRAY61 :
		TheName = "GRAY61";
	break;
	case Quantity_NOC_GRAY62 :
		TheName = "GRAY62";
	break;
	case Quantity_NOC_GRAY63 :
		TheName = "GRAY63";
	break;
	case Quantity_NOC_GRAY64 :
		TheName = "GRAY64";
	break;
	case Quantity_NOC_GRAY65 :
		TheName = "GRAY65";
	break;
	case Quantity_NOC_GRAY66 :
		TheName = "GRAY66";
	break;
	case Quantity_NOC_GRAY67 :
		TheName = "GRAY67";
	break;
	case Quantity_NOC_GRAY68 :
		TheName = "GRAY68";
	break;
	case Quantity_NOC_GRAY69 :
		TheName = "GRAY69";
	break;
	case Quantity_NOC_GRAY7 :
		TheName = "GRAY7";
	break;
	case Quantity_NOC_GRAY70 :
		TheName = "GRAY70";
	break;
	case Quantity_NOC_GRAY71 :
		TheName = "GRAY71";
	break;
	case Quantity_NOC_GRAY72 :
		TheName = "GRAY72";
	break;
	case Quantity_NOC_GRAY73 :
		TheName = "GRAY73";
	break;
	case Quantity_NOC_GRAY74 :
		TheName = "GRAY74";
	break;
	case Quantity_NOC_GRAY75 :
		TheName = "GRAY75";
	break;
	case Quantity_NOC_GRAY76 :
		TheName = "GRAY76";
	break;
	case Quantity_NOC_GRAY77 :
		TheName = "GRAY77";
	break;
	case Quantity_NOC_GRAY78 :
		TheName = "GRAY78";
	break;
	case Quantity_NOC_GRAY79 :
		TheName = "GRAY79";
	break;
	case Quantity_NOC_GRAY8 :
		TheName = "GRAY8";
	break;
	case Quantity_NOC_GRAY80 :
		TheName = "GRAY80";
	break;
	case Quantity_NOC_GRAY81 :
		TheName = "GRAY81";
	break;
	case Quantity_NOC_GRAY82 :
		TheName = "GRAY82";
	break;
	case Quantity_NOC_GRAY83 :
		TheName = "GRAY83";
	break;
	case Quantity_NOC_GRAY85 :
		TheName = "GRAY85";
	break;
	case Quantity_NOC_GRAY86 :
		TheName = "GRAY86";
	break;
	case Quantity_NOC_GRAY87 :
		TheName = "GRAY87";
	break;
	case Quantity_NOC_GRAY88 :
		TheName = "GRAY88";
	break;
	case Quantity_NOC_GRAY89 :
		TheName = "GRAY89";
	break;
	case Quantity_NOC_GRAY9 :
		TheName = "GRAY9";
	break;
	case Quantity_NOC_GRAY90 :
		TheName = "GRAY90";
	break;
	case Quantity_NOC_GRAY91 :
		TheName = "GRAY91";
	break;
	case Quantity_NOC_GRAY92 :
		TheName = "GRAY92";
	break;
	case Quantity_NOC_GRAY93 :
		TheName = "GRAY93";
	break;
	case Quantity_NOC_GRAY94 :
		TheName = "GRAY94";
	break;
	case Quantity_NOC_GRAY95 :
		TheName = "GRAY95";
	break;
	case Quantity_NOC_GREEN :
		TheName = "GREEN";
	break;
	case Quantity_NOC_GREEN1 :
		TheName = "GREEN1";
	break;
	case Quantity_NOC_GREEN2 :
		TheName = "GREEN2";
	break;
	case Quantity_NOC_GREEN3 :
		TheName = "GREEN3";
	break;
	case Quantity_NOC_GREEN4 :
		TheName = "GREEN4";
	break;
	case Quantity_NOC_GREENYELLOW :
		TheName = "GREENYELLOW";
	break;
	case Quantity_NOC_GRAY97 :
		TheName = "GRAY97";
	break;
	case Quantity_NOC_GRAY98 :
		TheName = "GRAY98";
	break;
	case Quantity_NOC_GRAY99 :
		TheName = "GRAY99";
	break;
	case Quantity_NOC_HONEYDEW :
		TheName = "HONEYDEW";
	break;
	case Quantity_NOC_HONEYDEW2 :
		TheName = "HONEYDEW2";
	break;
	case Quantity_NOC_HONEYDEW3 :
		TheName = "HONEYDEW3";
	break;
	case Quantity_NOC_HONEYDEW4 :
		TheName = "HONEYDEW4";
	break;
	case Quantity_NOC_HOTPINK :
		TheName = "HOTPINK";
	break;
	case Quantity_NOC_HOTPINK1 :
		TheName = "HOTPINK1";
	break;
	case Quantity_NOC_HOTPINK2 :
		TheName = "HOTPINK2";
	break;
	case Quantity_NOC_HOTPINK3 :
		TheName = "HOTPINK3";
	break;
	case Quantity_NOC_HOTPINK4 :
		TheName = "HOTPINK4";
	break;
	case Quantity_NOC_INDIANRED :
		TheName = "INDIANRED";
	break;
	case Quantity_NOC_INDIANRED1 :
		TheName = "INDIANRED1";
	break;
	case Quantity_NOC_INDIANRED2 :
		TheName = "INDIANRED2";
	break;
	case Quantity_NOC_INDIANRED3 :
		TheName = "INDIANRED3";
	break;
	case Quantity_NOC_INDIANRED4 :
		TheName = "INDIANRED4";
	break;
	case Quantity_NOC_IVORY :
		TheName = "IVORY";
	break;
	case Quantity_NOC_IVORY2 :
		TheName = "IVORY2";
	break;
	case Quantity_NOC_IVORY3 :
		TheName = "IVORY3";
	break;
	case Quantity_NOC_IVORY4 :
		TheName = "IVORY4";
	break;
	case Quantity_NOC_KHAKI :
		TheName = "KHAKI";
	break;
	case Quantity_NOC_KHAKI1 :
		TheName = "KHAKI1";
	break;
	case Quantity_NOC_KHAKI2 :
		TheName = "KHAKI2";
	break;
	case Quantity_NOC_KHAKI3 :
		TheName = "KHAKI3";
	break;
	case Quantity_NOC_KHAKI4 :
		TheName = "KHAKI4";
	break;
	case Quantity_NOC_LAVENDER :
		TheName = "LAVENDER";
	break;
	case Quantity_NOC_LAVENDERBLUSH1 :
		TheName = "LAVENDERBLUSH1";
	break;
	case Quantity_NOC_LAVENDERBLUSH2 :
		TheName = "LAVENDERBLUSH2";
	break;
	case Quantity_NOC_LAVENDERBLUSH3 :
		TheName = "LAVENDERBLUSH3";
	break;
	case Quantity_NOC_LAVENDERBLUSH4 :
		TheName = "LAVENDERBLUSH4";
	break;
	case Quantity_NOC_LAWNGREEN :
		TheName = "LAWNGREEN";
	break;
	case Quantity_NOC_LEMONCHIFFON1 :
		TheName = "LEMONCHIFFON1";
	break;
	case Quantity_NOC_LEMONCHIFFON2 :
		TheName = "LEMONCHIFFON2";
	break;
	case Quantity_NOC_LEMONCHIFFON3 :
		TheName = "LEMONCHIFFON3";
	break;
	case Quantity_NOC_LEMONCHIFFON4 :
		TheName = "LEMONCHIFFON4";
	break;
	case Quantity_NOC_LIGHTBLUE :
		TheName = "LIGHTBLUE";
	break;
	case Quantity_NOC_LIGHTBLUE1 :
		TheName = "LIGHTBLUE1";
	break;
	case Quantity_NOC_LIGHTBLUE2 :
		TheName = "LIGHTBLUE2";
	break;
	case Quantity_NOC_LIGHTBLUE3 :
		TheName = "LIGHTBLUE3";
	break;
	case Quantity_NOC_LIGHTBLUE4 :
		TheName = "LIGHTBLUE4";
	break;
	case Quantity_NOC_LIGHTCORAL :
		TheName = "LIGHTCORAL";
	break;
	case Quantity_NOC_LIGHTCYAN1 :
		TheName = "LIGHTCYAN1";
	break;
	case Quantity_NOC_LIGHTCYAN2 :
		TheName = "LIGHTCYAN2";
	break;
	case Quantity_NOC_LIGHTCYAN3 :
		TheName = "LIGHTCYAN3";
	break;
	case Quantity_NOC_LIGHTCYAN4 :
		TheName = "LIGHTCYAN4";
	break;
	case Quantity_NOC_LIGHTGOLDENROD :
		TheName = "LIGHTGOLDENROD";
	break;
	case Quantity_NOC_LIGHTGOLDENROD1 :
		TheName = "LIGHTGOLDENROD1";
	break;
	case Quantity_NOC_LIGHTGOLDENROD2 :
		TheName = "LIGHTGOLDENROD2";
	break;
	case Quantity_NOC_LIGHTGOLDENROD3 :
		TheName = "LIGHTGOLDENROD3";
	break;
	case Quantity_NOC_LIGHTGOLDENROD4 :
		TheName = "LIGHTGOLDENROD4";
	break;
	case Quantity_NOC_LIGHTGOLDENRODYELLOW :
		TheName = "LIGHTGOLDENRODYELLOW";
	break;
	case Quantity_NOC_LIGHTGRAY :
		TheName = "LIGHTGRAY";
	break;
	case Quantity_NOC_LIGHTPINK :
		TheName = "LIGHTPINK";
	break;
	case Quantity_NOC_LIGHTPINK1 :
		TheName = "LIGHTPINK1";
	break;
	case Quantity_NOC_LIGHTPINK2 :
		TheName = "LIGHTPINK2";
	break;
	case Quantity_NOC_LIGHTPINK3 :
		TheName = "LIGHTPINK3";
	break;
	case Quantity_NOC_LIGHTPINK4 :
		TheName = "LIGHTPINK4";
	break;
	case Quantity_NOC_LIGHTSALMON1 :
		TheName = "LIGHTSALMON1";
	break;
	case Quantity_NOC_LIGHTSALMON2 :
		TheName = "LIGHTSALMON2";
	break;
	case Quantity_NOC_LIGHTSALMON3 :
		TheName = "LIGHTSALMON3";
	break;
	case Quantity_NOC_LIGHTSALMON4 :
		TheName = "LIGHTSALMON4";
	break;
	case Quantity_NOC_LIGHTSEAGREEN :
		TheName = "LIGHTSEAGREEN";
	break;
	case Quantity_NOC_LIGHTSKYBLUE :
		TheName = "LIGHTSKYBLUE";
	break;
	case Quantity_NOC_LIGHTSKYBLUE1 :
		TheName = "LIGHTSKYBLUE1";
	break;
	case Quantity_NOC_LIGHTSKYBLUE2 :
		TheName = "LIGHTSKYBLUE2";
	break;
	case Quantity_NOC_LIGHTSKYBLUE3 :
		TheName = "LIGHTSKYBLUE3";
	break;
	case Quantity_NOC_LIGHTSKYBLUE4 :
		TheName = "LIGHTSKYBLUE4";
	break;
	case Quantity_NOC_LIGHTSLATEBLUE :
		TheName = "LIGHTSLATEBLUE";
	break;
	case Quantity_NOC_LIGHTSLATEGRAY :
		TheName = "LIGHTSLATEGRAY";
	break;
	case Quantity_NOC_LIGHTSTEELBLUE :
		TheName = "LIGHTSTEELBLUE";
	break;
	case Quantity_NOC_LIGHTSTEELBLUE1 :
		TheName = "LIGHTSTEELBLUE1";
	break;
	case Quantity_NOC_LIGHTSTEELBLUE2 :
		TheName = "LIGHTSTEELBLUE2";
	break;
	case Quantity_NOC_LIGHTSTEELBLUE3 :
		TheName = "LIGHTSTEELBLUE3";
	break;
	case Quantity_NOC_LIGHTSTEELBLUE4 :
		TheName = "LIGHTSTEELBLUE4";
	break;
	case Quantity_NOC_LIGHTYELLOW :
		TheName = "LIGHTYELLOW";
	break;
	case Quantity_NOC_LIGHTYELLOW2 :
		TheName = "LIGHTYELLOW2";
	break;
	case Quantity_NOC_LIGHTYELLOW3 :
		TheName = "LIGHTYELLOW3";
	break;
	case Quantity_NOC_LIGHTYELLOW4 :
		TheName = "LIGHTYELLOW4";
	break;
	case Quantity_NOC_LIMEGREEN :
		TheName = "LIMEGREEN";
	break;
	case Quantity_NOC_LINEN :
		TheName = "LINEN";
	break;
	case Quantity_NOC_MAGENTA1 :
		TheName = "MAGENTA1";
	break;
	case Quantity_NOC_MAGENTA2 :
		TheName = "MAGENTA2";
	break;
	case Quantity_NOC_MAGENTA3 :
		TheName = "MAGENTA3";
	break;
	case Quantity_NOC_MAGENTA4 :
		TheName = "MAGENTA4";
	break;
	case Quantity_NOC_MAROON :
		TheName = "MAROON";
	break;
	case Quantity_NOC_MAROON1 :
		TheName = "MAROON1";
	break;
	case Quantity_NOC_MAROON2 :
		TheName = "MAROON2";
	break;
	case Quantity_NOC_MAROON3 :
		TheName = "MAROON3";
	break;
	case Quantity_NOC_MAROON4 :
		TheName = "MAROON4";
	break;
	case Quantity_NOC_MEDIUMAQUAMARINE :
		TheName = "MEDIUMAQUAMARINE";
	break;
	case Quantity_NOC_MEDIUMORCHID :
		TheName = "MEDIUMORCHID";
	break;
	case Quantity_NOC_MEDIUMORCHID1 :
		TheName = "MEDIUMORCHID1";
	break;
	case Quantity_NOC_MEDIUMORCHID2 :
		TheName = "MEDIUMORCHID2";
	break;
	case Quantity_NOC_MEDIUMORCHID3 :
		TheName = "MEDIUMORCHID3";
	break;
	case Quantity_NOC_MEDIUMORCHID4 :
		TheName = "MEDIUMORCHID4";
	break;
	case Quantity_NOC_MEDIUMPURPLE :
		TheName = "MEDIUMPURPLE";
	break;
	case Quantity_NOC_MEDIUMPURPLE1 :
		TheName = "MEDIUMPURPLE1";
	break;
	case Quantity_NOC_MEDIUMPURPLE2 :
		TheName = "MEDIUMPURPLE2";
	break;
	case Quantity_NOC_MEDIUMPURPLE3 :
		TheName = "MEDIUMPURPLE3";
	break;
	case Quantity_NOC_MEDIUMPURPLE4 :
		TheName = "MEDIUMPURPLE4";
	break;
	case Quantity_NOC_MEDIUMSEAGREEN :
		TheName = "MEDIUMSEAGREEN";
	break;
	case Quantity_NOC_MEDIUMSLATEBLUE :
		TheName = "MEDIUMSLATEBLUE";
	break;
	case Quantity_NOC_MEDIUMSPRINGGREEN :
		TheName = "MEDIUMSPRINGGREEN";
	break;
	case Quantity_NOC_MEDIUMTURQUOISE :
		TheName = "MEDIUMTURQUOISE";
	break;
	case Quantity_NOC_MEDIUMVIOLETRED :
		TheName = "MEDIUMVIOLETRED";
	break;
	case Quantity_NOC_MIDNIGHTBLUE :
		TheName = "MIDNIGHTBLUE";
	break;
	case Quantity_NOC_MINTCREAM :
		TheName = "MINTCREAM";
	break;
	case Quantity_NOC_MISTYROSE :
		TheName = "MISTYROSE";
	break;
	case Quantity_NOC_MISTYROSE2 :
		TheName = "MISTYROSE2";
	break;
	case Quantity_NOC_MISTYROSE3 :
		TheName = "MISTYROSE3";
	break;
	case Quantity_NOC_MISTYROSE4 :
		TheName = "MISTYROSE4";
	break;
	case Quantity_NOC_MOCCASIN :
		TheName = "MOCCASIN";
	break;
	case Quantity_NOC_NAVAJOWHITE1 :
		TheName = "NAVAJOWHITE1";
	break;
	case Quantity_NOC_NAVAJOWHITE2 :
		TheName = "NAVAJOWHITE2";
	break;
	case Quantity_NOC_NAVAJOWHITE3 :
		TheName = "NAVAJOWHITE3";
	break;
	case Quantity_NOC_NAVAJOWHITE4 :
		TheName = "NAVAJOWHITE4";
	break;
	case Quantity_NOC_NAVYBLUE :
		TheName = "NAVYBLUE";
	break;
	case Quantity_NOC_OLDLACE :
		TheName = "OLDLACE";
	break;
	case Quantity_NOC_OLIVEDRAB :
		TheName = "OLIVEDRAB";
	break;
	case Quantity_NOC_OLIVEDRAB1 :
		TheName = "OLIVEDRAB1";
	break;
	case Quantity_NOC_OLIVEDRAB2 :
		TheName = "OLIVEDRAB2";
	break;
	case Quantity_NOC_OLIVEDRAB3 :
		TheName = "OLIVEDRAB3";
	break;
	case Quantity_NOC_OLIVEDRAB4 :
		TheName = "OLIVEDRAB4";
	break;
	case Quantity_NOC_ORANGE :
		TheName = "ORANGE";
	break;
	case Quantity_NOC_ORANGE1 :
		TheName = "ORANGE1";
	break;
	case Quantity_NOC_ORANGE2 :
		TheName = "ORANGE2";
	break;
	case Quantity_NOC_ORANGE3 :
		TheName = "ORANGE3";
	break;
	case Quantity_NOC_ORANGE4 :
		TheName = "ORANGE4";
	break;
	case Quantity_NOC_ORANGERED :
		TheName = "ORANGERED";
	break;
	case Quantity_NOC_ORANGERED1 :
		TheName = "ORANGERED1";
	break;
	case Quantity_NOC_ORANGERED2 :
		TheName = "ORANGERED2";
	break;
	case Quantity_NOC_ORANGERED3 :
		TheName = "ORANGERED3";
	break;
	case Quantity_NOC_ORANGERED4 :
		TheName = "ORANGERED4";
	break;
	case Quantity_NOC_ORCHID :
		TheName = "ORCHID";
	break;
	case Quantity_NOC_ORCHID1 :
		TheName = "ORCHID1";
	break;
	case Quantity_NOC_ORCHID2 :
		TheName = "ORCHID2";
	break;
	case Quantity_NOC_ORCHID3 :
		TheName = "ORCHID3";
	break;
	case Quantity_NOC_ORCHID4 :
		TheName = "ORCHID4";
	break;
	case Quantity_NOC_PALEGOLDENROD :
		TheName = "PALEGOLDENROD";
	break;
	case Quantity_NOC_PALEGREEN :
		TheName = "PALEGREEN";
	break;
	case Quantity_NOC_PALEGREEN1 :
		TheName = "PALEGREEN1";
	break;
	case Quantity_NOC_PALEGREEN2 :
		TheName = "PALEGREEN2";
	break;
	case Quantity_NOC_PALEGREEN3 :
		TheName = "PALEGREEN3";
	break;
	case Quantity_NOC_PALEGREEN4 :
		TheName = "PALEGREEN4";
	break;
	case Quantity_NOC_PALETURQUOISE :
		TheName = "PALETURQUOISE";
	break;
	case Quantity_NOC_PALETURQUOISE1 :
		TheName = "PALETURQUOISE1";
	break;
	case Quantity_NOC_PALETURQUOISE2 :
		TheName = "PALETURQUOISE2";
	break;
	case Quantity_NOC_PALETURQUOISE3 :
		TheName = "PALETURQUOISE3";
	break;
	case Quantity_NOC_PALETURQUOISE4 :
		TheName = "PALETURQUOISE4";
	break;
	case Quantity_NOC_PALEVIOLETRED :
		TheName = "PALEVIOLETRED";
	break;
	case Quantity_NOC_PALEVIOLETRED1 :
		TheName = "PALEVIOLETRED1";
	break;
	case Quantity_NOC_PALEVIOLETRED2 :
		TheName = "PALEVIOLETRED2";
	break;
	case Quantity_NOC_PALEVIOLETRED3 :
		TheName = "PALEVIOLETRED3";
	break;
	case Quantity_NOC_PALEVIOLETRED4 :
		TheName = "PALEVIOLETRED4";
	break;
	case Quantity_NOC_PAPAYAWHIP :
		TheName = "PAPAYAWHIP";
	break;
	case Quantity_NOC_PEACHPUFF :
		TheName = "PEACHPUFF";
	break;
	case Quantity_NOC_PEACHPUFF2 :
		TheName = "PEACHPUFF2";
	break;
	case Quantity_NOC_PEACHPUFF3 :
		TheName = "PEACHPUFF3";
	break;
	case Quantity_NOC_PEACHPUFF4 :
		TheName = "PEACHPUFF4";
	break;
	case Quantity_NOC_PERU :
		TheName = "PERU";
	break;
	case Quantity_NOC_PINK :
		TheName = "PINK";
	break;
	case Quantity_NOC_PINK1 :
		TheName = "PINK1";
	break;
	case Quantity_NOC_PINK2 :
		TheName = "PINK2";
	break;
	case Quantity_NOC_PINK3 :
		TheName = "PINK3";
	break;
	case Quantity_NOC_PINK4 :
		TheName = "PINK4";
	break;
	case Quantity_NOC_PLUM :
		TheName = "PLUM";
	break;
	case Quantity_NOC_PLUM1 :
		TheName = "PLUM1";
	break;
	case Quantity_NOC_PLUM2 :
		TheName = "PLUM2";
	break;
	case Quantity_NOC_PLUM3 :
		TheName = "PLUM3";
	break;
	case Quantity_NOC_PLUM4 :
		TheName = "PLUM4";
	break;
	case Quantity_NOC_POWDERBLUE :
		TheName = "POWDERBLUE";
	break;
	case Quantity_NOC_PURPLE :
		TheName = "PURPLE";
	break;
	case Quantity_NOC_PURPLE1 :
		TheName = "PURPLE1";
	break;
	case Quantity_NOC_PURPLE2 :
		TheName = "PURPLE2";
	break;
	case Quantity_NOC_PURPLE3 :
		TheName = "PURPLE3";
	break;
	case Quantity_NOC_PURPLE4 :
		TheName = "PURPLE4";
	break;
	case Quantity_NOC_RED :
		TheName = "RED";
	break;
	case Quantity_NOC_RED1 :
		TheName = "RED1";
	break;
	case Quantity_NOC_RED2 :
		TheName = "RED2";
	break;
	case Quantity_NOC_RED3 :
		TheName = "RED3";
	break;
	case Quantity_NOC_RED4 :
		TheName = "RED4";
	break;
	case Quantity_NOC_ROSYBROWN :
		TheName = "ROSYBROWN";
	break;
	case Quantity_NOC_ROSYBROWN1 :
		TheName = "ROSYBROWN1";
	break;
	case Quantity_NOC_ROSYBROWN2 :
		TheName = "ROSYBROWN2";
	break;
	case Quantity_NOC_ROSYBROWN3 :
		TheName = "ROSYBROWN3";
	break;
	case Quantity_NOC_ROSYBROWN4 :
		TheName = "ROSYBROWN4";
	break;
	case Quantity_NOC_ROYALBLUE :
		TheName = "ROYALBLUE";
	break;
	case Quantity_NOC_ROYALBLUE1 :
		TheName = "ROYALBLUE1";
	break;
	case Quantity_NOC_ROYALBLUE2 :
		TheName = "ROYALBLUE2";
	break;
	case Quantity_NOC_ROYALBLUE3 :
		TheName = "ROYALBLUE3";
	break;
	case Quantity_NOC_ROYALBLUE4 :
		TheName = "ROYALBLUE4";
	break;
	case Quantity_NOC_SADDLEBROWN :
		TheName = "SADDLEBROWN";
	break;
	case Quantity_NOC_SALMON :
		TheName = "SALMON";
	break;
	case Quantity_NOC_SALMON1 :
		TheName = "SALMON1";
	break;
	case Quantity_NOC_SALMON2 :
		TheName = "SALMON2";
	break;
	case Quantity_NOC_SALMON3 :
		TheName = "SALMON3";
	break;
	case Quantity_NOC_SALMON4 :
		TheName = "SALMON4";
	break;
	case Quantity_NOC_SANDYBROWN :
		TheName = "SANDYBROWN";
	break;
	case Quantity_NOC_SEAGREEN :
		TheName = "SEAGREEN";
	break;
	case Quantity_NOC_SEAGREEN1 :
		TheName = "SEAGREEN1";
	break;
	case Quantity_NOC_SEAGREEN2 :
		TheName = "SEAGREEN2";
	break;
	case Quantity_NOC_SEAGREEN3 :
		TheName = "SEAGREEN3";
	break;
	case Quantity_NOC_SEAGREEN4 :
		TheName = "SEAGREEN4";
	break;
	case Quantity_NOC_SEASHELL :
		TheName = "SEASHELL";
	break;
	case Quantity_NOC_SEASHELL2 :
		TheName = "SEASHELL2";
	break;
	case Quantity_NOC_SEASHELL3 :
		TheName = "SEASHELL3";
	break;
	case Quantity_NOC_SEASHELL4 :
		TheName = "SEASHELL4";
	break;
	case Quantity_NOC_BEET :
		TheName = "BEET";
	break;
	case Quantity_NOC_TEAL :
		TheName = "TEAL";
	break;
	case Quantity_NOC_SIENNA :
		TheName = "SIENNA";
	break;
	case Quantity_NOC_SIENNA1 :
		TheName = "SIENNA1";
	break;
	case Quantity_NOC_SIENNA2 :
		TheName = "SIENNA2";
	break;
	case Quantity_NOC_SIENNA3 :
		TheName = "SIENNA3";
	break;
	case Quantity_NOC_SIENNA4 :
		TheName = "SIENNA4";
	break;
	case Quantity_NOC_SKYBLUE :
		TheName = "SKYBLUE";
	break;
	case Quantity_NOC_SKYBLUE1 :
		TheName = "SKYBLUE1";
	break;
	case Quantity_NOC_SKYBLUE2 :
		TheName = "SKYBLUE2";
	break;
	case Quantity_NOC_SKYBLUE3 :
		TheName = "SKYBLUE3";
	break;
	case Quantity_NOC_SKYBLUE4 :
		TheName = "SKYBLUE4";
	break;
	case Quantity_NOC_SLATEBLUE :
		TheName = "SLATEBLUE";
	break;
	case Quantity_NOC_SLATEBLUE1 :
		TheName = "SLATEBLUE1";
	break;
	case Quantity_NOC_SLATEBLUE2 :
		TheName = "SLATEBLUE2";
	break;
	case Quantity_NOC_SLATEBLUE3 :
		TheName = "SLATEBLUE3";
	break;
	case Quantity_NOC_SLATEBLUE4 :
		TheName = "SLATEBLUE4";
	break;
	case Quantity_NOC_SLATEGRAY1 :
		TheName = "SLATEGRAY1";
	break;
	case Quantity_NOC_SLATEGRAY2 :
		TheName = "SLATEGRAY2";
	break;
	case Quantity_NOC_SLATEGRAY3 :
		TheName = "SLATEGRAY3";
	break;
	case Quantity_NOC_SLATEGRAY4 :
		TheName = "SLATEGRAY4";
	break;
	case Quantity_NOC_SLATEGRAY :
		TheName = "SLATEGRAY";
	break;
	case Quantity_NOC_SNOW :
		TheName = "SNOW";
	break;
	case Quantity_NOC_SNOW2 :
		TheName = "SNOW2";
	break;
	case Quantity_NOC_SNOW3 :
		TheName = "SNOW3";
	break;
	case Quantity_NOC_SNOW4 :
		TheName = "SNOW4";
	break;
	case Quantity_NOC_SPRINGGREEN :
		TheName = "SPRINGGREEN";
	break;
	case Quantity_NOC_SPRINGGREEN2 :
		TheName = "SPRINGGREEN2";
	break;
	case Quantity_NOC_SPRINGGREEN3 :
		TheName = "SPRINGGREEN3";
	break;
	case Quantity_NOC_SPRINGGREEN4 :
		TheName = "SPRINGGREEN4";
	break;
	case Quantity_NOC_STEELBLUE :
		TheName = "STEELBLUE";
	break;
	case Quantity_NOC_STEELBLUE1 :
		TheName = "STEELBLUE1";
	break;
	case Quantity_NOC_STEELBLUE2 :
		TheName = "STEELBLUE2";
	break;
	case Quantity_NOC_STEELBLUE3 :
		TheName = "STEELBLUE3";
	break;
	case Quantity_NOC_STEELBLUE4 :
		TheName = "STEELBLUE4";
	break;
	case Quantity_NOC_TAN :
		TheName = "TAN";
	break;
	case Quantity_NOC_TAN1 :
		TheName = "TAN1";
	break;
	case Quantity_NOC_TAN2 :
		TheName = "TAN2";
	break;
	case Quantity_NOC_TAN3 :
		TheName = "TAN3";
	break;
	case Quantity_NOC_TAN4 :
		TheName = "TAN4";
	break;
	case Quantity_NOC_THISTLE :
		TheName = "THISTLE";
	break;
	case Quantity_NOC_THISTLE1 :
		TheName = "THISTLE1";
	break;
	case Quantity_NOC_THISTLE2 :
		TheName = "THISTLE2";
	break;
	case Quantity_NOC_THISTLE3 :
		TheName = "THISTLE3";
	break;
	case Quantity_NOC_THISTLE4 :
		TheName = "THISTLE4";
	break;
	case Quantity_NOC_TOMATO :
		TheName = "TOMATO";
	break;
	case Quantity_NOC_TOMATO1 :
		TheName = "TOMATO1";
	break;
	case Quantity_NOC_TOMATO2 :
		TheName = "TOMATO2";
	break;
	case Quantity_NOC_TOMATO3 :
		TheName = "TOMATO3";
	break;
	case Quantity_NOC_TOMATO4 :
		TheName = "TOMATO4";
	break;
	case Quantity_NOC_TURQUOISE :
		TheName = "TURQUOISE";
	break;
	case Quantity_NOC_TURQUOISE1 :
		TheName = "TURQUOISE1";
	break;
	case Quantity_NOC_TURQUOISE2 :
		TheName = "TURQUOISE2";
	break;
	case Quantity_NOC_TURQUOISE3 :
		TheName = "TURQUOISE3";
	break;
	case Quantity_NOC_TURQUOISE4 :
		TheName = "TURQUOISE4";
	break;
	case Quantity_NOC_VIOLET :
		TheName = "VIOLET";
	break;
	case Quantity_NOC_VIOLETRED :
		TheName = "VIOLETRED";
	break;
	case Quantity_NOC_VIOLETRED1 :
		TheName = "VIOLETRED1";
	break;
	case Quantity_NOC_VIOLETRED2 :
		TheName = "VIOLETRED2";
	break;
	case Quantity_NOC_VIOLETRED3 :
		TheName = "VIOLETRED3";
	break;
	case Quantity_NOC_VIOLETRED4 :
		TheName = "VIOLETRED4";
	break;
	case Quantity_NOC_WHEAT :
		TheName = "WHEAT";
	break;
	case Quantity_NOC_WHEAT1 :
		TheName = "WHEAT1";
	break;
	case Quantity_NOC_WHEAT2 :
		TheName = "WHEAT2";
	break;
	case Quantity_NOC_WHEAT3 :
		TheName = "WHEAT3";
	break;
	case Quantity_NOC_WHEAT4 :
		TheName = "WHEAT4";
	break;
	case Quantity_NOC_WHITE :
		TheName = "WHITE";
	break;
	case Quantity_NOC_WHITESMOKE :
		TheName = "WHITESMOKE";
	break;
	case Quantity_NOC_YELLOW :
		TheName = "YELLOW";
	break;
	case Quantity_NOC_YELLOW1 :
		TheName = "YELLOW1";
	break;
	case Quantity_NOC_YELLOW2 :
		TheName = "YELLOW2";
	break;
	case Quantity_NOC_YELLOW3 :
		TheName = "YELLOW3";
	break;
	case Quantity_NOC_YELLOW4 :
		TheName = "YELLOW4";
	break;
	case Quantity_NOC_YELLOWGREEN :
		TheName = "YELLOWGREEN";
	break;
	default :
		TheName = "UNDEFINED";
		throw Standard_OutOfRange("Bad name");
	break;
}
return (TheName);
}

//
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// TESTS ////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

void Quantity_Color::Test () {

void TestOfColor ();

	try {
	  OCC_CATCH_SIGNALS
		TestOfColor ();
	}

	catch (Standard_Failure const& anException) {
		std::cout << anException << std::endl;
	}

}

void TestOfColor () {

Standard_Real H, L, S;
Standard_Real R, G, B;
Standard_Real DC, DI;
Standard_Integer i;

std::cout << "definition color tests\n----------------------\n";

Quantity_Color C1;
Quantity_Color C2 (Quantity_NOC_ROYALBLUE2);
Quantity_Color C3 (Quantity_NOC_SANDYBROWN);

// An Introduction to Standard_Object-Oriented Programming and C++ p43
// a comment for the "const char *const" declaration
const char *const cyan = "YELLOW";
const char *const blue = "ROYALBLUE2";
const char *const brown = "SANDYBROWN";

Standard_Real RR, GG, BB;

const Standard_Real DELTA = 1.0e-4;

std::cout << "Get values and names of color tests\n-----------------------------------\n";

	C1.Values (R, G, B, Quantity_TOC_RGB);
	if ( (R!=1.0) || (G!=1.0) || (B!=0.0) ) {
		std::cout << "TEST_ERROR : Values () bad default color\n";
		std::cout << "R, G, B values: " << R << " " << G << " " << B << "\n";
	}
	if ( (C1.Red ()!=1.0) || (C1.Green ()!=1.0) || (C1.Blue ()!=0.0) ) {
		std::cout << "TEST_ERROR : Values () bad default color\n";
		std::cout << "R, G, B values: " << C1.Red () << " " << C1.Green ()
			<< " " << C1.Blue () << "\n";
	}
	if (strcmp (Quantity_Color::StringName (C1.Name()), cyan) != 0)
		std::cout << "TEST_ERROR : StringName () " <<
			Quantity_Color::StringName (C1.Name()) << 
                                        " != YELLOW\n";

	RR=0.262745; GG=0.431373; BB=0.933333;
	C1.SetValues (RR, GG, BB, Quantity_TOC_RGB);
	C2.Values (R, G, B, Quantity_TOC_RGB);
	if ( (Abs (RR-R) > DELTA) ||
	     (Abs (GG-G) > DELTA) ||
	     (Abs (BB-B) > DELTA) ) {
		std::cout << "TEST_ERROR : Values () bad default color\n";
		std::cout << "R, G, B values: " << R << " " << G << " " << B << "\n";
	}

	if (C2 != C1) {
		std::cout << "TEST_ERROR : IsDifferent ()\n";
	}
	if (C3 == C1) {
		std::cout << "TEST_ERROR : IsEqual ()\n";
	}

	std::cout << "Distance C1,C2 " << C1.Distance (C2) << "\n";
	std::cout << "Distance C1,C3 " << C1.Distance (C3) << "\n";
	std::cout << "Distance C2,C3 " << C2.Distance (C3) << "\n";
	std::cout << "SquareDistance C1,C2 " << C1.SquareDistance (C2) << "\n";
	std::cout << "SquareDistance C1,C3 " << C1.SquareDistance (C3) << "\n";
	std::cout << "SquareDistance C2,C3 " << C2.SquareDistance (C3) << "\n";

	if (strcmp (Quantity_Color::StringName (C2.Name()), blue) != 0)
		std::cout << "TEST_ERROR : StringName () " <<
			Quantity_Color::StringName (C2.Name()) << 
                        " != ROYALBLUE2\n";

std::cout << "conversion rgbhls tests\n-----------------------\n";
	Quantity_Color::RgbHls (R, G, B, H, L, S);
	Quantity_Color::HlsRgb (H, L, S, R, G, B);
	RR=0.262745; GG=0.431373; BB=0.933333;
	if ( (Abs (RR-R) > DELTA) ||
	     (Abs (GG-G) > DELTA) ||
	     (Abs (BB-B) > DELTA) ) {
		std::cout << "TEST_ERROR : RgbHls or HlsRgb bad conversion\n";
		std::cout << "RGB init : " << RR << " " << GG << " " << BB << "\n";
		std::cout << "RGB values : " << R << " " << G << " " << B << "\n";
		std::cout << "Difference RGB : "
			<< RR-R << " " << GG-G << " " << BB-B << "\n";
	}

std::cout << "distance tests\n--------------\n";
	R = (float ) 0.9568631; G = (float ) 0.6431371; B = (float ) 0.3764711;
	C2.SetValues (R, G, B, Quantity_TOC_RGB);
	if (C2.Distance (C3) > DELTA) {
		std::cout << "TEST_ERROR : Distance () bad result\n";
		std::cout << "Distance C2 and C3 : " << C2.Distance (C3) << "\n";
	}

	C2.Delta (C3, DC, DI);
	if (Abs (DC) > DELTA)
		std::cout << "TEST_ERROR : Delta () bad result for DC\n";
	if (Abs (DI) > DELTA)
		std::cout << "TEST_ERROR : Delta () bad result for DI\n";

std::cout << "name tests\n----------\n";
	R = (float ) 0.9568631; G = (float ) 0.6431371; B = (float ) 0.3764711;
	C2.SetValues (R, G, B, Quantity_TOC_RGB);
	if (strcmp (Quantity_Color::StringName (C2.Name()), brown) != 0)
		std::cout << "TEST_ERROR : StringName () " <<
			Quantity_Color::StringName (C2.Name()) << 
                        " != SANDYBROWN\n";

std::cout << "contrast change tests\n---------------------\n";
	for (i=1; i<=10; i++) {
		C2.ChangeContrast (10.);
		C2.ChangeContrast (-9.09090909);
	}
	C2.Values (R, G, B, Quantity_TOC_RGB);
	RR=0.956863; GG=0.6431371; BB=0.3764711;
	if ( (Abs (RR-R) > DELTA) ||
	     (Abs (GG-G) > DELTA) ||
	     (Abs (BB-B) > DELTA) ) {
		std::cout << "TEST_ERROR : ChangeContrast () bad values\n";
		std::cout << "RGB init : " << RR << " " << GG << " " << BB << "\n";
		std::cout << "RGB values : " << R << " " << G << " " << B << "\n";
	}

}

/*
 *
 * Objet	:	Algorithme de conversion HLS vers RGB
 *
 * Rappels	:	RGB et HLS sont 2 modeles de representation
 *			des couleurs
 *
 * Parametres	:	h, l, s connus avec h dans [0,360] et l et s dans [0,1]
 *			r, g, b dans [0,1]
 *
 * Reference	:	La synthese d'images, Collection Hermes
 *
 * Adaptation	:	Cal	07 fevrier 1992
 *
 * Modification	:	?
 */

void call_hlsrgb (float h, float l, float s, float& r, float& g, float& b)
/* parametres d'entree : h, l, s connus avec h dans [0,360]
 * et l et s dans [0,1] */
/* parametres de sortie : r, g, b dans [0,1] */
{

	float hcopy;
	float lmuls;
	int hi;

	hcopy = h;
	lmuls = l * s;

	if (s == 0.0 && h == RGBHLS_H_UNDEFINED) {
	      /* cas achromatique */
	      r = g = b = l;
	}
	else {
	   /* cas chromatique */
	   if (hcopy == 360.0) {
	      hcopy = 0.0;
	      hi = 0;
	   }
	   else {
	      hcopy /= 60.0;
	      hi = (int)hcopy;
	   }

	   switch (hi) {
	      case 0 :
			/*
			   r = l;
			   g = l * (1 - (s * (1 - (hcopy - hi))));
			   b = l * (1 - s);
			 */
			r = l;
			b = l - lmuls;
			g = b + lmuls * hcopy;
	      break;
	      case 1 :
			/*
			   r = l * (1 - (s * (hcopy - hi)));
			   g = l;
			   b = l * (1 - s);
			 */
			r = l + lmuls - lmuls * hcopy;
			g = l;
			b = l - lmuls;
	      break;
	      case 2 :
			/*
			   r = l * (1 - s);
			   g = l;
			   b = l * (1 - (s * (1 - (hcopy - hi))));
			 */
			r = l - lmuls;
			g = l;
			b = l - 3 * lmuls + lmuls * hcopy;
	      break;
	      case 3 :
			/*
			   r = l * (1 - s);
			   g = l * (1 - (s * (hcopy - hi)));
			   b = l;
			 */
			r = l - lmuls;
			g = l + 3 * lmuls - lmuls * hcopy;
			b = l;
	      break;
	      case 4 :
			/*
			   r = l * (1 - (s * (1 - (hcopy - hi))));
			   g = l * (1 - s);
			   b = l;
			 */
			r = l - 5 * lmuls + lmuls * hcopy;
			g = l - lmuls;
			b = l;
	      break;
	      case 5 :
			/*
			   r = l;
			   g = l * (1 - s);
			   b = l * (1 - (s * (hcopy - hi)));
			 */
			r = l;
			g = l - lmuls;
			b = l + 5 * lmuls - lmuls * hcopy;
	      break;
	   }
	}
}

/*
 * Objet	:	Algorithme de conversion RGB vers HLS
 *
 * Rappels	:	RGB et HLS sont 2 modeles de representation
 *			des couleurs
 *
 * Parametres	:	r, g, b connus dans [0,1]
 *			h, l, s avec h dans [0,360] et l et s dans [0,1]
 *
 * Reference	:	La synthese d'images, Collection Hermes
 *
 * Creation	:	Cal	04 fevrier 1992
 *
 * Modification	:	?
 */

void call_rgbhls (float r, float g, float b, float& h, float& l, float& s)
/* parametres d'entree : r, g, b connus dans [0,1] */
/* parametres de sortie : h, l, s avec h dans [0,360] et l et s dans [0,1] */
{

	float max, min;
	float plus, diff;
	float delta;

	/* calcul du max entre r, g et b */
		     { plus = 0.0; diff = g - b; max = r; }
	if (g > max) { plus = 2.0; diff = b - r; max = g; }
	if (b > max) { plus = 4.0; diff = r - g; max = b; }

	/* calcul du min entre r, g et b */
	min = r;
	if (g < min) min = g;
	if (b < min) min = b;

	delta = max - min;

	/* calcul de la luminance */
	l = max;

	/* calcul de la saturation */
	s = 0.0;
	if (max != 0.0) s = delta / max;

	/* calcul de la teinte */
	if (s == 0.0)
	   /* cas des gris */
	   h = RGBHLS_H_UNDEFINED;
	else {
	   h = (float ) 60.0 * ( plus + diff / delta );
	   if (h < 0.0) h += 360.0;
	}
}

//=======================================================================
//function : DumpJson
//purpose  : 
//=======================================================================
void Quantity_Color::DumpJson (Standard_OStream& theOStream, const Standard_Integer) const
{
  OCCT_DUMP_CLASS_BEGIN (theOStream, Quantity_Color);
  OCCT_DUMP_FIELD_VALUES_NUMERICAL (theOStream, "RGB", 3, MyRed, MyGreen, MyBlue)
}
