CMS 3D CMS Logo

IgSoMaterialMap Class Reference

#include <Iguana/Controls/interface/IgSoMaterialMap.h>

List of all members.

Public Types

typedef std::map< std::string,
SoMaterial * > 
MaterialMap

Public Member Functions

void addEntry (const char *name, SoMaterial *entry)
MaterialMap::iterator begin (void)
MaterialMap::iterator end (void)
SoMaterial * getFullInfos (const std::string &name)
 IgSoMaterialMap (void)
void load (SoInput &input)
SoMaterial * operator[] (const std::string &name)

Private Member Functions

void setDefaultMaterials (void)

Private Attributes

MaterialMap m_materialMap


Detailed Description

Definition at line 22 of file IgSoMaterialMap.h.


Member Typedef Documentation

typedef std::map<std::string, SoMaterial *> IgSoMaterialMap::MaterialMap

Definition at line 25 of file IgSoMaterialMap.h.


Constructor & Destructor Documentation

IgSoMaterialMap::IgSoMaterialMap ( void   ) 

Definition at line 25 of file IgSoMaterialMap.cc.

References EgammaValidation_cff::filename, fn, load(), and setDefaultMaterials().

00026 {
00027     setDefaultMaterials ();    
00028 
00029     std::string filename;
00030     
00031     char *fn = getenv ("SO_MATERIALS_IV");        
00032     if (!fn)
00033         filename = "./materials.iv";
00034     else
00035         filename = fn;
00036 
00037     SoInput inFile;
00038     if (lat::Filename (filename).exists ())
00039     {
00040         if (inFile.openFile (filename.c_str ()))        
00041         {
00042            this->load (inFile);    
00043         }
00044     }    
00045 }


Member Function Documentation

void IgSoMaterialMap::addEntry ( const char *  name,
SoMaterial *  entry 
) [inline]

Definition at line 37 of file IgSoMaterialMap.h.

Referenced by IgMatEdMainWidget::createSoMaterial(), and IgMatEdMainWidget::newMaterial().

00038         {
00039             entry->ref ();          
00040             entry->setName (name);          
00041             m_materialMap [name] = entry;           
00042         }    

IgSoMaterialMap::MaterialMap::iterator IgSoMaterialMap::begin ( void   ) 

Definition at line 55 of file IgSoMaterialMap.cc.

References m_materialMap.

Referenced by IgMatEdMainWidget::IgMatEdMainWidget(), and IgMatEdMainWidget::saveSoMaterials().

00056 {
00057     return m_materialMap.begin ();          
00058 }

IgSoMaterialMap::MaterialMap::iterator IgSoMaterialMap::end ( void   ) 

Definition at line 61 of file IgSoMaterialMap.cc.

References m_materialMap.

Referenced by IgMatEdMainWidget::IgMatEdMainWidget(), and IgMatEdMainWidget::saveSoMaterials().

00062 {
00063     return m_materialMap.end ();            
00064 }

SoMaterial* IgSoMaterialMap::getFullInfos ( const std::string &  name  )  [inline]

Definition at line 32 of file IgSoMaterialMap.h.

00033         {
00034             return m_materialMap [name];
00035         }

void IgSoMaterialMap::load ( SoInput &  input  ) 

Definition at line 68 of file IgSoMaterialMap.cc.

References ASSERT, m_materialMap, prof2calltree::node, and SiStripLorentzAngle_cfi::read.

Referenced by IgSoMaterialMap(), and setDefaultMaterials().

00069 {
00070     SoNode *node = 0;
00071     while (SoDB::read (&input, node) && node)
00072     {
00073         ASSERT (node->isOfType (SoMaterial::getClassTypeId ()));
00074         SoMaterial *material = static_cast<SoMaterial *> (node);
00075         ASSERT (material);
00076         material->ref ();           
00077         m_materialMap [material->getName ().getString ()] = material;
00078     }    
00079 }

SoMaterial * IgSoMaterialMap::operator[] ( const std::string &  name  ) 

Definition at line 48 of file IgSoMaterialMap.cc.

References m_materialMap.

00049 {
00050     MaterialMap::iterator pos = m_materialMap.find (name);
00051     return pos != m_materialMap.end () ? pos->second : 0;
00052 }

void IgSoMaterialMap::setDefaultMaterials ( void   )  [private]

Definition at line 83 of file IgSoMaterialMap.cc.

References iggi_31X_cfg::input, and load().

Referenced by IgSoMaterialMap().

00084 {
00085     std::string defaultMaterials = "";
00086     defaultMaterials += "#Inventor V2.1 ascii \n";    
00087     defaultMaterials += "\n";
00088     defaultMaterials += "\n";
00089     
00090     defaultMaterials += "DEF air Material { \n";
00091     defaultMaterials += "ambientColor 0.38 1 1 \n";
00092     defaultMaterials += "diffuseColor 0 0.44 0.75\n";
00093     defaultMaterials += "specularColor 0 0 0\n";
00094     defaultMaterials += "emissiveColor 0 0 0\n";
00095     defaultMaterials += "shininess 0.1\n";
00096     defaultMaterials += "transparency 0.49\n";
00097     defaultMaterials += "}\n";
00098 
00099     defaultMaterials += "DEF aluminium Material {\n";
00100     defaultMaterials += "ambientColor 0.00714122 0.00495918 0\n";
00101     defaultMaterials += "diffuseColor 0.68 0.68 0.68\n";
00102     defaultMaterials += "specularColor 0.729595 0.74 0.72\n";
00103     defaultMaterials += "emissiveColor 0 0 0\n";
00104     defaultMaterials += "shininess 0.13\n";
00105     defaultMaterials += "transparency 0\n";
00106     defaultMaterials += "}\n";
00107     defaultMaterials += "\n";
00108     defaultMaterials += "DEF brass Material {\n";
00109     defaultMaterials += "ambientColor 0.00714122 0.00495918 0\n";; 
00110     defaultMaterials += "diffuseColor 1 0.82 0.48\n";
00111     defaultMaterials += "specularColor 0.44 0.32 0.28\n";
00112     defaultMaterials += "emissiveColor 0 0 0\n";
00113     defaultMaterials += "shininess 0.16\n";
00114     defaultMaterials += "transparency 0\n";
00115     defaultMaterials += "}\n";
00116     defaultMaterials += "\n";
00117     defaultMaterials += "DEF cable Material {\n";
00118     defaultMaterials += "ambientColor 1 0 0\n";
00119     defaultMaterials += "diffuseColor 1 0 0\n";
00120     defaultMaterials += "specularColor 0.44 0.32 0.28\n";
00121     defaultMaterials += "emissiveColor 0 0 0\n";
00122     defaultMaterials += "shininess 0.06\n";
00123     defaultMaterials += "transparency 0\n";
00124     defaultMaterials += "}\n";
00125     defaultMaterials += "\n";
00126     defaultMaterials += "DEF carbon Material {\n";
00127     defaultMaterials += "ambientColor 0 0 0\n";
00128     defaultMaterials += "diffuseColor 0.24 0.23 0.23\n";
00129     defaultMaterials += "specularColor 0 0 0\n";
00130     defaultMaterials += "emissiveColor 0 0 0\n";
00131     defaultMaterials += "shininess 0.92\n";
00132     defaultMaterials += "transparency 0\n";
00133     defaultMaterials += "}\n";
00134     defaultMaterials += "\n";
00135     defaultMaterials += "DEF ceramic Material {\n";
00136     defaultMaterials += "ambientColor 0 0 0\n";
00137     defaultMaterials += "diffuseColor 0.93 0.9 0.89\n";
00138     defaultMaterials += "specularColor 0 0 0\n";
00139     defaultMaterials += "emissiveColor 0 0 0\n";
00140     defaultMaterials += "shininess 0.92\n";
00141     defaultMaterials += "transparency 0\n";
00142     defaultMaterials += "}\n";
00143     defaultMaterials += "\n";
00144     defaultMaterials += "DEF concrete Material {\n";
00145     defaultMaterials += "ambientColor 0 0 0\n";
00146     defaultMaterials += "diffuseColor 0.58 0.58 0.59\n";
00147     defaultMaterials += "specularColor 0 0 0\n";
00148     defaultMaterials += "emissiveColor 0 0 0\n";
00149     defaultMaterials += "shininess 0.92\n";
00150     defaultMaterials += "transparency 0\n";
00151     defaultMaterials += "}\n";
00152     defaultMaterials += "\n";
00153     defaultMaterials += "DEF copper Material {\n";
00154     defaultMaterials += "ambientColor 0.13 0.23 0\n";
00155     defaultMaterials += "diffuseColor 0.66 0.45 0\n";
00156     defaultMaterials += "specularColor 0.76 0.5 0.15\n";
00157     defaultMaterials += "emissiveColor 0 0 0\n";
00158     defaultMaterials += "shininess 0.11\n";
00159     defaultMaterials += "transparency 0\n";
00160     defaultMaterials += "}\n";
00161     defaultMaterials += "\n";
00162     defaultMaterials += "DEF default Material {\n";
00163     defaultMaterials += "ambientColor 0 0 0\n";
00164     defaultMaterials += "diffuseColor 0.93 0.89 0.88\n";
00165     defaultMaterials += "specularColor 0.79 0.84 0.84\n";
00166     defaultMaterials += "emissiveColor 0 0 0\n";
00167     defaultMaterials += "shininess 1\n";
00168     defaultMaterials += "transparency 0\n";
00169     defaultMaterials += "}\n";
00170     defaultMaterials += "\n";
00171     defaultMaterials += "DEF defaultGas Material {\n";
00172     defaultMaterials += "ambientColor 0 0 0\n";
00173     defaultMaterials += "diffuseColor 0.93 0.9 0.89\n";
00174     defaultMaterials += "specularColor 0 0 0\n";
00175     defaultMaterials += "emissiveColor 0 0 0\n";
00176     defaultMaterials += "shininess 0.92\n";
00177     defaultMaterials += "transparency 0.69\n";
00178     defaultMaterials += "}\n";
00179     defaultMaterials += "\n";
00180     defaultMaterials += "DEF foam Material {\n";
00181     defaultMaterials += "ambientColor 0.00746166 0.00672922 0.00689707\n";
00182     defaultMaterials += "diffuseColor 0.02916 0.0262913 0.0269627\n";
00183     defaultMaterials += "specularColor 0.641611 0.651041 0.979599\n";
00184     defaultMaterials += "emissiveColor 0 0 0\n";
00185     defaultMaterials += "shininess 0.0612192\n";
00186     defaultMaterials += "transparency 0\n";
00187     defaultMaterials += "}\n";
00188     defaultMaterials += "\n";
00189     defaultMaterials += "DEF glass Material {\n";
00190     defaultMaterials += "ambientColor 0 0 0\n";
00191     defaultMaterials += "diffuseColor 0.93 0.9 0.89\n";
00192     defaultMaterials += "specularColor 0.42 0.41 0.43\n";
00193     defaultMaterials += "emissiveColor 0 0 0\n";
00194     defaultMaterials += "shininess 0\n";
00195     defaultMaterials += "transparency 0.62\n";
00196     defaultMaterials += "}\n";
00197     defaultMaterials += "\n";
00198     defaultMaterials += "DEF gold Material {\n";
00199     defaultMaterials += "ambientColor 0.00714122 0.00495918 0\n";
00200     defaultMaterials += "diffuseColor 0.72 0.41 0\n";
00201     defaultMaterials += "specularColor 1 1 0\n";
00202     defaultMaterials += "emissiveColor 0 0 0\n";
00203     defaultMaterials += "shininess 0.15\n";
00204     defaultMaterials += "transparency 0\n";
00205     defaultMaterials += "}\n";
00206     defaultMaterials += "\n";
00207     defaultMaterials += "DEF iron Material {\n";
00208     defaultMaterials += "ambientColor 0 0.0186465 0\n";
00209     defaultMaterials += "diffuseColor 0.59 0.56 0.56\n";
00210     defaultMaterials += "specularColor 0.66 0.66 0.66\n";
00211     defaultMaterials += "emissiveColor 0 0 0\n";
00212     defaultMaterials += "shininess 0.43\n";
00213     defaultMaterials += "transparency 0\n";
00214     defaultMaterials += "}\n";
00215     defaultMaterials += "\n";
00216     defaultMaterials += "DEF lead Material {\n";
00217     defaultMaterials += "ambientColor 0 0 0\n";
00218     defaultMaterials += "diffuseColor 0.27 0.27 0.27\n";
00219     defaultMaterials += "specularColor 0.882658 0.9 0.89\n";
00220     defaultMaterials += "emissiveColor 0 0 0\n";
00221     defaultMaterials += "shininess 0.2\n";
00222     defaultMaterials += "transparency 0\n";
00223     defaultMaterials += "}\n";
00224     defaultMaterials += "\n";
00225     defaultMaterials += "DEF silicon Material {\n";
00226     defaultMaterials += "ambientColor 0.0570077 0.0395514 0\n";
00227     defaultMaterials += "diffuseColor 0.59 0.36 0\n";
00228     defaultMaterials += "specularColor 1 1 1\n";
00229     defaultMaterials += "emissiveColor 0 0 0\n";
00230     defaultMaterials += "shininess 0.03\n";
00231     defaultMaterials += "transparency 0\n";
00232     defaultMaterials += "}\n";
00233     defaultMaterials += "\n";
00234     defaultMaterials += "DEF vacuum Material {\n";
00235     defaultMaterials += "ambientColor 0 0 0\n";
00236     defaultMaterials += "diffuseColor 0.93 0.9 0.89\n";
00237     defaultMaterials += "specularColor 0 0 0\n";
00238     defaultMaterials += "emissiveColor 0 0 0\n";
00239     defaultMaterials += "shininess 0.92\n";
00240     defaultMaterials += "transparency 0.66\n";
00241     defaultMaterials += "}\n";
00242     defaultMaterials += "\n";
00243     defaultMaterials += "DEF water Material {\n";
00244     defaultMaterials += "ambientColor 0.00714122 0.00169375 0\n";
00245     defaultMaterials += "diffuseColor 0.02 0.27 1\n";
00246     defaultMaterials += "specularColor 0.28 0 0.77\n";
00247     defaultMaterials += "emissiveColor 0 0 0\n";
00248     defaultMaterials += "shininess 0.04\n";
00249     defaultMaterials += "transparency 0.1\n";
00250     defaultMaterials += "}\n";
00251     defaultMaterials += "\n";
00252     defaultMaterials += "DEF wood Material {\n";
00253     defaultMaterials += "ambientColor 0.0202792 0 0.0198978\n";
00254     defaultMaterials += "diffuseColor 0.56 0.41 0.34\n";
00255     defaultMaterials += "specularColor 0 0 0\n";
00256     defaultMaterials += "emissiveColor 0 0 0\n";
00257     defaultMaterials += "shininess 1\n";
00258     defaultMaterials += "transparency 0\n";    
00259     defaultMaterials += "}\n";
00260 
00261     SoInput input;
00262     
00263     input.setBuffer ((void *) (defaultMaterials.c_str ()), defaultMaterials.size ());
00264     this->load (input);
00265 }


Member Data Documentation

MaterialMap IgSoMaterialMap::m_materialMap [private]

Definition at line 47 of file IgSoMaterialMap.h.

Referenced by begin(), end(), load(), and operator[]().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:25:43 2009 for CMSSW by  doxygen 1.5.4