]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/tgdb/SGReaderWriterBTG.cxx
Merge branch 'maint' into next
[simgear.git] / simgear / scene / tgdb / SGReaderWriterBTG.cxx
index 828ab0391c1f737399e87c6cbfbeb0f48b9313bc..a93bfceca18c92ab95af31afc1928df919c70675 100644 (file)
 
 using namespace simgear;
 
+// SGReaderWriterBTGOptions static value here to avoid an additional,
+// tiny source file.
+
+std::string SGReaderWriterBTGOptions::defaultOptions;
+
 const char* SGReaderWriterBTG::className() const
 {
     return "BTG Database reader";
@@ -54,22 +59,31 @@ SGReaderWriterBTG::readNode(const std::string& fileName,
     SGMaterialLib* matlib = 0;
     bool calcLights = false;
     bool useRandomObjects = false;
+    bool useRandomVegetation = false;
     const SGReaderWriterBTGOptions* btgOptions
         = dynamic_cast<const SGReaderWriterBTGOptions*>(options);
     if (btgOptions) {
         matlib = btgOptions->getMatlib();
         calcLights = btgOptions->getCalcLights();
         useRandomObjects = btgOptions->getUseRandomObjects();
+        useRandomVegetation = btgOptions->getUseRandomVegetation();
     }
     osg::Node* result = SGLoadBTG(fileName, matlib, calcLights,
-                                  useRandomObjects);
+                                  useRandomObjects,
+                                  useRandomVegetation);
     if (result)
         return result;
     else
         return ReadResult::FILE_NOT_HANDLED;
 }
 
+
+typedef ModelRegistryCallback<DefaultProcessPolicy, NoCachePolicy,
+                              NoOptimizePolicy, NoCopyPolicy,
+                              NoSubstitutePolicy, BuildGroupBVHPolicy>
+BTGCallback;
+
 namespace
 {
-ModelRegistryCallbackProxy<LoadOnlyCallback> g_btgCallbackProxy("btg");
+ModelRegistryCallbackProxy<BTGCallback> g_btgCallbackProxy("btg");
 }