Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/sg/style_color

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.
  3 
  4 #ifndef tools_sg_style_color
  5 #define tools_sg_style_color
  6 
  7 #include "../colorf"
  8 
  9 #ifdef TOOLS_MEM
 10 #include "../mem"
 11 #include "../S_STRING"
 12 #endif
 13 
 14 namespace tools {
 15 namespace sg {
 16 
 17 class style_color : public std::pair<std::string,colorf> {
 18   typedef std::pair<std::string,colorf> parent;
 19 #ifdef TOOLS_MEM
 20   TOOLS_SCLASS(tools::sg::style_color)
 21 #endif
 22 public:
 23   style_color():parent("",colorf()) {
 24 #ifdef TOOLS_MEM
 25     mem::increment(s_class().c_str());
 26 #endif
 27   }
 28   style_color(const std::string& a_name,const colorf& a_color):parent(a_name,a_color) {
 29 #ifdef TOOLS_MEM
 30     mem::increment(s_class().c_str());
 31 #endif
 32   }
 33   style_color(const std::string& a_name,float a_r,float a_g,float a_b):parent(a_name,colorf(a_r,a_g,a_b)) {
 34 #ifdef TOOLS_MEM
 35     mem::increment(s_class().c_str());
 36 #endif
 37   }
 38   virtual ~style_color(){
 39 #ifdef TOOLS_MEM
 40     mem::decrement(s_class().c_str());
 41 #endif
 42   }
 43 public:
 44   style_color(const style_color& a_from):parent(a_from.first,a_from.second) {
 45 #ifdef TOOLS_MEM
 46     mem::increment(s_class().c_str());
 47 #endif
 48   }
 49   style_color& operator=(const style_color& a_from){
 50     first = a_from.first;
 51     second = a_from.second;
 52     return *this;
 53   }
 54 public:
 55   void set_name(const std::string& a_name) {first = a_name;}
 56   void set_value(float a_r,float a_g,float a_b,float a_a) {second.set_value(a_r,a_g,a_b,a_a);}
 57 };
 58 
 59 }}
 60 
 61 #endif
 62 
 63 
 64