ATLAS Offline Software
ColorCodeConverter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef COLORCODECONVERTER_H
6 #define COLORCODECONVERTER_H
7 
9 // //
10 // Header file for class ColorCodeConverter //
11 // //
12 // Author: Joerg Mechnich <Joerg.Mechnich@cern.ch> (primary) //
13 // Thomas Kittelmann <Thomas.Kittelmann@cern.ch> //
14 // //
15 // Initial VP1 version: September 2007 //
16 // //
18 
19 #include <map>
20 
21 class SoMaterial;
22 
24 {
25 public:
26  static const unsigned int white = 0;
27  static const unsigned int black = 1;
28  static const unsigned int red = 2;
29  static const unsigned int green = 3;
30  static const unsigned int blue = 4;
31  static const unsigned int yellow = 5;
32  static const unsigned int magenta = 6;
33  static const unsigned int cyan = 7;
34 
35  // convert ROOT palette index to RGB (default: red)
36  SoMaterial* getMaterialFromColorCode( unsigned int colorCode=red);
37 
39 
40 private:
41  SoMaterial* lookup( unsigned int colorCode);
42  std::map<unsigned int,SoMaterial*> m_materialCache;
43 
44  static const double s_colorConversionTable[][3];
45  static const unsigned int s_colorConversionTableSize;
46 };
47 
48 inline
49 SoMaterial*
51 {
52  return lookup( colorCode);
53 }
54 
55 #endif
ColorCodeConverter::blue
static const unsigned int blue
Definition: ColorCodeConverter.h:30
ColorCodeConverter::white
static const unsigned int white
Definition: ColorCodeConverter.h:26
ColorCodeConverter::s_colorConversionTable
static const double s_colorConversionTable[][3]
Definition: ColorCodeConverter.h:44
ColorCodeConverter::lookup
SoMaterial * lookup(unsigned int colorCode)
Definition: ColorCodeConverter.cxx:262
ColorCodeConverter::m_materialCache
std::map< unsigned int, SoMaterial * > m_materialCache
Definition: ColorCodeConverter.h:42
ColorCodeConverter::~ColorCodeConverter
~ColorCodeConverter()
Definition: ColorCodeConverter.cxx:252
ColorCodeConverter::green
static const unsigned int green
Definition: ColorCodeConverter.h:29
ColorCodeConverter::cyan
static const unsigned int cyan
Definition: ColorCodeConverter.h:33
ColorCodeConverter::yellow
static const unsigned int yellow
Definition: ColorCodeConverter.h:31
ColorCodeConverter::black
static const unsigned int black
Definition: ColorCodeConverter.h:27
ColorCodeConverter::red
static const unsigned int red
Definition: ColorCodeConverter.h:28
ColorCodeConverter::magenta
static const unsigned int magenta
Definition: ColorCodeConverter.h:32
ColorCodeConverter
Definition: ColorCodeConverter.h:24
ColorCodeConverter::s_colorConversionTableSize
static const unsigned int s_colorConversionTableSize
Definition: ColorCodeConverter.h:45
ColorCodeConverter::getMaterialFromColorCode
SoMaterial * getMaterialFromColorCode(unsigned int colorCode=red)
Definition: ColorCodeConverter.h:50