Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -21,14 +21,15 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Colour.cc,v 1.6 2003/09/18 11:03:12 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
// $Id: G4Colour.cc,v 1.9 2005/11/10 20:34:45 tinslay Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//
|
||||
// John Allison 20th October 1996
|
||||
|
||||
#include "G4Colour.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
G4Colour::G4Colour (G4double r, G4double g, G4double b, G4double a):
|
||||
red (r), green (g), blue (b), alpha (a)
|
||||
@@ -66,3 +67,85 @@ G4bool G4Colour::operator != (const G4Colour& c) const {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
const G4Colour G4Colour::fWhite = G4Colour(1.0, 1.0, 1.0);
|
||||
const G4Colour G4Colour::fGray = G4Colour(0.5, 0.5, 0.5);
|
||||
const G4Colour G4Colour::fGrey = G4Colour::fGray;
|
||||
const G4Colour G4Colour::fBlack = G4Colour(0.0, 0.0, 0.0);
|
||||
const G4Colour G4Colour::fRed = G4Colour(1.0, 0.0, 0.0);
|
||||
const G4Colour G4Colour::fGreen = G4Colour(0.0, 1.0, 0.0);
|
||||
const G4Colour G4Colour::fBlue = G4Colour(0.0, 0.0, 1.0);
|
||||
const G4Colour G4Colour::fCyan = G4Colour(0.0, 1.0, 1.0);
|
||||
const G4Colour G4Colour::fMagenta = G4Colour(1.0, 0.0, 1.0);
|
||||
const G4Colour G4Colour::fYellow = G4Colour(1.0, 1.0, 0.0);
|
||||
|
||||
map<G4String, G4Colour> G4Colour::fColourMap;
|
||||
bool G4Colour::fInitColourMap = false;
|
||||
|
||||
const G4Colour& G4Colour::White() {return fWhite;}
|
||||
const G4Colour& G4Colour::Gray() {return fGray;}
|
||||
const G4Colour& G4Colour::Grey() {return fGrey;}
|
||||
const G4Colour& G4Colour::Black() {return fBlack;}
|
||||
const G4Colour& G4Colour::Red() {return fRed;}
|
||||
const G4Colour& G4Colour::Green() {return fGreen;}
|
||||
const G4Colour& G4Colour::Blue() {return fBlue;}
|
||||
const G4Colour& G4Colour::Cyan() {return fCyan;}
|
||||
const G4Colour& G4Colour::Magenta() {return fMagenta;}
|
||||
const G4Colour& G4Colour::Yellow() {return fYellow;}
|
||||
|
||||
void
|
||||
G4Colour::AddToMap(const G4String& key, const G4Colour& colour)
|
||||
{
|
||||
// Convert to lower case since colour map is case insensitive
|
||||
G4String myKey(key);
|
||||
myKey.toLower();
|
||||
|
||||
map<G4String, G4Colour>::iterator iter = fColourMap.find(myKey);
|
||||
|
||||
if (iter == fColourMap.end()) fColourMap[myKey] = colour;
|
||||
else {
|
||||
std::ostringstream o;
|
||||
o << "G4Colour with key "<<myKey<<" already exists ";
|
||||
G4Exception
|
||||
("G4Colour::AddToMap(const G4String& key, const G4Colour& colour)",
|
||||
"ColourKeyExists", JustWarning, o.str().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
G4Colour::InitialiseColourMap()
|
||||
{
|
||||
// Standard colours
|
||||
AddToMap("white", G4Colour::fWhite);
|
||||
AddToMap("gray", G4Colour::fGray);
|
||||
AddToMap("grey", G4Colour::fGrey);
|
||||
AddToMap("black", G4Colour::fBlack);
|
||||
AddToMap("red", G4Colour::fRed);
|
||||
AddToMap("green", G4Colour::fGreen);
|
||||
AddToMap("blue", G4Colour::fBlue);
|
||||
AddToMap("cyan", G4Colour::fCyan);
|
||||
AddToMap("magenta", G4Colour::fMagenta);
|
||||
AddToMap("yellow", G4Colour::fYellow);
|
||||
}
|
||||
|
||||
bool
|
||||
G4Colour::GetColour(const G4String& key, G4Colour& result)
|
||||
{
|
||||
if (false == fInitColourMap) {
|
||||
fInitColourMap = true;
|
||||
// Add standard colours to map
|
||||
InitialiseColourMap();
|
||||
}
|
||||
|
||||
G4String myKey(key);
|
||||
myKey.toLower();
|
||||
|
||||
map<G4String, G4Colour>::iterator iter = fColourMap.find(myKey);
|
||||
|
||||
// Don't modify "result" if colour was not found in map
|
||||
if (iter == fColourMap.end()) return false;
|
||||
|
||||
result = iter->second;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user