0030623: Draw Harness - support hex color codes within ViewerTest::ParseColor()
[occt.git] / src / Quantity / Quantity_Color.cxx
1 // Created by: NW,JPB,CAL
2 // Copyright (c) 1991-1999 Matra Datavision
3 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #include <Quantity_Color.hxx>
17
18 #include <Quantity_ColorDefinitionError.hxx>
19 #include <Quantity_ColorRGBA.hxx>
20 #include <Standard_ErrorHandler.hxx>
21 #include <Standard_OutOfRange.hxx>
22 #include <TCollection_AsciiString.hxx>
23
24 #include <string.h>
25 // for Test method (suite et fin)
26 void call_hlsrgb(float h, float l, float s, float& r, float& g, float& b);
27 void call_rgbhls(float r, float g, float b, float& h, float& l, float& s);
28
29 //-Aliases
30
31 //-Global data definitions
32
33 #define RGBHLS_H_UNDEFINED -1.0
34
35 static Standard_Real TheEpsilon = 0.0001;
36
37 //      -- les composantes RGB
38 //      MyRed           :       Standard_ShortReal;
39 //      MyGreen         :       Standard_ShortReal;
40 //      MyBlue          :       Standard_ShortReal;
41
42 //-Constructors
43
44 //-Destructors
45
46 //-Methods, in order
47
48 Standard_Boolean Quantity_Color::ColorFromName (const Standard_CString theName,
49                                                 Quantity_NameOfColor&  theColor)
50 {
51   TCollection_AsciiString aName (theName);
52   aName.UpperCase();
53   if (aName.Search("QUANTITY_NOC_") == 1)
54   {
55     aName = aName.SubString (14, aName.Length());
56   }
57
58   for (Standard_Integer anIter = Quantity_NOC_BLACK; anIter <= Quantity_NOC_WHITE; ++anIter)
59   {
60     Standard_CString aColorName = Quantity_Color::StringName (Quantity_NameOfColor (anIter));
61     if (aName == aColorName)
62     {
63       theColor = (Quantity_NameOfColor )anIter;
64       return Standard_True;
65     }
66   }
67   return Standard_False;
68 }
69
70 //=======================================================================
71 // function : ColorFromHex
72 // purpose  :
73 //=======================================================================
74 bool Quantity_Color::ColorFromHex (const Standard_CString theHexColorString, Quantity_Color& theColor)
75 {
76   Quantity_ColorRGBA aColorRGBA;
77   if (!Quantity_ColorRGBA::ColorFromHex (theHexColorString, aColorRGBA, true))
78   {
79     return false;
80   }
81   theColor = aColorRGBA.GetRGB();
82   return true;
83 }
84
85 Quantity_Color::Quantity_Color () {
86
87         Quantity_Color::ValuesOf
88                 (Quantity_NOC_YELLOW, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);
89 }
90
91 Quantity_Color::Quantity_Color (const Quantity_NameOfColor AName) {
92
93         Quantity_Color::ValuesOf
94                 (AName, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);
95 }
96
97 Quantity_Color::Quantity_Color (const Standard_Real R1, const Standard_Real R2, const Standard_Real R3, const Quantity_TypeOfColor AType) {
98
99         switch (AType) {
100
101                 case Quantity_TOC_RGB :
102                         if ( R1 < 0. || R1 > 1. ||
103                              R2 < 0. || R2 > 1. ||
104                              R3 < 0. || R3 > 1. )
105                                 throw Standard_OutOfRange("Color out");
106                         MyRed   = Standard_ShortReal (R1);
107                         MyGreen = Standard_ShortReal (R2);
108                         MyBlue  = Standard_ShortReal (R3);
109                 break;
110
111                 case Quantity_TOC_HLS :
112                         if ( (R1 < 0. && R1 != RGBHLS_H_UNDEFINED && R3 != 0.0)
113                           || (R1 > 360.) ||
114                              R2 < 0. || R2 > 1. ||
115                              R3 < 0. || R3 > 1. )
116                                 throw Standard_OutOfRange("Color out");
117                         Quantity_Color::hlsrgb
118                                 (Standard_ShortReal (R1),
119                                  Standard_ShortReal (R2),
120                                  Standard_ShortReal (R3),
121                                  MyRed, MyGreen, MyBlue);
122                 break;
123         }
124
125 }
126
127 Quantity_Color::Quantity_Color (const NCollection_Vec3<float>& theRgb)
128 : MyRed  (theRgb.r()),
129   MyGreen(theRgb.g()),
130   MyBlue (theRgb.b())
131 {
132   if (theRgb.r() < 0.0f || theRgb.r() > 1.0f
133    || theRgb.g() < 0.0f || theRgb.g() > 1.0f
134    || theRgb.b() < 0.0f || theRgb.b() > 1.0f)
135   {
136     throw Standard_OutOfRange("Color out");
137   }
138 }
139
140 void Quantity_Color::ChangeContrast (const Standard_Real ADelta) {
141
142 Standard_ShortReal MyHue, MyLight, MySaturation;
143
144         Quantity_Color::rgbhls
145                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
146
147         MySaturation    += MySaturation * Standard_ShortReal (ADelta) / (float ) 100.0;
148
149         if ( !((MySaturation > 1.0) || (MySaturation < 0.0) )) {
150                 Quantity_Color::hlsrgb
151                         (MyHue, MyLight, MySaturation, MyRed, MyGreen, MyBlue);
152         }
153 }
154
155 void Quantity_Color::ChangeIntensity (const Standard_Real ADelta) {
156
157 Standard_ShortReal MyHue, MyLight, MySaturation;
158
159         Quantity_Color::rgbhls
160                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
161
162
163         MyLight         += MyLight * Standard_ShortReal (ADelta) / (float ) 100.0;
164         if ( !((MyLight > 1.0) || (MyLight < 0.0) )) {
165                 Quantity_Color::hlsrgb
166                         (MyHue, MyLight, MySaturation, MyRed, MyGreen, MyBlue);
167         }
168
169 }
170
171 void Quantity_Color::SetValues (const Quantity_NameOfColor AName) {
172
173         Quantity_Color::ValuesOf
174                 (AName, Quantity_TOC_RGB, MyRed, MyGreen, MyBlue);
175
176 }
177
178 void Quantity_Color::SetValues (const Standard_Real R1, const Standard_Real R2, const Standard_Real R3, const Quantity_TypeOfColor AType) {
179
180         switch (AType) {
181
182                 case Quantity_TOC_RGB :
183                         if ( R1 < 0. || R1 > 1. ||
184                              R2 < 0. || R2 > 1. ||
185                              R3 < 0. || R3 > 1. )
186                                 throw Standard_OutOfRange("Color out");
187                         else {
188                                 MyRed   = Standard_ShortReal (R1);
189                                 MyGreen = Standard_ShortReal (R2);
190                                 MyBlue  = Standard_ShortReal (R3);
191                         }
192                 break;
193
194                 case Quantity_TOC_HLS :
195                         if ( R1 < 0. || R1 > 360. ||
196                              R2 < 0. || R2 > 1. ||
197                              R3 < 0. || R3 > 1. )
198                                 throw Standard_OutOfRange("Color out");
199                         else {
200                                 Quantity_Color::hlsrgb
201                                         (Standard_ShortReal (R1),
202                                          Standard_ShortReal (R2),
203                                          Standard_ShortReal (R3),
204                                          MyRed, MyGreen, MyBlue);
205                         }
206                 break;
207         }
208
209 }
210
211 Standard_Real Quantity_Color::Distance (const Quantity_Color& AColor) const {
212
213 Standard_Real R1, G1, B1;
214 Standard_Real R2, G2, B2;
215
216         R1      = Standard_Real (MyRed);
217         G1      = Standard_Real (MyGreen);
218         B1      = Standard_Real (MyBlue);
219
220         R2      = Standard_Real (AColor.MyRed);
221         G2      = Standard_Real (AColor.MyGreen);
222         B2      = Standard_Real (AColor.MyBlue);
223
224         return  Sqrt (
225                         ((R1 - R2) * (R1 - R2)) +
226                         ((G1 - G2) * (G1 - G2)) +
227                         ((B1 - B2) * (B1 - B2))
228                      );
229
230 }
231
232 Standard_Real Quantity_Color::SquareDistance (const Quantity_Color& AColor) const {
233
234 Standard_Real R1, G1, B1;
235 Standard_Real R2, G2, B2;
236
237         R1      = Standard_Real (MyRed);
238         G1      = Standard_Real (MyGreen);
239         B1      = Standard_Real (MyBlue);
240
241         R2      = Standard_Real (AColor.MyRed);
242         G2      = Standard_Real (AColor.MyGreen);
243         B2      = Standard_Real (AColor.MyBlue);
244
245         return  (
246                         ((R1 - R2) * (R1 - R2)) +
247                         ((G1 - G2) * (G1 - G2)) +
248                         ((B1 - B2) * (B1 - B2))
249                 );
250
251 }
252
253 void Quantity_Color::Delta (const Quantity_Color& AColor, Standard_Real& DC, Standard_Real& DI) const {
254
255 Standard_ShortReal MyHue, MyLight, MySaturation;
256
257         Quantity_Color::rgbhls
258                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
259
260         DC      = Standard_Real (MySaturation   - AColor.Saturation ());
261         DI      = Standard_Real (MyLight                - AColor.Light ());
262
263 }
264
265 Standard_Boolean Quantity_Color::IsDifferent (const Quantity_Color& Other) const {
266
267         return (Distance (Other) > Epsilon ());
268
269 }
270
271 Standard_Boolean Quantity_Color::IsEqual (const Quantity_Color& Other) const {
272
273         return (Distance (Other) <= Epsilon ());
274
275 }
276
277 Quantity_NameOfColor Quantity_Color::Name () const {
278
279 Quantity_NameOfColor MyNewName = Quantity_NOC_BLACK;    // Nom courant.
280 Quantity_Color Col;                             // Couleur courante.
281 Standard_Real NewDist = 4.0;                    // Distance courante.
282 Standard_Real Dist = 4.0;                       // Distance la plus courte.
283
284 Standard_Integer Begin, End, Current;
285
286                 //
287                 // Parcours de l'enumeration
288                 //
289                 Begin   = Standard_Integer (Quantity_NOC_BLACK);
290                 End     = Standard_Integer (Quantity_NOC_WHITE);
291
292                 for (Current = Begin;
293                         ((Current <= End) && (NewDist != 0.0)); Current++) {
294
295                         Col.SetValues (Quantity_NameOfColor (Current));
296                         NewDist = 
297                         ((MyRed   - Col.MyRed)   * (MyRed - Col.MyRed))     +
298                         ((MyGreen - Col.MyGreen) * (MyGreen - Col.MyGreen)) +
299                         ((MyBlue  - Col.MyBlue)  * (MyBlue - Col.MyBlue));
300
301                         if (NewDist < Dist) {
302                                 MyNewName = Quantity_NameOfColor (Current);
303                                 Dist = NewDist;
304                         }
305                 } // Fin de boucle for
306
307                 return (MyNewName);
308
309 }
310
311 Standard_Real Quantity_Color::Epsilon()
312 {
313   return TheEpsilon;
314 }
315
316 void Quantity_Color::SetEpsilon (const Standard_Real AnEpsilon) {
317
318         TheEpsilon      = AnEpsilon;
319
320 }
321
322 Quantity_NameOfColor Quantity_Color::Name (const Standard_Real R, const Standard_Real G, const Standard_Real B) {
323
324         if ( R < 0. || R > 1. ||
325              G < 0. || G > 1. ||
326              B < 0. || B > 1. )
327                 throw Standard_OutOfRange("Color out");
328
329 Quantity_Color AColor (R, G, B, Quantity_TOC_RGB);      // Couleur definie en RGB.
330
331         return (AColor.Name ());
332
333 }
334
335 Standard_Real Quantity_Color::Red () const {
336
337         return (Standard_Real (MyRed));
338
339 }
340
341 Standard_Real Quantity_Color::Green () const {
342
343         return (Standard_Real (MyGreen));
344
345 }
346
347 Standard_Real Quantity_Color::Blue () const {
348
349         return (Standard_Real (MyBlue));
350
351 }
352
353 Standard_Real Quantity_Color::Hue () const {
354
355 Standard_ShortReal MyHue, MyLight, MySaturation;
356
357         Quantity_Color::rgbhls
358                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
359
360         return (Standard_Real (MyHue));
361
362 }
363
364 Standard_Real Quantity_Color::Light () const {
365
366 Standard_ShortReal MyHue, MyLight, MySaturation;
367
368         Quantity_Color::rgbhls
369                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
370
371         return (Standard_Real (MyLight));
372
373 }
374
375 Standard_Real Quantity_Color::Saturation () const {
376
377 Standard_ShortReal MyHue, MyLight, MySaturation;
378
379         Quantity_Color::rgbhls
380                         (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
381
382         return (Standard_Real (MySaturation));
383
384 }
385
386 void Quantity_Color::Values (Standard_Real& R1, Standard_Real& R2, Standard_Real& R3, const Quantity_TypeOfColor AType) const {
387
388
389         switch (AType) {
390
391                 case Quantity_TOC_RGB :
392                         R1      = Standard_Real (MyRed);
393                         R2      = Standard_Real (MyGreen);
394                         R3      = Standard_Real (MyBlue);
395                 break;
396
397                 case Quantity_TOC_HLS :
398                       { Standard_ShortReal MyHue, MyLight, MySaturation;
399
400                         Quantity_Color::rgbhls
401                          (MyRed, MyGreen, MyBlue, MyHue, MyLight, MySaturation);
402
403                         R1      = Standard_Real (MyHue);
404                         R2      = Standard_Real (MyLight);
405                         R3      = Standard_Real (MySaturation);
406                       }
407                 break;
408         }
409
410 }
411
412 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) {
413
414 Standard_ShortReal HH, LL, SS;
415
416         call_rgbhls (Standard_ShortReal (R),
417                         Standard_ShortReal (G),
418                         Standard_ShortReal (B),
419                         HH, LL, SS);
420
421         H       = Standard_Real (HH);
422         L       = Standard_Real (LL);
423         S       = Standard_Real (SS);
424
425 }
426
427 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) {
428
429 Standard_ShortReal RR, GG, BB;
430
431         call_hlsrgb (Standard_ShortReal (H),
432                         Standard_ShortReal (L),
433                         Standard_ShortReal (S),
434                         RR, GG, BB);
435
436         R       = Standard_Real (RR);
437         G       = Standard_Real (GG);
438         B       = Standard_Real (BB);
439
440 }
441
442 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) {
443
444         call_rgbhls (R, G, B, H, L, S);
445
446 }
447
448 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) {
449
450         call_hlsrgb (H, L, S, R, G, B);
451
452 }
453
454 //=======================================================================
455 //function : Color2argb
456 //purpose  : 
457 //=======================================================================
458
459 void Quantity_Color::Color2argb (const Quantity_Color& theColor,
460                                  Standard_Integer& theARGB)
461 {
462   const Standard_Integer aColor[3] = {
463     static_cast<Standard_Integer> (255 * theColor.MyRed),
464     static_cast<Standard_Integer> (255 * theColor.MyGreen),
465     static_cast<Standard_Integer> (255 * theColor.MyBlue)
466   };
467   theARGB = (((aColor[0] & 0xff) << 16) |
468              ((aColor[1] & 0xff) << 8)  |
469              (aColor[2] & 0xff));
470 }
471
472 //=======================================================================
473 //function : Argb2color
474 //purpose  : 
475 //=======================================================================
476
477 void Quantity_Color::Argb2color (const Standard_Integer theARGB,
478                                  Quantity_Color& theColor)
479 {
480   const Standard_Real aColor[3] = {
481     static_cast <Standard_Real> ((theARGB & 0xff0000) >> 16),
482     static_cast <Standard_Real> ((theARGB & 0x00ff00) >> 8),
483     static_cast <Standard_Real> ((theARGB & 0x0000ff))
484   };
485   theColor.SetValues(aColor[0] / 255.0, aColor[1] / 255.0, aColor[2] / 255.0,
486                      Quantity_TOC_RGB);
487 }
488
489 void Quantity_Color::ValuesOf (const Quantity_NameOfColor AName, const Quantity_TypeOfColor AType, Standard_ShortReal& R1, Standard_ShortReal& R2, Standard_ShortReal& R3) {
490
491 Standard_ShortReal RR = 0 ;
492 Standard_ShortReal RG = 0 ;
493 Standard_ShortReal RB = 0 ;
494
495 switch (AName) {
496
497         case Quantity_NOC_BLACK :
498                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
499         break;
500         case Quantity_NOC_MATRAGRAY :
501                 RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.600000; RB = R3 = (float ) 0.600000;
502         break;
503         case Quantity_NOC_MATRABLUE :
504                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.750000;
505         break;
506         case Quantity_NOC_ALICEBLUE :
507                 RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.972549; RB = R3 = 1.000000;
508         break;
509         case Quantity_NOC_ANTIQUEWHITE :
510                 RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.843137;
511         break;
512         case Quantity_NOC_ANTIQUEWHITE1 :
513                 RR = R1 = 1.000000; RG = R2 = (float ) 0.937255; RB = R3 = (float ) 0.858824;
514         break;
515         case Quantity_NOC_ANTIQUEWHITE2 :
516                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.874510; RB = R3 = (float ) 0.800000;
517         break;
518         case Quantity_NOC_ANTIQUEWHITE3 :
519                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.690196;
520         break;
521         case Quantity_NOC_ANTIQUEWHITE4 :
522                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.470588;
523         break;
524         case Quantity_NOC_AQUAMARINE1 :
525                 RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = (float ) 0.831373;
526         break;
527         case Quantity_NOC_AQUAMARINE2 :
528                 RR = R1 = (float ) 0.462745; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.776471;
529         break;
530         case Quantity_NOC_AQUAMARINE4 :
531                 RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.454902;
532         break;
533         case Quantity_NOC_AZURE :
534                 RR = R1 = (float ) 0.941176; RG = R2 = 1.000000; RB = R3 = 1.000000;
535         break;
536         case Quantity_NOC_AZURE2 :
537                 RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
538         break;
539         case Quantity_NOC_AZURE3 :
540                 RR = R1 = (float ) 0.756863; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
541         break;
542         case Quantity_NOC_AZURE4 :
543                 RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
544         break;
545         case Quantity_NOC_BEIGE :
546                 RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.862745;
547         break;
548         case Quantity_NOC_BISQUE :
549                 RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.768627;
550         break;
551         case Quantity_NOC_BISQUE2 :
552                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.835294; RB = R3 = (float ) 0.717647;
553         break;
554         case Quantity_NOC_BISQUE3 :
555                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.619608;
556         break;
557         case Quantity_NOC_BISQUE4 :
558                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.419608;
559         break;
560         case Quantity_NOC_BLANCHEDALMOND :
561                 RR = R1 = 1.000000; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.803922;
562         break;
563         case Quantity_NOC_BLUE1 :
564                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 1.000000;
565         break;
566         case Quantity_NOC_BLUE2 :
567                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.933333;
568         break;
569         case Quantity_NOC_BLUE3 :
570                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.803922;
571         break;
572         case Quantity_NOC_BLUE4 :
573                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.545098;
574         break;
575         case Quantity_NOC_BLUEVIOLET :
576                 RR = R1 = (float ) 0.541176; RG = R2 = (float ) 0.168627; RB = R3 = (float ) 0.886275;
577         break;
578         case Quantity_NOC_BROWN :
579                 RR = R1 = (float ) 0.647059; RG = R2 = (float ) 0.164706; RB = R3 = (float ) 0.164706;
580         break;
581         case Quantity_NOC_BROWN1 :
582                 RR = R1 = 1.000000; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.250980;
583         break;
584         case Quantity_NOC_BROWN2 :
585                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.231373; RB = R3 = (float ) 0.231373;
586         break;
587         case Quantity_NOC_BROWN3 :
588                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.200000; RB = R3 = (float ) 0.200000;
589         break;
590         case Quantity_NOC_BROWN4 :
591                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.137255; RB = R3 = (float ) 0.137255;
592         break;
593         case Quantity_NOC_BURLYWOOD :
594                 RR = R1 = (float ) 0.870588; RG = R2 = (float ) 0.721569; RB = R3 = (float ) 0.529412;
595         break;
596         case Quantity_NOC_BURLYWOOD1 :
597                 RR = R1 = 1.000000; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.607843;
598         break;
599         case Quantity_NOC_BURLYWOOD2 :
600                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.568627;
601         break;
602         case Quantity_NOC_BURLYWOOD3 :
603                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.666667; RB = R3 = (float ) 0.490196;
604         break;
605         case Quantity_NOC_BURLYWOOD4 :
606                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.450980; RB = R3 = (float ) 0.333333;
607         break;
608         case Quantity_NOC_CADETBLUE :
609                 RR = R1 = (float ) 0.372549; RG = R2 = (float ) 0.619608; RB = R3 = (float ) 0.627451;
610         break;
611         case Quantity_NOC_CADETBLUE1 :
612                 RR = R1 = (float ) 0.596078; RG = R2 = (float ) 0.960784; RB = R3 = 1.000000;
613         break;
614         case Quantity_NOC_CADETBLUE2 :
615                 RR = R1 = (float ) 0.556863; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.933333;
616         break;
617         case Quantity_NOC_CADETBLUE3 :
618                 RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.803922;
619         break;
620         case Quantity_NOC_CADETBLUE4 :
621                 RR = R1 = (float ) 0.325490; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.545098;
622         break;
623         case Quantity_NOC_CHARTREUSE :
624                 RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = 0.000000;
625         break;
626         case Quantity_NOC_CHARTREUSE1 :
627                 RR = R1 = (float ) 0.498039; RG = R2 = 1.000000; RB = R3 = 0.000000;
628         break;
629         case Quantity_NOC_CHARTREUSE2 :
630                 RR = R1 = (float ) 0.462745; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
631         break;
632         case Quantity_NOC_CHARTREUSE3 :
633                 RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
634         break;
635         case Quantity_NOC_CHARTREUSE4 :
636                 RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
637         break;
638         case Quantity_NOC_CHOCOLATE :
639                 RR = R1 = (float ) 0.823529; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.117647;
640         break;
641         case Quantity_NOC_CHOCOLATE1 :
642                 RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.141176;
643         break;
644         case Quantity_NOC_CHOCOLATE2 :
645                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.462745; RB = R3 = (float ) 0.129412;
646         break;
647         case Quantity_NOC_CHOCOLATE3 :
648                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.113725;
649         break;
650         case Quantity_NOC_CHOCOLATE4 :
651                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.074510;
652         break;
653         case Quantity_NOC_CORAL :
654                 RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.313725;
655         break;
656         case Quantity_NOC_CORAL1 :
657                 RR = R1 = 1.000000; RG = R2 = (float ) 0.447059; RB = R3 = (float ) 0.337255;
658         break;
659         case Quantity_NOC_CORAL2 :
660                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.313725;
661         break;
662         case Quantity_NOC_CORAL3 :
663                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.356863; RB = R3 = (float ) 0.270588;
664         break;
665         case Quantity_NOC_CORAL4 :
666                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.243137; RB = R3 = (float ) 0.184314;
667         break;
668         case Quantity_NOC_CORNFLOWERBLUE :
669                 RR = R1 = (float ) 0.392157; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.929412;
670         break;
671         case Quantity_NOC_CORNSILK1 :
672                 RR = R1 = 1.000000; RG = R2 = (float ) 0.972549; RB = R3 = (float ) 0.862745;
673         break;
674         case Quantity_NOC_CORNSILK2 :
675                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.803922;
676         break;
677         case Quantity_NOC_CORNSILK3 :
678                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.784314; RB = R3 = (float ) 0.694118;
679         break;
680         case Quantity_NOC_CORNSILK4 :
681                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.533333; RB = R3 = (float ) 0.470588;
682         break;
683         case Quantity_NOC_CYAN1 :
684                 RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 1.000000;
685         break;
686         case Quantity_NOC_CYAN2 :
687                 RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
688         break;
689         case Quantity_NOC_CYAN3 :
690                 RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
691         break;
692         case Quantity_NOC_CYAN4 :
693                 RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
694         break;
695         case Quantity_NOC_DARKGOLDENROD :
696                 RR = R1 = (float ) 0.721569; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.043137;
697         break;
698         case Quantity_NOC_DARKGOLDENROD1 :
699                 RR = R1 = 1.000000; RG = R2 = (float ) 0.725490; RB = R3 = (float ) 0.058824;
700         break;
701         case Quantity_NOC_DARKGOLDENROD2 :
702                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.678431; RB = R3 = (float ) 0.054902;
703         break;
704         case Quantity_NOC_DARKGOLDENROD3 :
705                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.047059;
706         break;
707         case Quantity_NOC_DARKGOLDENROD4 :
708                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.396078; RB = R3 = (float ) 0.031373;
709         break;
710         case Quantity_NOC_DARKGREEN :
711                 RR = R1 = 0.000000; RG = R2 = (float ) 0.392157; RB = R3 = 0.000000;
712         break;
713         case Quantity_NOC_DARKKHAKI :
714                 RR = R1 = (float ) 0.741176; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.419608;
715         break;
716         case Quantity_NOC_DARKOLIVEGREEN :
717                 RR = R1 = (float ) 0.333333; RG = R2 = (float ) 0.419608; RB = R3 = (float ) 0.184314;
718         break;
719         case Quantity_NOC_DARKOLIVEGREEN1 :
720                 RR = R1 = (float ) 0.792157; RG = R2 = 1.000000; RB = R3 = (float ) 0.439216;
721         break;
722         case Quantity_NOC_DARKOLIVEGREEN2 :
723                 RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.407843;
724         break;
725         case Quantity_NOC_DARKOLIVEGREEN3 :
726                 RR = R1 = (float ) 0.635294; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.352941;
727         break;
728         case Quantity_NOC_DARKOLIVEGREEN4 :
729                 RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.239216;
730         break;
731         case Quantity_NOC_DARKORANGE :
732                 RR = R1 = 1.000000; RG = R2 = (float ) 0.549020; RB = R3 = 0.000000;
733         break;
734         case Quantity_NOC_DARKORANGE1 :
735                 RR = R1 = 1.000000; RG = R2 = (float ) 0.498039; RB = R3 = 0.000000;
736         break;
737         case Quantity_NOC_DARKORANGE2 :
738                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.462745; RB = R3 = 0.000000;
739         break;
740         case Quantity_NOC_DARKORANGE3 :
741                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.400000; RB = R3 = 0.000000;
742         break;
743         case Quantity_NOC_DARKORANGE4 :
744                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
745         break;
746         case Quantity_NOC_DARKORCHID :
747                 RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.800000;
748         break;
749         case Quantity_NOC_DARKORCHID1 :
750                 RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.243137; RB = R3 = 1.000000;
751         break;
752         case Quantity_NOC_DARKORCHID2 :
753                 RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.933333;
754         break;
755         case Quantity_NOC_DARKORCHID3 :
756                 RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.803922;
757         break;
758         case Quantity_NOC_DARKORCHID4 :
759                 RR = R1 = (float ) 0.407843; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.545098;
760         break;
761         case Quantity_NOC_DARKSALMON :
762                 RR = R1 = (float ) 0.913725; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.478431;
763         break;
764         case Quantity_NOC_DARKSEAGREEN :
765                 RR = R1 = (float ) 0.560784; RG = R2 = (float ) 0.737255; RB = R3 = (float ) 0.560784;
766         break;
767         case Quantity_NOC_DARKSEAGREEN1 :
768                 RR = R1 = (float ) 0.756863; RG = R2 = 1.000000; RB = R3 = (float ) 0.756863;
769         break;
770         case Quantity_NOC_DARKSEAGREEN2 :
771                 RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.705882;
772         break;
773         case Quantity_NOC_DARKSEAGREEN3 :
774                 RR = R1 = (float ) 0.607843; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.607843;
775         break;
776         case Quantity_NOC_DARKSEAGREEN4 :
777                 RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.411765;
778         break;
779         case Quantity_NOC_DARKSLATEBLUE :
780                 RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.239216; RB = R3 = (float ) 0.545098;
781         break;
782         case Quantity_NOC_DARKSLATEGRAY1 :
783                 RR = R1 = (float ) 0.592157; RG = R2 = 1.000000; RB = R3 = 1.000000;
784         break;
785         case Quantity_NOC_DARKSLATEGRAY2 :
786                 RR = R1 = (float ) 0.552941; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
787         break;
788         case Quantity_NOC_DARKSLATEGRAY3 :
789                 RR = R1 = (float ) 0.474510; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
790         break;
791         case Quantity_NOC_DARKSLATEGRAY4 :
792                 RR = R1 = (float ) 0.321569; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
793         break;
794         case Quantity_NOC_DARKSLATEGRAY :
795                 RR = R1 = (float ) 0.184314; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.309804;
796         break;
797         case Quantity_NOC_DARKTURQUOISE :
798                 RR = R1 = 0.000000; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.819608;
799         break;
800         case Quantity_NOC_DARKVIOLET :
801                 RR = R1 = (float ) 0.580392; RG = R2 = 0.000000; RB = R3 = (float ) 0.827451;
802         break;
803         case Quantity_NOC_DEEPPINK :
804                 RR = R1 = 1.000000; RG = R2 = (float ) 0.078431; RB = R3 = (float ) 0.576471;
805         break;
806         case Quantity_NOC_DEEPPINK2 :
807                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.070588; RB = R3 = (float ) 0.537255;
808         break;
809         case Quantity_NOC_DEEPPINK3 :
810                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.062745; RB = R3 = (float ) 0.462745;
811         break;
812         case Quantity_NOC_DEEPPINK4 :
813                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.039216; RB = R3 = (float ) 0.313725;
814         break;
815         case Quantity_NOC_DEEPSKYBLUE1 :
816                 RR = R1 = 0.000000; RG = R2 = (float ) 0.749020; RB = R3 = 1.000000;
817         break;
818         case Quantity_NOC_DEEPSKYBLUE2 :
819                 RR = R1 = 0.000000; RG = R2 = (float ) 0.698039; RB = R3 = (float ) 0.933333;
820         break;
821         case Quantity_NOC_DEEPSKYBLUE3 :
822                 RR = R1 = 0.000000; RG = R2 = (float ) 0.603922; RB = R3 = (float ) 0.803922;
823         break;
824         case Quantity_NOC_DEEPSKYBLUE4 :
825                 RR = R1 = 0.000000; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.545098;
826         break;
827         case Quantity_NOC_DODGERBLUE1 :
828                 RR = R1 = (float ) 0.117647; RG = R2 = (float ) 0.564706; RB = R3 = 1.000000;
829         break;
830         case Quantity_NOC_DODGERBLUE2 :
831                 RR = R1 = (float ) 0.109804; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.933333;
832         break;
833         case Quantity_NOC_DODGERBLUE3 :
834                 RR = R1 = (float ) 0.094118; RG = R2 = (float ) 0.454902; RB = R3 = (float ) 0.803922;
835         break;
836         case Quantity_NOC_DODGERBLUE4 :
837                 RR = R1 = (float ) 0.062745; RG = R2 = (float ) 0.305882; RB = R3 = (float ) 0.545098;
838         break;
839         case Quantity_NOC_FIREBRICK :
840                 RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.133333;
841         break;
842         case Quantity_NOC_FIREBRICK1 :
843                 RR = R1 = 1.000000; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.188235;
844         break;
845         case Quantity_NOC_FIREBRICK2 :
846                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.172549; RB = R3 = (float ) 0.172549;
847         break;
848         case Quantity_NOC_FIREBRICK3 :
849                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.149020;
850         break;
851         case Quantity_NOC_FIREBRICK4 :
852                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.101961;
853         break;
854         case Quantity_NOC_FLORALWHITE :
855                 RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.941176;
856         break;
857         case Quantity_NOC_FORESTGREEN :
858                 RR = R1 = (float ) 0.133333; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.133333;
859         break;
860         case Quantity_NOC_GAINSBORO :
861                 RR = R1 = (float ) 0.862745; RG = R2 = (float ) 0.862745; RB = R3 = (float ) 0.862745;
862         break;
863         case Quantity_NOC_GHOSTWHITE :
864                 RR = R1 = (float ) 0.972549; RG = R2 = (float ) 0.972549; RB = R3 = 1.000000;
865         break;
866         case Quantity_NOC_GOLD :
867                 RR = R1 = 1.000000; RG = R2 = (float ) 0.843137; RB = R3 = 0.000000;
868         break;
869         case Quantity_NOC_GOLD1 :
870                 RR = R1 = 1.000000; RG = R2 = (float ) 0.843137; RB = R3 = 0.000000;
871         break;
872         case Quantity_NOC_GOLD2 :
873                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.788235; RB = R3 = 0.000000;
874         break;
875         case Quantity_NOC_GOLD3 :
876                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.678431; RB = R3 = 0.000000;
877         break;
878         case Quantity_NOC_GOLD4 :
879                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.458824; RB = R3 = 0.000000;
880         break;
881         case Quantity_NOC_GOLDENROD :
882                 RR = R1 = (float ) 0.854902; RG = R2 = (float ) 0.647059; RB = R3 = (float ) 0.125490;
883         break;
884         case Quantity_NOC_GOLDENROD1 :
885                 RR = R1 = 1.000000; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.145098;
886         break;
887         case Quantity_NOC_GOLDENROD2 :
888                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.133333;
889         break;
890         case Quantity_NOC_GOLDENROD3 :
891                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.607843; RB = R3 = (float ) 0.113725;
892         break;
893         case Quantity_NOC_GOLDENROD4 :
894                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.078431;
895         break;
896         case Quantity_NOC_GRAY :
897                 RR = R1 = (float ) 0.752941; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.752941;
898         break;
899         case Quantity_NOC_GRAY0 :
900                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
901         break;
902         case Quantity_NOC_GRAY1 :
903                 RR = R1 = (float ) 0.011765; RG = R2 = (float ) 0.011765; RB = R3 = (float ) 0.011765;
904         break;
905         case Quantity_NOC_GRAY10 :
906                 RR = R1 = (float ) 0.101961; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.101961;
907         break;
908         case Quantity_NOC_GRAY11 :
909                 RR = R1 = (float ) 0.109804; RG = R2 = (float ) 0.109804; RB = R3 = (float ) 0.109804;
910         break;
911         case Quantity_NOC_GRAY12 :
912                 RR = R1 = (float ) 0.121569; RG = R2 = (float ) 0.121569; RB = R3 = (float ) 0.121569;
913         break;
914         case Quantity_NOC_GRAY13 :
915                 RR = R1 = (float ) 0.129412; RG = R2 = (float ) 0.129412; RB = R3 = (float ) 0.129412;
916         break;
917         case Quantity_NOC_GRAY14 :
918                 RR = R1 = (float ) 0.141176; RG = R2 = (float ) 0.141176; RB = R3 = (float ) 0.141176;
919         break;
920         case Quantity_NOC_GRAY15 :
921                 RR = R1 = (float ) 0.149020; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.149020;
922         break;
923         case Quantity_NOC_GRAY16 :
924                 RR = R1 = (float ) 0.160784; RG = R2 = (float ) 0.160784; RB = R3 = (float ) 0.160784;
925         break;
926         case Quantity_NOC_GRAY17 :
927                 RR = R1 = (float ) 0.168627; RG = R2 = (float ) 0.168627; RB = R3 = (float ) 0.168627;
928         break;
929         case Quantity_NOC_GRAY18 :
930                 RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.180392; RB = R3 = (float ) 0.180392;
931         break;
932         case Quantity_NOC_GRAY19 :
933                 RR = R1 = (float ) 0.188235; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.188235;
934         break;
935         case Quantity_NOC_GRAY2 :
936                 RR = R1 = (float ) 0.019608; RG = R2 = (float ) 0.019608; RB = R3 = (float ) 0.019608;
937         break;
938         case Quantity_NOC_GRAY20 :
939                 RR = R1 = (float ) 0.200000; RG = R2 = (float ) 0.200000; RB = R3 = (float ) 0.200000;
940         break;
941         case Quantity_NOC_GRAY21 :
942                 RR = R1 = (float ) 0.211765; RG = R2 = (float ) 0.211765; RB = R3 = (float ) 0.211765;
943         break;
944         case Quantity_NOC_GRAY22 :
945                 RR = R1 = (float ) 0.219608; RG = R2 = (float ) 0.219608; RB = R3 = (float ) 0.219608;
946         break;
947         case Quantity_NOC_GRAY23 :
948                 RR = R1 = (float ) 0.231373; RG = R2 = (float ) 0.231373; RB = R3 = (float ) 0.231373;
949         break;
950         case Quantity_NOC_GRAY24 :
951                 RR = R1 = (float ) 0.239216; RG = R2 = (float ) 0.239216; RB = R3 = (float ) 0.239216;
952         break;
953         case Quantity_NOC_GRAY25 :
954                 RR = R1 = (float ) 0.250980; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.250980;
955         break;
956         case Quantity_NOC_GRAY26 :
957                 RR = R1 = (float ) 0.258824; RG = R2 = (float ) 0.258824; RB = R3 = (float ) 0.258824;
958         break;
959         case Quantity_NOC_GRAY27 :
960                 RR = R1 = (float ) 0.270588; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.270588;
961         break;
962         case Quantity_NOC_GRAY28 :
963                 RR = R1 = (float ) 0.278431; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.278431;
964         break;
965         case Quantity_NOC_GRAY29 :
966                 RR = R1 = (float ) 0.290196; RG = R2 = (float ) 0.290196; RB = R3 = (float ) 0.290196;
967         break;
968         case Quantity_NOC_GRAY3 :
969                 RR = R1 = (float ) 0.031373; RG = R2 = (float ) 0.031373; RB = R3 = (float ) 0.031373;
970         break;
971         case Quantity_NOC_GRAY30 :
972                 RR = R1 = (float ) 0.301961; RG = R2 = (float ) 0.301961; RB = R3 = (float ) 0.301961;
973         break;
974         case Quantity_NOC_GRAY31 :
975                 RR = R1 = (float ) 0.309804; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.309804;
976         break;
977         case Quantity_NOC_GRAY32 :
978                 RR = R1 = (float ) 0.321569; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.321569;
979         break;
980         case Quantity_NOC_GRAY33 :
981                 RR = R1 = (float ) 0.329412; RG = R2 = (float ) 0.329412; RB = R3 = (float ) 0.329412;
982         break;
983         case Quantity_NOC_GRAY34 :
984                 RR = R1 = (float ) 0.341176; RG = R2 = (float ) 0.341176; RB = R3 = (float ) 0.341176;
985         break;
986         case Quantity_NOC_GRAY35 :
987                 RR = R1 = (float ) 0.349020; RG = R2 = (float ) 0.349020; RB = R3 = (float ) 0.349020;
988         break;
989         case Quantity_NOC_GRAY36 :
990                 RR = R1 = (float ) 0.360784; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.360784;
991         break;
992         case Quantity_NOC_GRAY37 :
993                 RR = R1 = (float ) 0.368627; RG = R2 = (float ) 0.368627; RB = R3 = (float ) 0.368627;
994         break;
995         case Quantity_NOC_GRAY38 :
996                 RR = R1 = (float ) 0.380392; RG = R2 = (float ) 0.380392; RB = R3 = (float ) 0.380392;
997         break;
998         case Quantity_NOC_GRAY39 :
999                 RR = R1 = (float ) 0.388235; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.388235;
1000         break;
1001         case Quantity_NOC_GRAY4 :
1002                 RR = R1 = (float ) 0.039216; RG = R2 = (float ) 0.039216; RB = R3 = (float ) 0.039216;
1003         break;
1004         case Quantity_NOC_GRAY40 :
1005                 RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.400000;
1006         break;
1007         case Quantity_NOC_GRAY41 :
1008                 RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.411765;
1009         break;
1010         case Quantity_NOC_GRAY42 :
1011                 RR = R1 = (float ) 0.419608; RG = R2 = (float ) 0.419608; RB = R3 = (float ) 0.419608;
1012         break;
1013         case Quantity_NOC_GRAY43 :
1014                 RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.431373;
1015         break;
1016         case Quantity_NOC_GRAY44 :
1017                 RR = R1 = (float ) 0.439216; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.439216;
1018         break;
1019         case Quantity_NOC_GRAY45 :
1020                 RR = R1 = (float ) 0.450980; RG = R2 = (float ) 0.450980; RB = R3 = (float ) 0.450980;
1021         break;
1022         case Quantity_NOC_GRAY46 :
1023                 RR = R1 = (float ) 0.458824; RG = R2 = (float ) 0.458824; RB = R3 = (float ) 0.458824;
1024         break;
1025         case Quantity_NOC_GRAY47 :
1026                 RR = R1 = (float ) 0.470588; RG = R2 = (float ) 0.470588; RB = R3 = (float ) 0.470588;
1027         break;
1028         case Quantity_NOC_GRAY48 :
1029                 RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.478431; RB = R3 = (float ) 0.478431;
1030         break;
1031         case Quantity_NOC_GRAY49 :
1032                 RR = R1 = (float ) 0.490196; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.490196;
1033         break;
1034         case Quantity_NOC_GRAY5 :
1035                 RR = R1 = (float ) 0.050980; RG = R2 = (float ) 0.050980; RB = R3 = (float ) 0.050980;
1036         break;
1037         case Quantity_NOC_GRAY50 :
1038                 RR = R1 = (float ) 0.498039; RG = R2 = (float ) 0.498039; RB = R3 = (float ) 0.498039;
1039         break;
1040         case Quantity_NOC_GRAY51 :
1041                 RR = R1 = (float ) 0.509804; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.509804;
1042         break;
1043         case Quantity_NOC_GRAY52 :
1044                 RR = R1 = (float ) 0.521569; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.521569;
1045         break;
1046         case Quantity_NOC_GRAY53 :
1047                 RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.529412; RB = R3 = (float ) 0.529412;
1048         break;
1049         case Quantity_NOC_GRAY54 :
1050                 RR = R1 = (float ) 0.541176; RG = R2 = (float ) 0.541176; RB = R3 = (float ) 0.541176;
1051         break;
1052         case Quantity_NOC_GRAY55 :
1053                 RR = R1 = (float ) 0.549020; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.549020;
1054         break;
1055         case Quantity_NOC_GRAY56 :
1056                 RR = R1 = (float ) 0.560784; RG = R2 = (float ) 0.560784; RB = R3 = (float ) 0.560784;
1057         break;
1058         case Quantity_NOC_GRAY57 :
1059                 RR = R1 = (float ) 0.568627; RG = R2 = (float ) 0.568627; RB = R3 = (float ) 0.568627;
1060         break;
1061         case Quantity_NOC_GRAY58 :
1062                 RR = R1 = (float ) 0.580392; RG = R2 = (float ) 0.580392; RB = R3 = (float ) 0.580392;
1063         break;
1064         case Quantity_NOC_GRAY59 :
1065                 RR = R1 = (float ) 0.588235; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.588235;
1066         break;
1067         case Quantity_NOC_GRAY6 :
1068                 RR = R1 = (float ) 0.058824; RG = R2 = (float ) 0.058824; RB = R3 = (float ) 0.058824;
1069         break;
1070         case Quantity_NOC_GRAY60 :
1071                 RR = R1 = (float ) 0.600000; RG = R2 = (float ) 0.600000; RB = R3 = (float ) 0.600000;
1072         break;
1073         case Quantity_NOC_GRAY61 :
1074                 RR = R1 = (float ) 0.611765; RG = R2 = (float ) 0.611765; RB = R3 = (float ) 0.611765;
1075         break;
1076         case Quantity_NOC_GRAY62 :
1077                 RR = R1 = (float ) 0.619608; RG = R2 = (float ) 0.619608; RB = R3 = (float ) 0.619608;
1078         break;
1079         case Quantity_NOC_GRAY63 :
1080                 RR = R1 = (float ) 0.631373; RG = R2 = (float ) 0.631373; RB = R3 = (float ) 0.631373;
1081         break;
1082         case Quantity_NOC_GRAY64 :
1083                 RR = R1 = (float ) 0.639216; RG = R2 = (float ) 0.639216; RB = R3 = (float ) 0.639216;
1084         break;
1085         case Quantity_NOC_GRAY65 :
1086                 RR = R1 = (float ) 0.650980; RG = R2 = (float ) 0.650980; RB = R3 = (float ) 0.650980;
1087         break;
1088         case Quantity_NOC_GRAY66 :
1089                 RR = R1 = (float ) 0.658824; RG = R2 = (float ) 0.658824; RB = R3 = (float ) 0.658824;
1090         break;
1091         case Quantity_NOC_GRAY67 :
1092                 RR = R1 = (float ) 0.670588; RG = R2 = (float ) 0.670588; RB = R3 = (float ) 0.670588;
1093         break;
1094         case Quantity_NOC_GRAY68 :
1095                 RR = R1 = (float ) 0.678431; RG = R2 = (float ) 0.678431; RB = R3 = (float ) 0.678431;
1096         break;
1097         case Quantity_NOC_GRAY69 :
1098                 RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.690196; RB = R3 = (float ) 0.690196;
1099         break;
1100         case Quantity_NOC_GRAY7 :
1101                 RR = R1 = (float ) 0.070588; RG = R2 = (float ) 0.070588; RB = R3 = (float ) 0.070588;
1102         break;
1103         case Quantity_NOC_GRAY70 :
1104                 RR = R1 = (float ) 0.701961; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.701961;
1105         break;
1106         case Quantity_NOC_GRAY71 :
1107                 RR = R1 = (float ) 0.709804; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.709804;
1108         break;
1109         case Quantity_NOC_GRAY72 :
1110                 RR = R1 = (float ) 0.721569; RG = R2 = (float ) 0.721569; RB = R3 = (float ) 0.721569;
1111         break;
1112         case Quantity_NOC_GRAY73 :
1113                 RR = R1 = (float ) 0.729412; RG = R2 = (float ) 0.729412; RB = R3 = (float ) 0.729412;
1114         break;
1115         case Quantity_NOC_GRAY74 :
1116                 RR = R1 = (float ) 0.741176; RG = R2 = (float ) 0.741176; RB = R3 = (float ) 0.741176;
1117         break;
1118         case Quantity_NOC_GRAY75 :
1119                 RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.749020; RB = R3 = (float ) 0.749020;
1120         break;
1121         case Quantity_NOC_GRAY76 :
1122                 RR = R1 = (float ) 0.760784; RG = R2 = (float ) 0.760784; RB = R3 = (float ) 0.760784;
1123         break;
1124         case Quantity_NOC_GRAY77 :
1125                 RR = R1 = (float ) 0.768627; RG = R2 = (float ) 0.768627; RB = R3 = (float ) 0.768627;
1126         break;
1127         case Quantity_NOC_GRAY78 :
1128                 RR = R1 = (float ) 0.780392; RG = R2 = (float ) 0.780392; RB = R3 = (float ) 0.780392;
1129         break;
1130         case Quantity_NOC_GRAY79 :
1131                 RR = R1 = (float ) 0.788235; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.788235;
1132         break;
1133         case Quantity_NOC_GRAY8 :
1134                 RR = R1 = (float ) 0.078431; RG = R2 = (float ) 0.078431; RB = R3 = (float ) 0.078431;
1135         break;
1136         case Quantity_NOC_GRAY80 :
1137                 RR = R1 = (float ) 0.800000; RG = R2 = (float ) 0.800000; RB = R3 = (float ) 0.800000;
1138         break;
1139         case Quantity_NOC_GRAY81 :
1140                 RR = R1 = (float ) 0.811765; RG = R2 = (float ) 0.811765; RB = R3 = (float ) 0.811765;
1141         break;
1142         case Quantity_NOC_GRAY82 :
1143                 RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.819608; RB = R3 = (float ) 0.819608;
1144         break;
1145         case Quantity_NOC_GRAY83 :
1146                 RR = R1 = (float ) 0.831373; RG = R2 = (float ) 0.831373; RB = R3 = (float ) 0.831373;
1147         break;
1148         case Quantity_NOC_GRAY85 :
1149                 RR = R1 = (float ) 0.850980; RG = R2 = (float ) 0.850980; RB = R3 = (float ) 0.850980;
1150         break;
1151         case Quantity_NOC_GRAY86 :
1152                 RR = R1 = (float ) 0.858824; RG = R2 = (float ) 0.858824; RB = R3 = (float ) 0.858824;
1153         break;
1154         case Quantity_NOC_GRAY87 :
1155                 RR = R1 = (float ) 0.870588; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.870588;
1156         break;
1157         case Quantity_NOC_GRAY88 :
1158                 RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.878431;
1159         break;
1160         case Quantity_NOC_GRAY89 :
1161                 RR = R1 = (float ) 0.890196; RG = R2 = (float ) 0.890196; RB = R3 = (float ) 0.890196;
1162         break;
1163         case Quantity_NOC_GRAY9 :
1164                 RR = R1 = (float ) 0.090196; RG = R2 = (float ) 0.090196; RB = R3 = (float ) 0.090196;
1165         break;
1166         case Quantity_NOC_GRAY90 :
1167                 RR = R1 = (float ) 0.898039; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.898039;
1168         break;
1169         case Quantity_NOC_GRAY91 :
1170                 RR = R1 = (float ) 0.909804; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.909804;
1171         break;
1172         case Quantity_NOC_GRAY92 :
1173                 RR = R1 = (float ) 0.921569; RG = R2 = (float ) 0.921569; RB = R3 = (float ) 0.921569;
1174         break;
1175         case Quantity_NOC_GRAY93 :
1176                 RR = R1 = (float ) 0.929412; RG = R2 = (float ) 0.929412; RB = R3 = (float ) 0.929412;
1177         break;
1178         case Quantity_NOC_GRAY94 :
1179                 RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.941176;
1180         break;
1181         case Quantity_NOC_GRAY95 :
1182                 RR = R1 = (float ) 0.949020; RG = R2 = (float ) 0.949020; RB = R3 = (float ) 0.949020;
1183         break;
1184         case Quantity_NOC_GREEN :
1185                 RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
1186         break;
1187         case Quantity_NOC_GREEN1 :
1188                 RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
1189         break;
1190         case Quantity_NOC_GREEN2 :
1191                 RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
1192         break;
1193         case Quantity_NOC_GREEN3 :
1194                 RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
1195         break;
1196         case Quantity_NOC_GREEN4 :
1197                 RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
1198         break;
1199         case Quantity_NOC_GREENYELLOW :
1200                 RR = R1 = (float ) 0.678431; RG = R2 = 1.000000; RB = R3 = (float ) 0.184314;
1201         break;
1202         case Quantity_NOC_GRAY97 :
1203                 RR = R1 = (float ) 0.968627; RG = R2 = (float ) 0.968627; RB = R3 = (float ) 0.968627;
1204         break;
1205         case Quantity_NOC_GRAY98 :
1206                 RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.980392;
1207         break;
1208         case Quantity_NOC_GRAY99 :
1209                 RR = R1 = (float ) 0.988235; RG = R2 = (float ) 0.988235; RB = R3 = (float ) 0.988235;
1210         break;
1211         case Quantity_NOC_HONEYDEW :
1212                 RR = R1 = (float ) 0.941176; RG = R2 = 1.000000; RB = R3 = (float ) 0.941176;
1213         break;
1214         case Quantity_NOC_HONEYDEW2 :
1215                 RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.878431;
1216         break;
1217         case Quantity_NOC_HONEYDEW3 :
1218                 RR = R1 = (float ) 0.756863; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.756863;
1219         break;
1220         case Quantity_NOC_HONEYDEW4 :
1221                 RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.513725;
1222         break;
1223         case Quantity_NOC_HOTPINK :
1224                 RR = R1 = 1.000000; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.705882;
1225         break;
1226         case Quantity_NOC_HOTPINK1 :
1227                 RR = R1 = 1.000000; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.705882;
1228         break;
1229         case Quantity_NOC_HOTPINK2 :
1230                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.654902;
1231         break;
1232         case Quantity_NOC_HOTPINK3 :
1233                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.376471; RB = R3 = (float ) 0.564706;
1234         break;
1235         case Quantity_NOC_HOTPINK4 :
1236                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.384314;
1237         break;
1238         case Quantity_NOC_INDIANRED :
1239                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.360784;
1240         break;
1241         case Quantity_NOC_INDIANRED1 :
1242                 RR = R1 = 1.000000; RG = R2 = (float ) 0.415686; RB = R3 = (float ) 0.415686;
1243         break;
1244         case Quantity_NOC_INDIANRED2 :
1245                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.388235;
1246         break;
1247         case Quantity_NOC_INDIANRED3 :
1248                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.333333; RB = R3 = (float ) 0.333333;
1249         break;
1250         case Quantity_NOC_INDIANRED4 :
1251                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.227451;
1252         break;
1253         case Quantity_NOC_IVORY :
1254                 RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.941176;
1255         break;
1256         case Quantity_NOC_IVORY2 :
1257                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.878431;
1258         break;
1259         case Quantity_NOC_IVORY3 :
1260                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.756863;
1261         break;
1262         case Quantity_NOC_IVORY4 :
1263                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.513725;
1264         break;
1265         case Quantity_NOC_KHAKI :
1266                 RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.549020;
1267         break;
1268         case Quantity_NOC_KHAKI1 :
1269                 RR = R1 = 1.000000; RG = R2 = (float ) 0.964706; RB = R3 = (float ) 0.560784;
1270         break;
1271         case Quantity_NOC_KHAKI2 :
1272                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.521569;
1273         break;
1274         case Quantity_NOC_KHAKI3 :
1275                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.776471; RB = R3 = (float ) 0.450980;
1276         break;
1277         case Quantity_NOC_KHAKI4 :
1278                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.305882;
1279         break;
1280         case Quantity_NOC_LAVENDER :
1281                 RR = R1 = (float ) 0.901961; RG = R2 = (float ) 0.901961; RB = R3 = (float ) 0.980392;
1282         break;
1283         case Quantity_NOC_LAVENDERBLUSH1 :
1284                 RR = R1 = 1.000000; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.960784;
1285         break;
1286         case Quantity_NOC_LAVENDERBLUSH2 :
1287                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.898039;
1288         break;
1289         case Quantity_NOC_LAVENDERBLUSH3 :
1290                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.772549;
1291         break;
1292         case Quantity_NOC_LAVENDERBLUSH4 :
1293                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.525490;
1294         break;
1295         case Quantity_NOC_LAWNGREEN :
1296                 RR = R1 = (float ) 0.486275; RG = R2 = (float ) 0.988235; RB = R3 = 0.000000;
1297         break;
1298         case Quantity_NOC_LEMONCHIFFON1 :
1299                 RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.803922;
1300         break;
1301         case Quantity_NOC_LEMONCHIFFON2 :
1302                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.913725; RB = R3 = (float ) 0.749020;
1303         break;
1304         case Quantity_NOC_LEMONCHIFFON3 :
1305                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.647059;
1306         break;
1307         case Quantity_NOC_LEMONCHIFFON4 :
1308                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.537255; RB = R3 = (float ) 0.439216;
1309         break;
1310         case Quantity_NOC_LIGHTBLUE :
1311                 RR = R1 = (float ) 0.678431; RG = R2 = (float ) 0.847059; RB = R3 = (float ) 0.901961;
1312         break;
1313         case Quantity_NOC_LIGHTBLUE1 :
1314                 RR = R1 = (float ) 0.749020; RG = R2 = (float ) 0.937255; RB = R3 = 1.000000;
1315         break;
1316         case Quantity_NOC_LIGHTBLUE2 :
1317                 RR = R1 = (float ) 0.698039; RG = R2 = (float ) 0.874510; RB = R3 = (float ) 0.933333;
1318         break;
1319         case Quantity_NOC_LIGHTBLUE3 :
1320                 RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.803922;
1321         break;
1322         case Quantity_NOC_LIGHTBLUE4 :
1323                 RR = R1 = (float ) 0.407843; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.545098;
1324         break;
1325         case Quantity_NOC_LIGHTCORAL :
1326                 RR = R1 = (float ) 0.941176; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.501961;
1327         break;
1328         case Quantity_NOC_LIGHTCYAN1 :
1329                 RR = R1 = (float ) 0.878431; RG = R2 = 1.000000; RB = R3 = 1.000000;
1330         break;
1331         case Quantity_NOC_LIGHTCYAN2 :
1332                 RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
1333         break;
1334         case Quantity_NOC_LIGHTCYAN3 :
1335                 RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
1336         break;
1337         case Quantity_NOC_LIGHTCYAN4 :
1338                 RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
1339         break;
1340         case Quantity_NOC_LIGHTGOLDENROD :
1341                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.866667; RB = R3 = (float ) 0.509804;
1342         break;
1343         case Quantity_NOC_LIGHTGOLDENROD1 :
1344                 RR = R1 = 1.000000; RG = R2 = (float ) 0.925490; RB = R3 = (float ) 0.545098;
1345         break;
1346         case Quantity_NOC_LIGHTGOLDENROD2 :
1347                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.862745; RB = R3 = (float ) 0.509804;
1348         break;
1349         case Quantity_NOC_LIGHTGOLDENROD3 :
1350                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.745098; RB = R3 = (float ) 0.439216;
1351         break;
1352         case Quantity_NOC_LIGHTGOLDENROD4 :
1353                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.505882; RB = R3 = (float ) 0.298039;
1354         break;
1355         case Quantity_NOC_LIGHTGOLDENRODYELLOW :
1356                 RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.823529;
1357         break;
1358         case Quantity_NOC_LIGHTGRAY :
1359                 RR = R1 = (float ) 0.827451; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.827451;
1360         break;
1361         case Quantity_NOC_LIGHTPINK :
1362                 RR = R1 = 1.000000; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.756863;
1363         break;
1364         case Quantity_NOC_LIGHTPINK1 :
1365                 RR = R1 = 1.000000; RG = R2 = (float ) 0.682353; RB = R3 = (float ) 0.725490;
1366         break;
1367         case Quantity_NOC_LIGHTPINK2 :
1368                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.635294; RB = R3 = (float ) 0.678431;
1369         break;
1370         case Quantity_NOC_LIGHTPINK3 :
1371                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.584314;
1372         break;
1373         case Quantity_NOC_LIGHTPINK4 :
1374                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.396078;
1375         break;
1376         case Quantity_NOC_LIGHTSALMON1 :
1377                 RR = R1 = 1.000000; RG = R2 = (float ) 0.627451; RB = R3 = (float ) 0.478431;
1378         break;
1379         case Quantity_NOC_LIGHTSALMON2 :
1380                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.584314; RB = R3 = (float ) 0.447059;
1381         break;
1382         case Quantity_NOC_LIGHTSALMON3 :
1383                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.505882; RB = R3 = (float ) 0.384314;
1384         break;
1385         case Quantity_NOC_LIGHTSALMON4 :
1386                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.341176; RB = R3 = (float ) 0.258824;
1387         break;
1388         case Quantity_NOC_LIGHTSEAGREEN :
1389                 RR = R1 = (float ) 0.125490; RG = R2 = (float ) 0.698039; RB = R3 = (float ) 0.666667;
1390         break;
1391         case Quantity_NOC_LIGHTSKYBLUE :
1392                 RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.980392;
1393         break;
1394         case Quantity_NOC_LIGHTSKYBLUE1 :
1395                 RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.886275; RB = R3 = 1.000000;
1396         break;
1397         case Quantity_NOC_LIGHTSKYBLUE2 :
1398                 RR = R1 = (float ) 0.643137; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.933333;
1399         break;
1400         case Quantity_NOC_LIGHTSKYBLUE3 :
1401                 RR = R1 = (float ) 0.552941; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.803922;
1402         break;
1403         case Quantity_NOC_LIGHTSKYBLUE4 :
1404                 RR = R1 = (float ) 0.376471; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
1405         break;
1406         case Quantity_NOC_LIGHTSLATEBLUE :
1407                 RR = R1 = (float ) 0.517647; RG = R2 = (float ) 0.439216; RB = R3 = 1.000000;
1408         break;
1409         case Quantity_NOC_LIGHTSLATEGRAY :
1410                 RR = R1 = (float ) 0.466667; RG = R2 = (float ) 0.533333; RB = R3 = (float ) 0.600000;
1411         break;
1412         case Quantity_NOC_LIGHTSTEELBLUE :
1413                 RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.768627; RB = R3 = (float ) 0.870588;
1414         break;
1415         case Quantity_NOC_LIGHTSTEELBLUE1 :
1416                 RR = R1 = (float ) 0.792157; RG = R2 = (float ) 0.882353; RB = R3 = 1.000000;
1417         break;
1418         case Quantity_NOC_LIGHTSTEELBLUE2 :
1419                 RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.823529; RB = R3 = (float ) 0.933333;
1420         break;
1421         case Quantity_NOC_LIGHTSTEELBLUE3 :
1422                 RR = R1 = (float ) 0.635294; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.803922;
1423         break;
1424         case Quantity_NOC_LIGHTSTEELBLUE4 :
1425                 RR = R1 = (float ) 0.431373; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
1426         break;
1427         case Quantity_NOC_LIGHTYELLOW :
1428                 RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.878431;
1429         break;
1430         case Quantity_NOC_LIGHTYELLOW2 :
1431                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.819608;
1432         break;
1433         case Quantity_NOC_LIGHTYELLOW3 :
1434                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.705882;
1435         break;
1436         case Quantity_NOC_LIGHTYELLOW4 :
1437                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.478431;
1438         break;
1439         case Quantity_NOC_LIMEGREEN :
1440                 RR = R1 = (float ) 0.196078; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
1441         break;
1442         case Quantity_NOC_LINEN :
1443                 RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.941176; RB = R3 = (float ) 0.901961;
1444         break;
1445         case Quantity_NOC_MAGENTA1 :
1446                 RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 1.000000;
1447         break;
1448         case Quantity_NOC_MAGENTA2 :
1449                 RR = R1 = (float ) 0.933333; RG = R2 = 0.000000; RB = R3 = (float ) 0.933333;
1450         break;
1451         case Quantity_NOC_MAGENTA3 :
1452                 RR = R1 = (float ) 0.803922; RG = R2 = 0.000000; RB = R3 = (float ) 0.803922;
1453         break;
1454         case Quantity_NOC_MAGENTA4 :
1455                 RR = R1 = (float ) 0.545098; RG = R2 = 0.000000; RB = R3 = (float ) 0.545098;
1456         break;
1457         case Quantity_NOC_MAROON :
1458                 RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.376471;
1459         break;
1460         case Quantity_NOC_MAROON1 :
1461                 RR = R1 = 1.000000; RG = R2 = (float ) 0.203922; RB = R3 = (float ) 0.701961;
1462         break;
1463         case Quantity_NOC_MAROON2 :
1464                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.188235; RB = R3 = (float ) 0.654902;
1465         break;
1466         case Quantity_NOC_MAROON3 :
1467                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.160784; RB = R3 = (float ) 0.564706;
1468         break;
1469         case Quantity_NOC_MAROON4 :
1470                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.109804; RB = R3 = (float ) 0.384314;
1471         break;
1472         case Quantity_NOC_MEDIUMAQUAMARINE :
1473                 RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.666667;
1474         break;
1475         case Quantity_NOC_MEDIUMORCHID :
1476                 RR = R1 = (float ) 0.729412; RG = R2 = (float ) 0.333333; RB = R3 = (float ) 0.827451;
1477         break;
1478         case Quantity_NOC_MEDIUMORCHID1 :
1479                 RR = R1 = (float ) 0.878431; RG = R2 = (float ) 0.400000; RB = R3 = 1.000000;
1480         break;
1481         case Quantity_NOC_MEDIUMORCHID2 :
1482                 RR = R1 = (float ) 0.819608; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.933333;
1483         break;
1484         case Quantity_NOC_MEDIUMORCHID3 :
1485                 RR = R1 = (float ) 0.705882; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.803922;
1486         break;
1487         case Quantity_NOC_MEDIUMORCHID4 :
1488                 RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.215686; RB = R3 = (float ) 0.545098;
1489         break;
1490         case Quantity_NOC_MEDIUMPURPLE :
1491                 RR = R1 = (float ) 0.576471; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.858824;
1492         break;
1493         case Quantity_NOC_MEDIUMPURPLE1 :
1494                 RR = R1 = (float ) 0.670588; RG = R2 = (float ) 0.509804; RB = R3 = 1.000000;
1495         break;
1496         case Quantity_NOC_MEDIUMPURPLE2 :
1497                 RR = R1 = (float ) 0.623529; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.933333;
1498         break;
1499         case Quantity_NOC_MEDIUMPURPLE3 :
1500                 RR = R1 = (float ) 0.537255; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.803922;
1501         break;
1502         case Quantity_NOC_MEDIUMPURPLE4 :
1503                 RR = R1 = (float ) 0.364706; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.545098;
1504         break;
1505         case Quantity_NOC_MEDIUMSEAGREEN :
1506                 RR = R1 = (float ) 0.235294; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.443137;
1507         break;
1508         case Quantity_NOC_MEDIUMSLATEBLUE :
1509                 RR = R1 = (float ) 0.482353; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.933333;
1510         break;
1511         case Quantity_NOC_MEDIUMSPRINGGREEN :
1512                 RR = R1 = 0.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.603922;
1513         break;
1514         case Quantity_NOC_MEDIUMTURQUOISE :
1515                 RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.819608; RB = R3 = (float ) 0.800000;
1516         break;
1517         case Quantity_NOC_MEDIUMVIOLETRED :
1518                 RR = R1 = (float ) 0.780392; RG = R2 = (float ) 0.082353; RB = R3 = (float ) 0.521569;
1519         break;
1520         case Quantity_NOC_MIDNIGHTBLUE :
1521                 RR = R1 = (float ) 0.098039; RG = R2 = (float ) 0.098039; RB = R3 = (float ) 0.439216;
1522         break;
1523         case Quantity_NOC_MINTCREAM :
1524                 RR = R1 = (float ) 0.960784; RG = R2 = 1.000000; RB = R3 = (float ) 0.980392;
1525         break;
1526         case Quantity_NOC_MISTYROSE :
1527                 RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.882353;
1528         break;
1529         case Quantity_NOC_MISTYROSE2 :
1530                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.835294; RB = R3 = (float ) 0.823529;
1531         break;
1532         case Quantity_NOC_MISTYROSE3 :
1533                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.717647; RB = R3 = (float ) 0.709804;
1534         break;
1535         case Quantity_NOC_MISTYROSE4 :
1536                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.490196; RB = R3 = (float ) 0.482353;
1537         break;
1538         case Quantity_NOC_MOCCASIN :
1539                 RR = R1 = 1.000000; RG = R2 = (float ) 0.894118; RB = R3 = (float ) 0.709804;
1540         break;
1541         case Quantity_NOC_NAVAJOWHITE1 :
1542                 RR = R1 = 1.000000; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.678431;
1543         break;
1544         case Quantity_NOC_NAVAJOWHITE2 :
1545                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.811765; RB = R3 = (float ) 0.631373;
1546         break;
1547         case Quantity_NOC_NAVAJOWHITE3 :
1548                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.701961; RB = R3 = (float ) 0.545098;
1549         break;
1550         case Quantity_NOC_NAVAJOWHITE4 :
1551                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.368627;
1552         break;
1553         case Quantity_NOC_NAVYBLUE :
1554                 RR = R1 = 0.000000; RG = R2 = 0.000000; RB = R3 = (float ) 0.501961;
1555         break;
1556         case Quantity_NOC_OLDLACE :
1557                 RR = R1 = (float ) 0.992157; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.901961;
1558         break;
1559         case Quantity_NOC_OLIVEDRAB :
1560                 RR = R1 = (float ) 0.419608; RG = R2 = (float ) 0.556863; RB = R3 = (float ) 0.137255;
1561         break;
1562         case Quantity_NOC_OLIVEDRAB1 :
1563                 RR = R1 = (float ) 0.752941; RG = R2 = 1.000000; RB = R3 = (float ) 0.243137;
1564         break;
1565         case Quantity_NOC_OLIVEDRAB2 :
1566                 RR = R1 = (float ) 0.701961; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.227451;
1567         break;
1568         case Quantity_NOC_OLIVEDRAB3 :
1569                 RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
1570         break;
1571         case Quantity_NOC_OLIVEDRAB4 :
1572                 RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.133333;
1573         break;
1574         case Quantity_NOC_ORANGE :
1575                 RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = 0.000000;
1576         break;
1577         case Quantity_NOC_ORANGE1 :
1578                 RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = 0.000000;
1579         break;
1580         case Quantity_NOC_ORANGE2 :
1581                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.603922; RB = R3 = 0.000000;
1582         break;
1583         case Quantity_NOC_ORANGE3 :
1584                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = 0.000000;
1585         break;
1586         case Quantity_NOC_ORANGE4 :
1587                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.352941; RB = R3 = 0.000000;
1588         break;
1589         case Quantity_NOC_ORANGERED :
1590                 RR = R1 = 1.000000; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
1591         break;
1592         case Quantity_NOC_ORANGERED1 :
1593                 RR = R1 = 1.000000; RG = R2 = (float ) 0.270588; RB = R3 = 0.000000;
1594         break;
1595         case Quantity_NOC_ORANGERED2 :
1596                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.250980; RB = R3 = 0.000000;
1597         break;
1598         case Quantity_NOC_ORANGERED3 :
1599                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.215686; RB = R3 = 0.000000;
1600         break;
1601         case Quantity_NOC_ORANGERED4 :
1602                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.145098; RB = R3 = 0.000000;
1603         break;
1604         case Quantity_NOC_ORCHID :
1605                 RR = R1 = (float ) 0.854902; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.839216;
1606         break;
1607         case Quantity_NOC_ORCHID1 :
1608                 RR = R1 = 1.000000; RG = R2 = (float ) 0.513725; RB = R3 = (float ) 0.980392;
1609         break;
1610         case Quantity_NOC_ORCHID2 :
1611                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.478431; RB = R3 = (float ) 0.913725;
1612         break;
1613         case Quantity_NOC_ORCHID3 :
1614                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.788235;
1615         break;
1616         case Quantity_NOC_ORCHID4 :
1617                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.537255;
1618         break;
1619         case Quantity_NOC_PALEGOLDENROD :
1620                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.909804; RB = R3 = (float ) 0.666667;
1621         break;
1622         case Quantity_NOC_PALEGREEN :
1623                 RR = R1 = (float ) 0.596078; RG = R2 = (float ) 0.984314; RB = R3 = (float ) 0.596078;
1624         break;
1625         case Quantity_NOC_PALEGREEN1 :
1626                 RR = R1 = (float ) 0.603922; RG = R2 = 1.000000; RB = R3 = (float ) 0.603922;
1627         break;
1628         case Quantity_NOC_PALEGREEN2 :
1629                 RR = R1 = (float ) 0.564706; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.564706;
1630         break;
1631         case Quantity_NOC_PALEGREEN3 :
1632                 RR = R1 = (float ) 0.486275; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.486275;
1633         break;
1634         case Quantity_NOC_PALEGREEN4 :
1635                 RR = R1 = (float ) 0.329412; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.329412;
1636         break;
1637         case Quantity_NOC_PALETURQUOISE :
1638                 RR = R1 = (float ) 0.686275; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
1639         break;
1640         case Quantity_NOC_PALETURQUOISE1 :
1641                 RR = R1 = (float ) 0.733333; RG = R2 = 1.000000; RB = R3 = 1.000000;
1642         break;
1643         case Quantity_NOC_PALETURQUOISE2 :
1644                 RR = R1 = (float ) 0.682353; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.933333;
1645         break;
1646         case Quantity_NOC_PALETURQUOISE3 :
1647                 RR = R1 = (float ) 0.588235; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.803922;
1648         break;
1649         case Quantity_NOC_PALETURQUOISE4 :
1650                 RR = R1 = (float ) 0.400000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.545098;
1651         break;
1652         case Quantity_NOC_PALEVIOLETRED :
1653                 RR = R1 = (float ) 0.858824; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.576471;
1654         break;
1655         case Quantity_NOC_PALEVIOLETRED1 :
1656                 RR = R1 = 1.000000; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.670588;
1657         break;
1658         case Quantity_NOC_PALEVIOLETRED2 :
1659                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.623529;
1660         break;
1661         case Quantity_NOC_PALEVIOLETRED3 :
1662                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.537255;
1663         break;
1664         case Quantity_NOC_PALEVIOLETRED4 :
1665                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.364706;
1666         break;
1667         case Quantity_NOC_PAPAYAWHIP :
1668                 RR = R1 = 1.000000; RG = R2 = (float ) 0.937255; RB = R3 = (float ) 0.835294;
1669         break;
1670         case Quantity_NOC_PEACHPUFF :
1671                 RR = R1 = 1.000000; RG = R2 = (float ) 0.854902; RB = R3 = (float ) 0.725490;
1672         break;
1673         case Quantity_NOC_PEACHPUFF2 :
1674                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.796078; RB = R3 = (float ) 0.678431;
1675         break;
1676         case Quantity_NOC_PEACHPUFF3 :
1677                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.686275; RB = R3 = (float ) 0.584314;
1678         break;
1679         case Quantity_NOC_PEACHPUFF4 :
1680                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.466667; RB = R3 = (float ) 0.396078;
1681         break;
1682         case Quantity_NOC_PERU :
1683                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.247059;
1684         break;
1685         case Quantity_NOC_PINK :
1686                 RR = R1 = 1.000000; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.796078;
1687         break;
1688         case Quantity_NOC_PINK1 :
1689                 RR = R1 = 1.000000; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.772549;
1690         break;
1691         case Quantity_NOC_PINK2 :
1692                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.662745; RB = R3 = (float ) 0.721569;
1693         break;
1694         case Quantity_NOC_PINK3 :
1695                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.568627; RB = R3 = (float ) 0.619608;
1696         break;
1697         case Quantity_NOC_PINK4 :
1698                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.423529;
1699         break;
1700         case Quantity_NOC_PLUM :
1701                 RR = R1 = (float ) 0.866667; RG = R2 = (float ) 0.627451; RB = R3 = (float ) 0.866667;
1702         break;
1703         case Quantity_NOC_PLUM1 :
1704                 RR = R1 = 1.000000; RG = R2 = (float ) 0.733333; RB = R3 = 1.000000;
1705         break;
1706         case Quantity_NOC_PLUM2 :
1707                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.682353; RB = R3 = (float ) 0.933333;
1708         break;
1709         case Quantity_NOC_PLUM3 :
1710                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.588235; RB = R3 = (float ) 0.803922;
1711         break;
1712         case Quantity_NOC_PLUM4 :
1713                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.400000; RB = R3 = (float ) 0.545098;
1714         break;
1715         case Quantity_NOC_POWDERBLUE :
1716                 RR = R1 = (float ) 0.690196; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.901961;
1717         break;
1718         case Quantity_NOC_PURPLE :
1719                 RR = R1 = (float ) 0.627451; RG = R2 = (float ) 0.125490; RB = R3 = (float ) 0.941176;
1720         break;
1721         case Quantity_NOC_PURPLE1 :
1722                 RR = R1 = (float ) 0.607843; RG = R2 = (float ) 0.188235; RB = R3 = 1.000000;
1723         break;
1724         case Quantity_NOC_PURPLE2 :
1725                 RR = R1 = (float ) 0.568627; RG = R2 = (float ) 0.172549; RB = R3 = (float ) 0.933333;
1726         break;
1727         case Quantity_NOC_PURPLE3 :
1728                 RR = R1 = (float ) 0.490196; RG = R2 = (float ) 0.149020; RB = R3 = (float ) 0.803922;
1729         break;
1730         case Quantity_NOC_PURPLE4 :
1731                 RR = R1 = (float ) 0.333333; RG = R2 = (float ) 0.101961; RB = R3 = (float ) 0.545098;
1732         break;
1733         case Quantity_NOC_RED :
1734                 RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
1735         break;
1736         case Quantity_NOC_RED1 :
1737                 RR = R1 = 1.000000; RG = R2 = 0.000000; RB = R3 = 0.000000;
1738         break;
1739         case Quantity_NOC_RED2 :
1740                 RR = R1 = (float ) 0.933333; RG = R2 = 0.000000; RB = R3 = 0.000000;
1741         break;
1742         case Quantity_NOC_RED3 :
1743                 RR = R1 = (float ) 0.803922; RG = R2 = 0.000000; RB = R3 = 0.000000;
1744         break;
1745         case Quantity_NOC_RED4 :
1746                 RR = R1 = (float ) 0.545098; RG = R2 = 0.000000; RB = R3 = 0.000000;
1747         break;
1748         case Quantity_NOC_ROSYBROWN :
1749                 RR = R1 = (float ) 0.737255; RG = R2 = (float ) 0.560784; RB = R3 = (float ) 0.560784;
1750         break;
1751         case Quantity_NOC_ROSYBROWN1 :
1752                 RR = R1 = 1.000000; RG = R2 = (float ) 0.756863; RB = R3 = (float ) 0.756863;
1753         break;
1754         case Quantity_NOC_ROSYBROWN2 :
1755                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.705882;
1756         break;
1757         case Quantity_NOC_ROSYBROWN3 :
1758                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.607843; RB = R3 = (float ) 0.607843;
1759         break;
1760         case Quantity_NOC_ROSYBROWN4 :
1761                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.411765;
1762         break;
1763         case Quantity_NOC_ROYALBLUE :
1764                 RR = R1 = (float ) 0.254902; RG = R2 = (float ) 0.411765; RB = R3 = (float ) 0.882353;
1765         break;
1766         case Quantity_NOC_ROYALBLUE1 :
1767                 RR = R1 = (float ) 0.282353; RG = R2 = (float ) 0.462745; RB = R3 = 1.000000;
1768         break;
1769         case Quantity_NOC_ROYALBLUE2 :
1770                 RR = R1 = (float ) 0.262745; RG = R2 = (float ) 0.431373; RB = R3 = (float ) 0.933333;
1771         break;
1772         case Quantity_NOC_ROYALBLUE3 :
1773                 RR = R1 = (float ) 0.227451; RG = R2 = (float ) 0.372549; RB = R3 = (float ) 0.803922;
1774         break;
1775         case Quantity_NOC_ROYALBLUE4 :
1776                 RR = R1 = (float ) 0.152941; RG = R2 = (float ) 0.250980; RB = R3 = (float ) 0.545098;
1777         break;
1778         case Quantity_NOC_SADDLEBROWN :
1779                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.270588; RB = R3 = (float ) 0.074510;
1780         break;
1781         case Quantity_NOC_SALMON :
1782                 RR = R1 = (float ) 0.980392; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.447059;
1783         break;
1784         case Quantity_NOC_SALMON1 :
1785                 RR = R1 = 1.000000; RG = R2 = (float ) 0.549020; RB = R3 = (float ) 0.411765;
1786         break;
1787         case Quantity_NOC_SALMON2 :
1788                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.384314;
1789         break;
1790         case Quantity_NOC_SALMON3 :
1791                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.329412;
1792         break;
1793         case Quantity_NOC_SALMON4 :
1794                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.298039; RB = R3 = (float ) 0.223529;
1795         break;
1796         case Quantity_NOC_SANDYBROWN :
1797                 RR = R1 = (float ) 0.956863; RG = R2 = (float ) 0.643137; RB = R3 = (float ) 0.376471;
1798         break;
1799         case Quantity_NOC_SEAGREEN :
1800                 RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.341176;
1801         break;
1802         case Quantity_NOC_SEAGREEN1 :
1803                 RR = R1 = (float ) 0.329412; RG = R2 = 1.000000; RB = R3 = (float ) 0.623529;
1804         break;
1805         case Quantity_NOC_SEAGREEN2 :
1806                 RR = R1 = (float ) 0.305882; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.580392;
1807         break;
1808         case Quantity_NOC_SEAGREEN3 :
1809                 RR = R1 = (float ) 0.262745; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.501961;
1810         break;
1811         case Quantity_NOC_SEAGREEN4 :
1812                 RR = R1 = (float ) 0.180392; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.341176;
1813         break;
1814         case Quantity_NOC_SEASHELL :
1815                 RR = R1 = 1.000000; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.933333;
1816         break;
1817         case Quantity_NOC_SEASHELL2 :
1818                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.870588;
1819         break;
1820         case Quantity_NOC_SEASHELL3 :
1821                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.749020;
1822         break;
1823         case Quantity_NOC_SEASHELL4 :
1824                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.509804;
1825         break;
1826         case Quantity_NOC_BEET :
1827                 RR = R1 = (float ) 0.556863; RG = R2 = (float ) 0.219608; RB = R3 = (float ) 0.556863;
1828         break;
1829         case Quantity_NOC_TEAL :
1830                 RR = R1 = (float ) 0.219608; RG = R2 = (float ) 0.556863; RB = R3 = (float ) 0.556863;
1831         break;
1832         case Quantity_NOC_SIENNA :
1833                 RR = R1 = (float ) 0.627451; RG = R2 = (float ) 0.321569; RB = R3 = (float ) 0.176471;
1834         break;
1835         case Quantity_NOC_SIENNA1 :
1836                 RR = R1 = 1.000000; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.278431;
1837         break;
1838         case Quantity_NOC_SIENNA2 :
1839                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.474510; RB = R3 = (float ) 0.258824;
1840         break;
1841         case Quantity_NOC_SIENNA3 :
1842                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.407843; RB = R3 = (float ) 0.223529;
1843         break;
1844         case Quantity_NOC_SIENNA4 :
1845                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.278431; RB = R3 = (float ) 0.149020;
1846         break;
1847         case Quantity_NOC_SKYBLUE :
1848                 RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = (float ) 0.921569;
1849         break;
1850         case Quantity_NOC_SKYBLUE1 :
1851                 RR = R1 = (float ) 0.529412; RG = R2 = (float ) 0.807843; RB = R3 = 1.000000;
1852         break;
1853         case Quantity_NOC_SKYBLUE2 :
1854                 RR = R1 = (float ) 0.494118; RG = R2 = (float ) 0.752941; RB = R3 = (float ) 0.933333;
1855         break;
1856         case Quantity_NOC_SKYBLUE3 :
1857                 RR = R1 = (float ) 0.423529; RG = R2 = (float ) 0.650980; RB = R3 = (float ) 0.803922;
1858         break;
1859         case Quantity_NOC_SKYBLUE4 :
1860                 RR = R1 = (float ) 0.290196; RG = R2 = (float ) 0.439216; RB = R3 = (float ) 0.545098;
1861         break;
1862         case Quantity_NOC_SLATEBLUE :
1863                 RR = R1 = (float ) 0.415686; RG = R2 = (float ) 0.352941; RB = R3 = (float ) 0.803922;
1864         break;
1865         case Quantity_NOC_SLATEBLUE1 :
1866                 RR = R1 = (float ) 0.513725; RG = R2 = (float ) 0.435294; RB = R3 = 1.000000;
1867         break;
1868         case Quantity_NOC_SLATEBLUE2 :
1869                 RR = R1 = (float ) 0.478431; RG = R2 = (float ) 0.403922; RB = R3 = (float ) 0.933333;
1870         break;
1871         case Quantity_NOC_SLATEBLUE3 :
1872                 RR = R1 = (float ) 0.411765; RG = R2 = (float ) 0.349020; RB = R3 = (float ) 0.803922;
1873         break;
1874         case Quantity_NOC_SLATEBLUE4 :
1875                 RR = R1 = (float ) 0.278431; RG = R2 = (float ) 0.235294; RB = R3 = (float ) 0.545098;
1876         break;
1877         case Quantity_NOC_SLATEGRAY1 :
1878                 RR = R1 = (float ) 0.776471; RG = R2 = (float ) 0.886275; RB = R3 = 1.000000;
1879         break;
1880         case Quantity_NOC_SLATEGRAY2 :
1881                 RR = R1 = (float ) 0.725490; RG = R2 = (float ) 0.827451; RB = R3 = (float ) 0.933333;
1882         break;
1883         case Quantity_NOC_SLATEGRAY3 :
1884                 RR = R1 = (float ) 0.623529; RG = R2 = (float ) 0.713725; RB = R3 = (float ) 0.803922;
1885         break;
1886         case Quantity_NOC_SLATEGRAY4 :
1887                 RR = R1 = (float ) 0.423529; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
1888         break;
1889         case Quantity_NOC_SLATEGRAY :
1890                 RR = R1 = (float ) 0.439216; RG = R2 = (float ) 0.501961; RB = R3 = (float ) 0.564706;
1891         break;
1892         case Quantity_NOC_SNOW :
1893                 RR = R1 = 1.000000; RG = R2 = (float ) 0.980392; RB = R3 = (float ) 0.980392;
1894         break;
1895         case Quantity_NOC_SNOW2 :
1896                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.913725; RB = R3 = (float ) 0.913725;
1897         break;
1898         case Quantity_NOC_SNOW3 :
1899                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.788235; RB = R3 = (float ) 0.788235;
1900         break;
1901         case Quantity_NOC_SNOW4 :
1902                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.537255; RB = R3 = (float ) 0.537255;
1903         break;
1904         case Quantity_NOC_SPRINGGREEN :
1905                 RR = R1 = 0.000000; RG = R2 = 1.000000; RB = R3 = (float ) 0.498039;
1906         break;
1907         case Quantity_NOC_SPRINGGREEN2 :
1908                 RR = R1 = 0.000000; RG = R2 = (float ) 0.933333; RB = R3 = (float ) 0.462745;
1909         break;
1910         case Quantity_NOC_SPRINGGREEN3 :
1911                 RR = R1 = 0.000000; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.400000;
1912         break;
1913         case Quantity_NOC_SPRINGGREEN4 :
1914                 RR = R1 = 0.000000; RG = R2 = (float ) 0.545098; RB = R3 = (float ) 0.270588;
1915         break;
1916         case Quantity_NOC_STEELBLUE :
1917                 RR = R1 = (float ) 0.274510; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.705882;
1918         break;
1919         case Quantity_NOC_STEELBLUE1 :
1920                 RR = R1 = (float ) 0.388235; RG = R2 = (float ) 0.721569; RB = R3 = 1.000000;
1921         break;
1922         case Quantity_NOC_STEELBLUE2 :
1923                 RR = R1 = (float ) 0.360784; RG = R2 = (float ) 0.674510; RB = R3 = (float ) 0.933333;
1924         break;
1925         case Quantity_NOC_STEELBLUE3 :
1926                 RR = R1 = (float ) 0.309804; RG = R2 = (float ) 0.580392; RB = R3 = (float ) 0.803922;
1927         break;
1928         case Quantity_NOC_STEELBLUE4 :
1929                 RR = R1 = (float ) 0.211765; RG = R2 = (float ) 0.392157; RB = R3 = (float ) 0.545098;
1930         break;
1931         case Quantity_NOC_TAN :
1932                 RR = R1 = (float ) 0.823529; RG = R2 = (float ) 0.705882; RB = R3 = (float ) 0.549020;
1933         break;
1934         case Quantity_NOC_TAN1 :
1935                 RR = R1 = 1.000000; RG = R2 = (float ) 0.647059; RB = R3 = (float ) 0.309804;
1936         break;
1937         case Quantity_NOC_TAN2 :
1938                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.603922; RB = R3 = (float ) 0.286275;
1939         break;
1940         case Quantity_NOC_TAN3 :
1941                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.521569; RB = R3 = (float ) 0.247059;
1942         break;
1943         case Quantity_NOC_TAN4 :
1944                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.352941; RB = R3 = (float ) 0.168627;
1945         break;
1946         case Quantity_NOC_THISTLE :
1947                 RR = R1 = (float ) 0.847059; RG = R2 = (float ) 0.749020; RB = R3 = (float ) 0.847059;
1948         break;
1949         case Quantity_NOC_THISTLE1 :
1950                 RR = R1 = 1.000000; RG = R2 = (float ) 0.882353; RB = R3 = 1.000000;
1951         break;
1952         case Quantity_NOC_THISTLE2 :
1953                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.823529; RB = R3 = (float ) 0.933333;
1954         break;
1955         case Quantity_NOC_THISTLE3 :
1956                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.709804; RB = R3 = (float ) 0.803922;
1957         break;
1958         case Quantity_NOC_THISTLE4 :
1959                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.482353; RB = R3 = (float ) 0.545098;
1960         break;
1961         case Quantity_NOC_TOMATO :
1962                 RR = R1 = 1.000000; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.278431;
1963         break;
1964         case Quantity_NOC_TOMATO1 :
1965                 RR = R1 = 1.000000; RG = R2 = (float ) 0.388235; RB = R3 = (float ) 0.278431;
1966         break;
1967         case Quantity_NOC_TOMATO2 :
1968                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.360784; RB = R3 = (float ) 0.258824;
1969         break;
1970         case Quantity_NOC_TOMATO3 :
1971                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.309804; RB = R3 = (float ) 0.223529;
1972         break;
1973         case Quantity_NOC_TOMATO4 :
1974                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.211765; RB = R3 = (float ) 0.149020;
1975         break;
1976         case Quantity_NOC_TURQUOISE :
1977                 RR = R1 = (float ) 0.250980; RG = R2 = (float ) 0.878431; RB = R3 = (float ) 0.815686;
1978         break;
1979         case Quantity_NOC_TURQUOISE1 :
1980                 RR = R1 = 0.000000; RG = R2 = (float ) 0.960784; RB = R3 = 1.000000;
1981         break;
1982         case Quantity_NOC_TURQUOISE2 :
1983                 RR = R1 = 0.000000; RG = R2 = (float ) 0.898039; RB = R3 = (float ) 0.933333;
1984         break;
1985         case Quantity_NOC_TURQUOISE3 :
1986                 RR = R1 = 0.000000; RG = R2 = (float ) 0.772549; RB = R3 = (float ) 0.803922;
1987         break;
1988         case Quantity_NOC_TURQUOISE4 :
1989                 RR = R1 = 0.000000; RG = R2 = (float ) 0.525490; RB = R3 = (float ) 0.545098;
1990         break;
1991         case Quantity_NOC_VIOLET :
1992                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.509804; RB = R3 = (float ) 0.933333;
1993         break;
1994         case Quantity_NOC_VIOLETRED :
1995                 RR = R1 = (float ) 0.815686; RG = R2 = (float ) 0.125490; RB = R3 = (float ) 0.564706;
1996         break;
1997         case Quantity_NOC_VIOLETRED1 :
1998                 RR = R1 = 1.000000; RG = R2 = (float ) 0.243137; RB = R3 = (float ) 0.588235;
1999         break;
2000         case Quantity_NOC_VIOLETRED2 :
2001                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.227451; RB = R3 = (float ) 0.549020;
2002         break;
2003         case Quantity_NOC_VIOLETRED3 :
2004                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.196078; RB = R3 = (float ) 0.470588;
2005         break;
2006         case Quantity_NOC_VIOLETRED4 :
2007                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.133333; RB = R3 = (float ) 0.321569;
2008         break;
2009         case Quantity_NOC_WHEAT :
2010                 RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.870588; RB = R3 = (float ) 0.701961;
2011         break;
2012         case Quantity_NOC_WHEAT1 :
2013                 RR = R1 = 1.000000; RG = R2 = (float ) 0.905882; RB = R3 = (float ) 0.729412;
2014         break;
2015         case Quantity_NOC_WHEAT2 :
2016                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.847059; RB = R3 = (float ) 0.682353;
2017         break;
2018         case Quantity_NOC_WHEAT3 :
2019                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.729412; RB = R3 = (float ) 0.588235;
2020         break;
2021         case Quantity_NOC_WHEAT4 :
2022                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.494118; RB = R3 = (float ) 0.400000;
2023         break;
2024         case Quantity_NOC_WHITE :
2025                 RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 1.000000;
2026         break;
2027         case Quantity_NOC_WHITESMOKE :
2028                 RR = R1 = (float ) 0.960784; RG = R2 = (float ) 0.960784; RB = R3 = (float ) 0.960784;
2029         break;
2030         case Quantity_NOC_YELLOW :
2031                 RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
2032         break;
2033         case Quantity_NOC_YELLOW1 :
2034                 RR = R1 = 1.000000; RG = R2 = 1.000000; RB = R3 = 0.000000;
2035         break;
2036         case Quantity_NOC_YELLOW2 :
2037                 RR = R1 = (float ) 0.933333; RG = R2 = (float ) 0.933333; RB = R3 = 0.000000;
2038         break;
2039         case Quantity_NOC_YELLOW3 :
2040                 RR = R1 = (float ) 0.803922; RG = R2 = (float ) 0.803922; RB = R3 = 0.000000;
2041         break;
2042         case Quantity_NOC_YELLOW4 :
2043                 RR = R1 = (float ) 0.545098; RG = R2 = (float ) 0.545098; RB = R3 = 0.000000;
2044         break;
2045         case Quantity_NOC_YELLOWGREEN :
2046                 RR = R1 = (float ) 0.603922; RG = R2 = (float ) 0.803922; RB = R3 = (float ) 0.196078;
2047         break;
2048         default :
2049                 throw Standard_OutOfRange("Bad name");
2050         break;
2051 }
2052         if (AType == Quantity_TOC_HLS)
2053             Quantity_Color::rgbhls (RR, RG, RB, R1, R2, R3);
2054 }
2055
2056 Standard_CString Quantity_Color::StringName (
2057                                  const Quantity_NameOfColor AName) {
2058
2059 Standard_CString TheName;
2060  
2061 switch (AName) {
2062
2063         case Quantity_NOC_BLACK :
2064                 TheName = "BLACK";
2065         break;
2066         case Quantity_NOC_MATRAGRAY :
2067                 TheName = "MATRAGRAY";
2068         break;
2069         case Quantity_NOC_MATRABLUE :
2070                 TheName = "MATRABLUE";
2071         break;
2072         case Quantity_NOC_ALICEBLUE :
2073                 TheName = "ALICEBLUE";
2074         break;
2075         case Quantity_NOC_ANTIQUEWHITE :
2076                 TheName = "ANTIQUEWHITE";
2077         break;
2078         case Quantity_NOC_ANTIQUEWHITE1 :
2079                 TheName = "ANTIQUEWHITE1";
2080         break;
2081         case Quantity_NOC_ANTIQUEWHITE2 :
2082                 TheName = "ANTIQUEWHITE2";
2083         break;
2084         case Quantity_NOC_ANTIQUEWHITE3 :
2085                 TheName = "ANTIQUEWHITE3";
2086         break;
2087         case Quantity_NOC_ANTIQUEWHITE4 :
2088                 TheName = "ANTIQUEWHITE4";
2089         break;
2090         case Quantity_NOC_AQUAMARINE1 :
2091                 TheName = "AQUAMARINE1";
2092         break;
2093         case Quantity_NOC_AQUAMARINE2 :
2094                 TheName = "AQUAMARINE2";
2095         break;
2096         case Quantity_NOC_AQUAMARINE4 :
2097                 TheName = "AQUAMARINE4";
2098         break;
2099         case Quantity_NOC_AZURE :
2100                 TheName = "AZURE";
2101         break;
2102         case Quantity_NOC_AZURE2 :
2103                 TheName = "AZURE2";
2104         break;
2105         case Quantity_NOC_AZURE3 :
2106                 TheName = "AZURE3";
2107         break;
2108         case Quantity_NOC_AZURE4 :
2109                 TheName = "AZURE4";
2110         break;
2111         case Quantity_NOC_BEIGE :
2112                 TheName = "BEIGE";
2113         break;
2114         case Quantity_NOC_BISQUE :
2115                 TheName = "BISQUE";
2116         break;
2117         case Quantity_NOC_BISQUE2 :
2118                 TheName = "BISQUE2";
2119         break;
2120         case Quantity_NOC_BISQUE3 :
2121                 TheName = "BISQUE3";
2122         break;
2123         case Quantity_NOC_BISQUE4 :
2124                 TheName = "BISQUE4";
2125         break;
2126         case Quantity_NOC_BLANCHEDALMOND :
2127                 TheName = "BLANCHEDALMOND";
2128         break;
2129         case Quantity_NOC_BLUE1 :
2130                 TheName = "BLUE1";
2131         break;
2132         case Quantity_NOC_BLUE2 :
2133                 TheName = "BLUE2";
2134         break;
2135         case Quantity_NOC_BLUE3 :
2136                 TheName = "BLUE3";
2137         break;
2138         case Quantity_NOC_BLUE4 :
2139                 TheName = "BLUE4";
2140         break;
2141         case Quantity_NOC_BLUEVIOLET :
2142                 TheName = "BLUEVIOLET";
2143         break;
2144         case Quantity_NOC_BROWN :
2145                 TheName = "BROWN";
2146         break;
2147         case Quantity_NOC_BROWN1 :
2148                 TheName = "BROWN1";
2149         break;
2150         case Quantity_NOC_BROWN2 :
2151                 TheName = "BROWN2";
2152         break;
2153         case Quantity_NOC_BROWN3 :
2154                 TheName = "BROWN3";
2155         break;
2156         case Quantity_NOC_BROWN4 :
2157                 TheName = "BROWN4";
2158         break;
2159         case Quantity_NOC_BURLYWOOD :
2160                 TheName = "BURLYWOOD";
2161         break;
2162         case Quantity_NOC_BURLYWOOD1 :
2163                 TheName = "BURLYWOOD1";
2164         break;
2165         case Quantity_NOC_BURLYWOOD2 :
2166                 TheName = "BURLYWOOD2";
2167         break;
2168         case Quantity_NOC_BURLYWOOD3 :
2169                 TheName = "BURLYWOOD3";
2170         break;
2171         case Quantity_NOC_BURLYWOOD4 :
2172                 TheName = "BURLYWOOD4";
2173         break;
2174         case Quantity_NOC_CADETBLUE :
2175                 TheName = "CADETBLUE";
2176         break;
2177         case Quantity_NOC_CADETBLUE1 :
2178                 TheName = "CADETBLUE1";
2179         break;
2180         case Quantity_NOC_CADETBLUE2 :
2181                 TheName = "CADETBLUE2";
2182         break;
2183         case Quantity_NOC_CADETBLUE3 :
2184                 TheName = "CADETBLUE3";
2185         break;
2186         case Quantity_NOC_CADETBLUE4 :
2187                 TheName = "CADETBLUE4";
2188         break;
2189         case Quantity_NOC_CHARTREUSE :
2190                 TheName = "CHARTREUSE";
2191         break;
2192         case Quantity_NOC_CHARTREUSE1 :
2193                 TheName = "CHARTREUSE1";
2194         break;
2195         case Quantity_NOC_CHARTREUSE2 :
2196                 TheName = "CHARTREUSE2";
2197         break;
2198         case Quantity_NOC_CHARTREUSE3 :
2199                 TheName = "CHARTREUSE3";
2200         break;
2201         case Quantity_NOC_CHARTREUSE4 :
2202                 TheName = "CHARTREUSE4";
2203         break;
2204         case Quantity_NOC_CHOCOLATE :
2205                 TheName = "CHOCOLATE";
2206         break;
2207         case Quantity_NOC_CHOCOLATE1 :
2208                 TheName = "CHOCOLATE1";
2209         break;
2210         case Quantity_NOC_CHOCOLATE2 :
2211                 TheName = "CHOCOLATE2";
2212         break;
2213         case Quantity_NOC_CHOCOLATE3 :
2214                 TheName = "CHOCOLATE3";
2215         break;
2216         case Quantity_NOC_CHOCOLATE4 :
2217                 TheName = "CHOCOLATE4";
2218         break;
2219         case Quantity_NOC_CORAL :
2220                 TheName = "CORAL";
2221         break;
2222         case Quantity_NOC_CORAL1 :
2223                 TheName = "CORAL1";
2224         break;
2225         case Quantity_NOC_CORAL2 :
2226                 TheName = "CORAL2";
2227         break;
2228         case Quantity_NOC_CORAL3 :
2229                 TheName = "CORAL3";
2230         break;
2231         case Quantity_NOC_CORAL4 :
2232                 TheName = "CORAL4";
2233         break;
2234         case Quantity_NOC_CORNFLOWERBLUE :
2235                 TheName = "CORNFLOWERBLUE";
2236         break;
2237         case Quantity_NOC_CORNSILK1 :
2238                 TheName = "CORNSILK1";
2239         break;
2240         case Quantity_NOC_CORNSILK2 :
2241                 TheName = "CORNSILK2";
2242         break;
2243         case Quantity_NOC_CORNSILK3 :
2244                 TheName = "CORNSILK3";
2245         break;
2246         case Quantity_NOC_CORNSILK4 :
2247                 TheName = "CORNSILK4";
2248         break;
2249         case Quantity_NOC_CYAN1 :
2250                 TheName = "CYAN1";
2251         break;
2252         case Quantity_NOC_CYAN2 :
2253                 TheName = "CYAN2";
2254         break;
2255         case Quantity_NOC_CYAN3 :
2256                 TheName = "CYAN3";
2257         break;
2258         case Quantity_NOC_CYAN4 :
2259                 TheName = "CYAN4";
2260         break;
2261         case Quantity_NOC_DARKGOLDENROD :
2262                 TheName = "DARKGOLDENROD";
2263         break;
2264         case Quantity_NOC_DARKGOLDENROD1 :
2265                 TheName = "DARKGOLDENROD1";
2266         break;
2267         case Quantity_NOC_DARKGOLDENROD2 :
2268                 TheName = "DARKGOLDENROD2";
2269         break;
2270         case Quantity_NOC_DARKGOLDENROD3 :
2271                 TheName = "DARKGOLDENROD3";
2272         break;
2273         case Quantity_NOC_DARKGOLDENROD4 :
2274                 TheName = "DARKGOLDENROD4";
2275         break;
2276         case Quantity_NOC_DARKGREEN :
2277                 TheName = "DARKGREEN";
2278         break;
2279         case Quantity_NOC_DARKKHAKI :
2280                 TheName = "DARKKHAKI";
2281         break;
2282         case Quantity_NOC_DARKOLIVEGREEN :
2283                 TheName = "DARKOLIVEGREEN";
2284         break;
2285         case Quantity_NOC_DARKOLIVEGREEN1 :
2286                 TheName = "DARKOLIVEGREEN1";
2287         break;
2288         case Quantity_NOC_DARKOLIVEGREEN2 :
2289                 TheName = "DARKOLIVEGREEN2";
2290         break;
2291         case Quantity_NOC_DARKOLIVEGREEN3 :
2292                 TheName = "DARKOLIVEGREEN3";
2293         break;
2294         case Quantity_NOC_DARKOLIVEGREEN4 :
2295                 TheName = "DARKOLIVEGREEN4";
2296         break;
2297         case Quantity_NOC_DARKORANGE :
2298                 TheName = "DARKORANGE";
2299         break;
2300         case Quantity_NOC_DARKORANGE1 :
2301                 TheName = "DARKORANGE1";
2302         break;
2303         case Quantity_NOC_DARKORANGE2 :
2304                 TheName = "DARKORANGE2";
2305         break;
2306         case Quantity_NOC_DARKORANGE3 :
2307                 TheName = "DARKORANGE3";
2308         break;
2309         case Quantity_NOC_DARKORANGE4 :
2310                 TheName = "DARKORANGE4";
2311         break;
2312         case Quantity_NOC_DARKORCHID :
2313                 TheName = "DARKORCHID";
2314         break;
2315         case Quantity_NOC_DARKORCHID1 :
2316                 TheName = "DARKORCHID1";
2317         break;
2318         case Quantity_NOC_DARKORCHID2 :
2319                 TheName = "DARKORCHID2";
2320         break;
2321         case Quantity_NOC_DARKORCHID3 :
2322                 TheName = "DARKORCHID3";
2323         break;
2324         case Quantity_NOC_DARKORCHID4 :
2325                 TheName = "DARKORCHID4";
2326         break;
2327         case Quantity_NOC_DARKSALMON :
2328                 TheName = "DARKSALMON";
2329         break;
2330         case Quantity_NOC_DARKSEAGREEN :
2331                 TheName = "DARKSEAGREEN";
2332         break;
2333         case Quantity_NOC_DARKSEAGREEN1 :
2334                 TheName = "DARKSEAGREEN1";
2335         break;
2336         case Quantity_NOC_DARKSEAGREEN2 :
2337                 TheName = "DARKSEAGREEN2";
2338         break;
2339         case Quantity_NOC_DARKSEAGREEN3 :
2340                 TheName = "DARKSEAGREEN3";
2341         break;
2342         case Quantity_NOC_DARKSEAGREEN4 :
2343                 TheName = "DARKSEAGREEN4";
2344         break;
2345         case Quantity_NOC_DARKSLATEBLUE :
2346                 TheName = "DARKSLATEBLUE";
2347         break;
2348         case Quantity_NOC_DARKSLATEGRAY1 :
2349                 TheName = "DARKSLATEGRAY1";
2350         break;
2351         case Quantity_NOC_DARKSLATEGRAY2 :
2352                 TheName = "DARKSLATEGRAY2";
2353         break;
2354         case Quantity_NOC_DARKSLATEGRAY3 :
2355                 TheName = "DARKSLATEGRAY3";
2356         break;
2357         case Quantity_NOC_DARKSLATEGRAY4 :
2358                 TheName = "DARKSLATEGRAY4";
2359         break;
2360         case Quantity_NOC_DARKSLATEGRAY :
2361                 TheName = "DARKSLATEGRAY";
2362         break;
2363         case Quantity_NOC_DARKTURQUOISE :
2364                 TheName = "DARKTURQUOISE";
2365         break;
2366         case Quantity_NOC_DARKVIOLET :
2367                 TheName = "DARKVIOLET";
2368         break;
2369         case Quantity_NOC_DEEPPINK :
2370                 TheName = "DEEPPINK";
2371         break;
2372         case Quantity_NOC_DEEPPINK2 :
2373                 TheName = "DEEPPINK2";
2374         break;
2375         case Quantity_NOC_DEEPPINK3 :
2376                 TheName = "DEEPPINK3";
2377         break;
2378         case Quantity_NOC_DEEPPINK4 :
2379                 TheName = "DEEPPINK4";
2380         break;
2381         case Quantity_NOC_DEEPSKYBLUE1 :
2382                 TheName = "DEEPSKYBLUE1";
2383         break;
2384         case Quantity_NOC_DEEPSKYBLUE2 :
2385                 TheName = "DEEPSKYBLUE2";
2386         break;
2387         case Quantity_NOC_DEEPSKYBLUE3 :
2388                 TheName = "DEEPSKYBLUE3";
2389         break;
2390         case Quantity_NOC_DEEPSKYBLUE4 :
2391                 TheName = "DEEPSKYBLUE4";
2392         break;
2393         case Quantity_NOC_DODGERBLUE1 :
2394                 TheName = "DODGERBLUE1";
2395         break;
2396         case Quantity_NOC_DODGERBLUE2 :
2397                 TheName = "DODGERBLUE2";
2398         break;
2399         case Quantity_NOC_DODGERBLUE3 :
2400                 TheName = "DODGERBLUE3";
2401         break;
2402         case Quantity_NOC_DODGERBLUE4 :
2403                 TheName = "DODGERBLUE4";
2404         break;
2405         case Quantity_NOC_FIREBRICK :
2406                 TheName = "FIREBRICK";
2407         break;
2408         case Quantity_NOC_FIREBRICK1 :
2409                 TheName = "FIREBRICK1";
2410         break;
2411         case Quantity_NOC_FIREBRICK2 :
2412                 TheName = "FIREBRICK2";
2413         break;
2414         case Quantity_NOC_FIREBRICK3 :
2415                 TheName = "FIREBRICK3";
2416         break;
2417         case Quantity_NOC_FIREBRICK4 :
2418                 TheName = "FIREBRICK4";
2419         break;
2420         case Quantity_NOC_FLORALWHITE :
2421                 TheName = "FLORALWHITE";
2422         break;
2423         case Quantity_NOC_FORESTGREEN :
2424                 TheName = "FORESTGREEN";
2425         break;
2426         case Quantity_NOC_GAINSBORO :
2427                 TheName = "GAINSBORO";
2428         break;
2429         case Quantity_NOC_GHOSTWHITE :
2430                 TheName = "GHOSTWHITE";
2431         break;
2432         case Quantity_NOC_GOLD :
2433                 TheName = "GOLD";
2434         break;
2435         case Quantity_NOC_GOLD1 :
2436                 TheName = "GOLD1";
2437         break;
2438         case Quantity_NOC_GOLD2 :
2439                 TheName = "GOLD2";
2440         break;
2441         case Quantity_NOC_GOLD3 :
2442                 TheName = "GOLD3";
2443         break;
2444         case Quantity_NOC_GOLD4 :
2445                 TheName = "GOLD4";
2446         break;
2447         case Quantity_NOC_GOLDENROD :
2448                 TheName = "GOLDENROD";
2449         break;
2450         case Quantity_NOC_GOLDENROD1 :
2451                 TheName = "GOLDENROD1";
2452         break;
2453         case Quantity_NOC_GOLDENROD2 :
2454                 TheName = "GOLDENROD2";
2455         break;
2456         case Quantity_NOC_GOLDENROD3 :
2457                 TheName = "GOLDENROD3";
2458         break;
2459         case Quantity_NOC_GOLDENROD4 :
2460                 TheName = "GOLDENROD4";
2461         break;
2462         case Quantity_NOC_GRAY :
2463                 TheName = "GRAY";
2464         break;
2465         case Quantity_NOC_GRAY0 :
2466                 TheName = "GRAY0";
2467         break;
2468         case Quantity_NOC_GRAY1 :
2469                 TheName = "GRAY1";
2470         break;
2471         case Quantity_NOC_GRAY10 :
2472                 TheName = "GRAY10";
2473         break;
2474         case Quantity_NOC_GRAY11 :
2475                 TheName = "GRAY11";
2476         break;
2477         case Quantity_NOC_GRAY12 :
2478                 TheName = "GRAY12";
2479         break;
2480         case Quantity_NOC_GRAY13 :
2481                 TheName = "GRAY13";
2482         break;
2483         case Quantity_NOC_GRAY14 :
2484                 TheName = "GRAY14";
2485         break;
2486         case Quantity_NOC_GRAY15 :
2487                 TheName = "GRAY15";
2488         break;
2489         case Quantity_NOC_GRAY16 :
2490                 TheName = "GRAY16";
2491         break;
2492         case Quantity_NOC_GRAY17 :
2493                 TheName = "GRAY17";
2494         break;
2495         case Quantity_NOC_GRAY18 :
2496                 TheName = "GRAY18";
2497         break;
2498         case Quantity_NOC_GRAY19 :
2499                 TheName = "GRAY19";
2500         break;
2501         case Quantity_NOC_GRAY2 :
2502                 TheName = "GRAY2";
2503         break;
2504         case Quantity_NOC_GRAY20 :
2505                 TheName = "GRAY20";
2506         break;
2507         case Quantity_NOC_GRAY21 :
2508                 TheName = "GRAY21";
2509         break;
2510         case Quantity_NOC_GRAY22 :
2511                 TheName = "GRAY22";
2512         break;
2513         case Quantity_NOC_GRAY23 :
2514                 TheName = "GRAY23";
2515         break;
2516         case Quantity_NOC_GRAY24 :
2517                 TheName = "GRAY24";
2518         break;
2519         case Quantity_NOC_GRAY25 :
2520                 TheName = "GRAY25";
2521         break;
2522         case Quantity_NOC_GRAY26 :
2523                 TheName = "GRAY26";
2524         break;
2525         case Quantity_NOC_GRAY27 :
2526                 TheName = "GRAY27";
2527         break;
2528         case Quantity_NOC_GRAY28 :
2529                 TheName = "GRAY28";
2530         break;
2531         case Quantity_NOC_GRAY29 :
2532                 TheName = "GRAY29";
2533         break;
2534         case Quantity_NOC_GRAY3 :
2535                 TheName = "GRAY3";
2536         break;
2537         case Quantity_NOC_GRAY30 :
2538                 TheName = "GRAY30";
2539         break;
2540         case Quantity_NOC_GRAY31 :
2541                 TheName = "GRAY31";
2542         break;
2543         case Quantity_NOC_GRAY32 :
2544                 TheName = "GRAY32";
2545         break;
2546         case Quantity_NOC_GRAY33 :
2547                 TheName = "GRAY33";
2548         break;
2549         case Quantity_NOC_GRAY34 :
2550                 TheName = "GRAY34";
2551         break;
2552         case Quantity_NOC_GRAY35 :
2553                 TheName = "GRAY35";
2554         break;
2555         case Quantity_NOC_GRAY36 :
2556                 TheName = "GRAY36";
2557         break;
2558         case Quantity_NOC_GRAY37 :
2559                 TheName = "GRAY37";
2560         break;
2561         case Quantity_NOC_GRAY38 :
2562                 TheName = "GRAY38";
2563         break;
2564         case Quantity_NOC_GRAY39 :
2565                 TheName = "GRAY39";
2566         break;
2567         case Quantity_NOC_GRAY4 :
2568                 TheName = "GRAY4";
2569         break;
2570         case Quantity_NOC_GRAY40 :
2571                 TheName = "GRAY40";
2572         break;
2573         case Quantity_NOC_GRAY41 :
2574                 TheName = "GRAY41";
2575         break;
2576         case Quantity_NOC_GRAY42 :
2577                 TheName = "GRAY42";
2578         break;
2579         case Quantity_NOC_GRAY43 :
2580                 TheName = "GRAY43";
2581         break;
2582         case Quantity_NOC_GRAY44 :
2583                 TheName = "GRAY44";
2584         break;
2585         case Quantity_NOC_GRAY45 :
2586                 TheName = "GRAY45";
2587         break;
2588         case Quantity_NOC_GRAY46 :
2589                 TheName = "GRAY46";
2590         break;
2591         case Quantity_NOC_GRAY47 :
2592                 TheName = "GRAY47";
2593         break;
2594         case Quantity_NOC_GRAY48 :
2595                 TheName = "GRAY48";
2596         break;
2597         case Quantity_NOC_GRAY49 :
2598                 TheName = "GRAY49";
2599         break;
2600         case Quantity_NOC_GRAY5 :
2601                 TheName = "GRAY5";
2602         break;
2603         case Quantity_NOC_GRAY50 :
2604                 TheName = "GRAY50";
2605         break;
2606         case Quantity_NOC_GRAY51 :
2607                 TheName = "GRAY51";
2608         break;
2609         case Quantity_NOC_GRAY52 :
2610                 TheName = "GRAY52";
2611         break;
2612         case Quantity_NOC_GRAY53 :
2613                 TheName = "GRAY53";
2614         break;
2615         case Quantity_NOC_GRAY54 :
2616                 TheName = "GRAY54";
2617         break;
2618         case Quantity_NOC_GRAY55 :
2619                 TheName = "GRAY55";
2620         break;
2621         case Quantity_NOC_GRAY56 :
2622                 TheName = "GRAY56";
2623         break;
2624         case Quantity_NOC_GRAY57 :
2625                 TheName = "GRAY57";
2626         break;
2627         case Quantity_NOC_GRAY58 :
2628                 TheName = "GRAY58";
2629         break;
2630         case Quantity_NOC_GRAY59 :
2631                 TheName = "GRAY59";
2632         break;
2633         case Quantity_NOC_GRAY6 :
2634                 TheName = "GRAY6";
2635         break;
2636         case Quantity_NOC_GRAY60 :
2637                 TheName = "GRAY60";
2638         break;
2639         case Quantity_NOC_GRAY61 :
2640                 TheName = "GRAY61";
2641         break;
2642         case Quantity_NOC_GRAY62 :
2643                 TheName = "GRAY62";
2644         break;
2645         case Quantity_NOC_GRAY63 :
2646                 TheName = "GRAY63";
2647         break;
2648         case Quantity_NOC_GRAY64 :
2649                 TheName = "GRAY64";
2650         break;
2651         case Quantity_NOC_GRAY65 :
2652                 TheName = "GRAY65";
2653         break;
2654         case Quantity_NOC_GRAY66 :
2655                 TheName = "GRAY66";
2656         break;
2657         case Quantity_NOC_GRAY67 :
2658                 TheName = "GRAY67";
2659         break;
2660         case Quantity_NOC_GRAY68 :
2661                 TheName = "GRAY68";
2662         break;
2663         case Quantity_NOC_GRAY69 :
2664                 TheName = "GRAY69";
2665         break;
2666         case Quantity_NOC_GRAY7 :
2667                 TheName = "GRAY7";
2668         break;
2669         case Quantity_NOC_GRAY70 :
2670                 TheName = "GRAY70";
2671         break;
2672         case Quantity_NOC_GRAY71 :
2673                 TheName = "GRAY71";
2674         break;
2675         case Quantity_NOC_GRAY72 :
2676                 TheName = "GRAY72";
2677         break;
2678         case Quantity_NOC_GRAY73 :
2679                 TheName = "GRAY73";
2680         break;
2681         case Quantity_NOC_GRAY74 :
2682                 TheName = "GRAY74";
2683         break;
2684         case Quantity_NOC_GRAY75 :
2685                 TheName = "GRAY75";
2686         break;
2687         case Quantity_NOC_GRAY76 :
2688                 TheName = "GRAY76";
2689         break;
2690         case Quantity_NOC_GRAY77 :
2691                 TheName = "GRAY77";
2692         break;
2693         case Quantity_NOC_GRAY78 :
2694                 TheName = "GRAY78";
2695         break;
2696         case Quantity_NOC_GRAY79 :
2697                 TheName = "GRAY79";
2698         break;
2699         case Quantity_NOC_GRAY8 :
2700                 TheName = "GRAY8";
2701         break;
2702         case Quantity_NOC_GRAY80 :
2703                 TheName = "GRAY80";
2704         break;
2705         case Quantity_NOC_GRAY81 :
2706                 TheName = "GRAY81";
2707         break;
2708         case Quantity_NOC_GRAY82 :
2709                 TheName = "GRAY82";
2710         break;
2711         case Quantity_NOC_GRAY83 :
2712                 TheName = "GRAY83";
2713         break;
2714         case Quantity_NOC_GRAY85 :
2715                 TheName = "GRAY85";
2716         break;
2717         case Quantity_NOC_GRAY86 :
2718                 TheName = "GRAY86";
2719         break;
2720         case Quantity_NOC_GRAY87 :
2721                 TheName = "GRAY87";
2722         break;
2723         case Quantity_NOC_GRAY88 :
2724                 TheName = "GRAY88";
2725         break;
2726         case Quantity_NOC_GRAY89 :
2727                 TheName = "GRAY89";
2728         break;
2729         case Quantity_NOC_GRAY9 :
2730                 TheName = "GRAY9";
2731         break;
2732         case Quantity_NOC_GRAY90 :
2733                 TheName = "GRAY90";
2734         break;
2735         case Quantity_NOC_GRAY91 :
2736                 TheName = "GRAY91";
2737         break;
2738         case Quantity_NOC_GRAY92 :
2739                 TheName = "GRAY92";
2740         break;
2741         case Quantity_NOC_GRAY93 :
2742                 TheName = "GRAY93";
2743         break;
2744         case Quantity_NOC_GRAY94 :
2745                 TheName = "GRAY94";
2746         break;
2747         case Quantity_NOC_GRAY95 :
2748                 TheName = "GRAY95";
2749         break;
2750         case Quantity_NOC_GREEN :
2751                 TheName = "GREEN";
2752         break;
2753         case Quantity_NOC_GREEN1 :
2754                 TheName = "GREEN1";
2755         break;
2756         case Quantity_NOC_GREEN2 :
2757                 TheName = "GREEN2";
2758         break;
2759         case Quantity_NOC_GREEN3 :
2760                 TheName = "GREEN3";
2761         break;
2762         case Quantity_NOC_GREEN4 :
2763                 TheName = "GREEN4";
2764         break;
2765         case Quantity_NOC_GREENYELLOW :
2766                 TheName = "GREENYELLOW";
2767         break;
2768         case Quantity_NOC_GRAY97 :
2769                 TheName = "GRAY97";
2770         break;
2771         case Quantity_NOC_GRAY98 :
2772                 TheName = "GRAY98";
2773         break;
2774         case Quantity_NOC_GRAY99 :
2775                 TheName = "GRAY99";
2776         break;
2777         case Quantity_NOC_HONEYDEW :
2778                 TheName = "HONEYDEW";
2779         break;
2780         case Quantity_NOC_HONEYDEW2 :
2781                 TheName = "HONEYDEW2";
2782         break;
2783         case Quantity_NOC_HONEYDEW3 :
2784                 TheName = "HONEYDEW3";
2785         break;
2786         case Quantity_NOC_HONEYDEW4 :
2787                 TheName = "HONEYDEW4";
2788         break;
2789         case Quantity_NOC_HOTPINK :
2790                 TheName = "HOTPINK";
2791         break;
2792         case Quantity_NOC_HOTPINK1 :
2793                 TheName = "HOTPINK1";
2794         break;
2795         case Quantity_NOC_HOTPINK2 :
2796                 TheName = "HOTPINK2";
2797         break;
2798         case Quantity_NOC_HOTPINK3 :
2799                 TheName = "HOTPINK3";
2800         break;
2801         case Quantity_NOC_HOTPINK4 :
2802                 TheName = "HOTPINK4";
2803         break;
2804         case Quantity_NOC_INDIANRED :
2805                 TheName = "INDIANRED";
2806         break;
2807         case Quantity_NOC_INDIANRED1 :
2808                 TheName = "INDIANRED1";
2809         break;
2810         case Quantity_NOC_INDIANRED2 :
2811                 TheName = "INDIANRED2";
2812         break;
2813         case Quantity_NOC_INDIANRED3 :
2814                 TheName = "INDIANRED3";
2815         break;
2816         case Quantity_NOC_INDIANRED4 :
2817                 TheName = "INDIANRED4";
2818         break;
2819         case Quantity_NOC_IVORY :
2820                 TheName = "IVORY";
2821         break;
2822         case Quantity_NOC_IVORY2 :
2823                 TheName = "IVORY2";
2824         break;
2825         case Quantity_NOC_IVORY3 :
2826                 TheName = "IVORY3";
2827         break;
2828         case Quantity_NOC_IVORY4 :
2829                 TheName = "IVORY4";
2830         break;
2831         case Quantity_NOC_KHAKI :
2832                 TheName = "KHAKI";
2833         break;
2834         case Quantity_NOC_KHAKI1 :
2835                 TheName = "KHAKI1";
2836         break;
2837         case Quantity_NOC_KHAKI2 :
2838                 TheName = "KHAKI2";
2839         break;
2840         case Quantity_NOC_KHAKI3 :
2841                 TheName = "KHAKI3";
2842         break;
2843         case Quantity_NOC_KHAKI4 :
2844                 TheName = "KHAKI4";
2845         break;
2846         case Quantity_NOC_LAVENDER :
2847                 TheName = "LAVENDER";
2848         break;
2849         case Quantity_NOC_LAVENDERBLUSH1 :
2850                 TheName = "LAVENDERBLUSH1";
2851         break;
2852         case Quantity_NOC_LAVENDERBLUSH2 :
2853                 TheName = "LAVENDERBLUSH2";
2854         break;
2855         case Quantity_NOC_LAVENDERBLUSH3 :
2856                 TheName = "LAVENDERBLUSH3";
2857         break;
2858         case Quantity_NOC_LAVENDERBLUSH4 :
2859                 TheName = "LAVENDERBLUSH4";
2860         break;
2861         case Quantity_NOC_LAWNGREEN :
2862                 TheName = "LAWNGREEN";
2863         break;
2864         case Quantity_NOC_LEMONCHIFFON1 :
2865                 TheName = "LEMONCHIFFON1";
2866         break;
2867         case Quantity_NOC_LEMONCHIFFON2 :
2868                 TheName = "LEMONCHIFFON2";
2869         break;
2870         case Quantity_NOC_LEMONCHIFFON3 :
2871                 TheName = "LEMONCHIFFON3";
2872         break;
2873         case Quantity_NOC_LEMONCHIFFON4 :
2874                 TheName = "LEMONCHIFFON4";
2875         break;
2876         case Quantity_NOC_LIGHTBLUE :
2877                 TheName = "LIGHTBLUE";
2878         break;
2879         case Quantity_NOC_LIGHTBLUE1 :
2880                 TheName = "LIGHTBLUE1";
2881         break;
2882         case Quantity_NOC_LIGHTBLUE2 :
2883                 TheName = "LIGHTBLUE2";
2884         break;
2885         case Quantity_NOC_LIGHTBLUE3 :
2886                 TheName = "LIGHTBLUE3";
2887         break;
2888         case Quantity_NOC_LIGHTBLUE4 :
2889                 TheName = "LIGHTBLUE4";
2890         break;
2891         case Quantity_NOC_LIGHTCORAL :
2892                 TheName = "LIGHTCORAL";
2893         break;
2894         case Quantity_NOC_LIGHTCYAN1 :
2895                 TheName = "LIGHTCYAN1";
2896         break;
2897         case Quantity_NOC_LIGHTCYAN2 :
2898                 TheName = "LIGHTCYAN2";
2899         break;
2900         case Quantity_NOC_LIGHTCYAN3 :
2901                 TheName = "LIGHTCYAN3";
2902         break;
2903         case Quantity_NOC_LIGHTCYAN4 :
2904                 TheName = "LIGHTCYAN4";
2905         break;
2906         case Quantity_NOC_LIGHTGOLDENROD :
2907                 TheName = "LIGHTGOLDENROD";
2908         break;
2909         case Quantity_NOC_LIGHTGOLDENROD1 :
2910                 TheName = "LIGHTGOLDENROD1";
2911         break;
2912         case Quantity_NOC_LIGHTGOLDENROD2 :
2913                 TheName = "LIGHTGOLDENROD2";
2914         break;
2915         case Quantity_NOC_LIGHTGOLDENROD3 :
2916                 TheName = "LIGHTGOLDENROD3";
2917         break;
2918         case Quantity_NOC_LIGHTGOLDENROD4 :
2919                 TheName = "LIGHTGOLDENROD4";
2920         break;
2921         case Quantity_NOC_LIGHTGOLDENRODYELLOW :
2922                 TheName = "LIGHTGOLDENRODYELLOW";
2923         break;
2924         case Quantity_NOC_LIGHTGRAY :
2925                 TheName = "LIGHTGRAY";
2926         break;
2927         case Quantity_NOC_LIGHTPINK :
2928                 TheName = "LIGHTPINK";
2929         break;
2930         case Quantity_NOC_LIGHTPINK1 :
2931                 TheName = "LIGHTPINK1";
2932         break;
2933         case Quantity_NOC_LIGHTPINK2 :
2934                 TheName = "LIGHTPINK2";
2935         break;
2936         case Quantity_NOC_LIGHTPINK3 :
2937                 TheName = "LIGHTPINK3";
2938         break;
2939         case Quantity_NOC_LIGHTPINK4 :
2940                 TheName = "LIGHTPINK4";
2941         break;
2942         case Quantity_NOC_LIGHTSALMON1 :
2943                 TheName = "LIGHTSALMON1";
2944         break;
2945         case Quantity_NOC_LIGHTSALMON2 :
2946                 TheName = "LIGHTSALMON2";
2947         break;
2948         case Quantity_NOC_LIGHTSALMON3 :
2949                 TheName = "LIGHTSALMON3";
2950         break;
2951         case Quantity_NOC_LIGHTSALMON4 :
2952                 TheName = "LIGHTSALMON4";
2953         break;
2954         case Quantity_NOC_LIGHTSEAGREEN :
2955                 TheName = "LIGHTSEAGREEN";
2956         break;
2957         case Quantity_NOC_LIGHTSKYBLUE :
2958                 TheName = "LIGHTSKYBLUE";
2959         break;
2960         case Quantity_NOC_LIGHTSKYBLUE1 :
2961                 TheName = "LIGHTSKYBLUE1";
2962         break;
2963         case Quantity_NOC_LIGHTSKYBLUE2 :
2964                 TheName = "LIGHTSKYBLUE2";
2965         break;
2966         case Quantity_NOC_LIGHTSKYBLUE3 :
2967                 TheName = "LIGHTSKYBLUE3";
2968         break;
2969         case Quantity_NOC_LIGHTSKYBLUE4 :
2970                 TheName = "LIGHTSKYBLUE4";
2971         break;
2972         case Quantity_NOC_LIGHTSLATEBLUE :
2973                 TheName = "LIGHTSLATEBLUE";
2974         break;
2975         case Quantity_NOC_LIGHTSLATEGRAY :
2976                 TheName = "LIGHTSLATEGRAY";
2977         break;
2978         case Quantity_NOC_LIGHTSTEELBLUE :
2979                 TheName = "LIGHTSTEELBLUE";
2980         break;
2981         case Quantity_NOC_LIGHTSTEELBLUE1 :
2982                 TheName = "LIGHTSTEELBLUE1";
2983         break;
2984         case Quantity_NOC_LIGHTSTEELBLUE2 :
2985                 TheName = "LIGHTSTEELBLUE2";
2986         break;
2987         case Quantity_NOC_LIGHTSTEELBLUE3 :
2988                 TheName = "LIGHTSTEELBLUE3";
2989         break;
2990         case Quantity_NOC_LIGHTSTEELBLUE4 :
2991                 TheName = "LIGHTSTEELBLUE4";
2992         break;
2993         case Quantity_NOC_LIGHTYELLOW :
2994                 TheName = "LIGHTYELLOW";
2995         break;
2996         case Quantity_NOC_LIGHTYELLOW2 :
2997                 TheName = "LIGHTYELLOW2";
2998         break;
2999         case Quantity_NOC_LIGHTYELLOW3 :
3000                 TheName = "LIGHTYELLOW3";
3001         break;
3002         case Quantity_NOC_LIGHTYELLOW4 :
3003                 TheName = "LIGHTYELLOW4";
3004         break;
3005         case Quantity_NOC_LIMEGREEN :
3006                 TheName = "LIMEGREEN";
3007         break;
3008         case Quantity_NOC_LINEN :
3009                 TheName = "LINEN";
3010         break;
3011         case Quantity_NOC_MAGENTA1 :
3012                 TheName = "MAGENTA1";
3013         break;
3014         case Quantity_NOC_MAGENTA2 :
3015                 TheName = "MAGENTA2";
3016         break;
3017         case Quantity_NOC_MAGENTA3 :
3018                 TheName = "MAGENTA3";
3019         break;
3020         case Quantity_NOC_MAGENTA4 :
3021                 TheName = "MAGENTA4";
3022         break;
3023         case Quantity_NOC_MAROON :
3024                 TheName = "MAROON";
3025         break;
3026         case Quantity_NOC_MAROON1 :
3027                 TheName = "MAROON1";
3028         break;
3029         case Quantity_NOC_MAROON2 :
3030                 TheName = "MAROON2";
3031         break;
3032         case Quantity_NOC_MAROON3 :
3033                 TheName = "MAROON3";
3034         break;
3035         case Quantity_NOC_MAROON4 :
3036                 TheName = "MAROON4";
3037         break;
3038         case Quantity_NOC_MEDIUMAQUAMARINE :
3039                 TheName = "MEDIUMAQUAMARINE";
3040         break;
3041         case Quantity_NOC_MEDIUMORCHID :
3042                 TheName = "MEDIUMORCHID";
3043         break;
3044         case Quantity_NOC_MEDIUMORCHID1 :
3045                 TheName = "MEDIUMORCHID1";
3046         break;
3047         case Quantity_NOC_MEDIUMORCHID2 :
3048                 TheName = "MEDIUMORCHID2";
3049         break;
3050         case Quantity_NOC_MEDIUMORCHID3 :
3051                 TheName = "MEDIUMORCHID3";
3052         break;
3053         case Quantity_NOC_MEDIUMORCHID4 :
3054                 TheName = "MEDIUMORCHID4";
3055         break;
3056         case Quantity_NOC_MEDIUMPURPLE :
3057                 TheName = "MEDIUMPURPLE";
3058         break;
3059         case Quantity_NOC_MEDIUMPURPLE1 :
3060                 TheName = "MEDIUMPURPLE1";
3061         break;
3062         case Quantity_NOC_MEDIUMPURPLE2 :
3063                 TheName = "MEDIUMPURPLE2";
3064         break;
3065         case Quantity_NOC_MEDIUMPURPLE3 :
3066                 TheName = "MEDIUMPURPLE3";
3067         break;
3068         case Quantity_NOC_MEDIUMPURPLE4 :
3069                 TheName = "MEDIUMPURPLE4";
3070         break;
3071         case Quantity_NOC_MEDIUMSEAGREEN :
3072                 TheName = "MEDIUMSEAGREEN";
3073         break;
3074         case Quantity_NOC_MEDIUMSLATEBLUE :
3075                 TheName = "MEDIUMSLATEBLUE";
3076         break;
3077         case Quantity_NOC_MEDIUMSPRINGGREEN :
3078                 TheName = "MEDIUMSPRINGGREEN";
3079         break;
3080         case Quantity_NOC_MEDIUMTURQUOISE :
3081                 TheName = "MEDIUMTURQUOISE";
3082         break;
3083         case Quantity_NOC_MEDIUMVIOLETRED :
3084                 TheName = "MEDIUMVIOLETRED";
3085         break;
3086         case Quantity_NOC_MIDNIGHTBLUE :
3087                 TheName = "MIDNIGHTBLUE";
3088         break;
3089         case Quantity_NOC_MINTCREAM :
3090                 TheName = "MINTCREAM";
3091         break;
3092         case Quantity_NOC_MISTYROSE :
3093                 TheName = "MISTYROSE";
3094         break;
3095         case Quantity_NOC_MISTYROSE2 :
3096                 TheName = "MISTYROSE2";
3097         break;
3098         case Quantity_NOC_MISTYROSE3 :
3099                 TheName = "MISTYROSE3";
3100         break;
3101         case Quantity_NOC_MISTYROSE4 :
3102                 TheName = "MISTYROSE4";
3103         break;
3104         case Quantity_NOC_MOCCASIN :
3105                 TheName = "MOCCASIN";
3106         break;
3107         case Quantity_NOC_NAVAJOWHITE1 :
3108                 TheName = &