![]() |
![]() |
#include <Iguana/Controls/interface/IgSoMaterialMap.h>
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 |
Definition at line 22 of file IgSoMaterialMap.h.
typedef std::map<std::string, SoMaterial *> IgSoMaterialMap::MaterialMap |
Definition at line 25 of file IgSoMaterialMap.h.
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 }
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] |
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 }
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 }
MaterialMap IgSoMaterialMap::m_materialMap [private] |
Definition at line 47 of file IgSoMaterialMap.h.
Referenced by begin(), end(), load(), and operator[]().