]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/mat.cxx
Terrasync: make whitespace in pathnames work under windows
[simgear.git] / simgear / scene / material / mat.cxx
index 8d53f86195a9bb0d0e7d8b61b56ab89b94568943..fcd95da3d37eeee52e19d688e5cbeb95709eb47e 100644 (file)
@@ -119,7 +119,7 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
                             const SGPropertyNode *props)
 {
                                // Gather the path(s) to the texture(s)
-  vector<SGPropertyNode_ptr> textures = props->getChildren("texture");
+  std::vector<SGPropertyNode_ptr> textures = props->getChildren("texture");
   for (unsigned int i = 0; i < textures.size(); i++)
   {
     string tname = textures[i]->getStringValue();
@@ -128,11 +128,11 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
     }
     SGPath tpath("Textures.high");
     tpath.append(tname);
-    string fullTexPath = osgDB::findDataFile(tpath.str(), options);
+    string fullTexPath = SGModelLib::findDataFile(tpath.str(), options);
     if (fullTexPath.empty()) {
       tpath = SGPath("Textures");
       tpath.append(tname);
-      fullTexPath = osgDB::findDataFile(tpath.str(), options);
+      fullTexPath = SGModelLib::findDataFile(tpath.str(), options);
     }
 
     if (!fullTexPath.empty() ) {
@@ -141,11 +141,11 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
     }
   }
 
-  vector<SGPropertyNode_ptr> texturesets = props->getChildren("texture-set");
+  std::vector<SGPropertyNode_ptr> texturesets = props->getChildren("texture-set");
   for (unsigned int i = 0; i < texturesets.size(); i++)
   {
     _internal_state st( NULL, false, options );
-    vector<SGPropertyNode_ptr> textures = texturesets[i]->getChildren("texture");
+    std::vector<SGPropertyNode_ptr> textures = texturesets[i]->getChildren("texture");
     for (unsigned int j = 0; j < textures.size(); j++)
     {
       string tname = textures[j]->getStringValue();
@@ -154,11 +154,11 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
       }
       SGPath tpath("Textures.high");
       tpath.append(tname);
-      string fullTexPath = osgDB::findDataFile(tpath.str(), options);
+      string fullTexPath = SGModelLib::findDataFile(tpath.str(), options);
       if (fullTexPath.empty()) {
         tpath = SGPath("Textures");
         tpath.append(tname);
-        fullTexPath = osgDB::findDataFile(tpath.str(), options);
+        fullTexPath = SGModelLib::findDataFile(tpath.str(), options);
       }
       st.add_texture(fullTexPath, textures[j]->getIndex());
     }
@@ -193,7 +193,7 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
   const SGPropertyNode* treeTexNode = props->getChild("tree-texture");
   if (treeTexNode) {
     string treeTexPath = props->getStringValue("tree-texture");
-    tree_texture = osgDB::findDataFile(treeTexPath, options);
+    tree_texture = SGModelLib::findDataFile(treeTexPath, options);
   }
 
   // surface values for use with ground reactions
@@ -229,13 +229,13 @@ SGMaterial::read_properties(const SGReaderWriterXMLOptions* options,
   if (props->hasChild("effect"))
       effect = props->getStringValue("effect");
   
-  vector<SGPropertyNode_ptr> object_group_nodes =
+  std::vector<SGPropertyNode_ptr> object_group_nodes =
     ((SGPropertyNode *)props)->getChildren("object-group");
   for (unsigned int i = 0; i < object_group_nodes.size(); i++)
     object_groups.push_back(new SGMatModelGroup(object_group_nodes[i]));
 
   // read glyph table for taxi-/runway-signs
-  vector<SGPropertyNode_ptr> glyph_nodes = props->getChildren("glyph");
+  std::vector<SGPropertyNode_ptr> glyph_nodes = props->getChildren("glyph");
   for (unsigned int i = 0; i < glyph_nodes.size(); i++) {
     const char *name = glyph_nodes[i]->getStringValue("name");
     if (name)
@@ -334,6 +334,11 @@ void SGMaterial::buildEffectProperties(const SGReaderWriterXMLOptions* options)
             makeChild(texProp, "wrap-t")
                 ->setStringValue(wrapv ? "repeat" : "clamp");
         }
+        makeChild(effectParamProp, "xsize")->setDoubleValue(xsize);
+        makeChild(effectParamProp, "ysize")->setDoubleValue(ysize);
+        makeChild(effectParamProp, "scale")->setValue(SGVec3d(xsize,ysize,0.0));
+        makeChild(effectParamProp, "light-coverage")->setDoubleValue(light_coverage);
+
         matState.effect = makeEffect(effectProp, false, xmlOptions.get());
         matState.effect->setUserData(user.get());
     }