]> git.mxchange.org Git - flightgear.git/blobdiff - src/Model/model_panel.cxx
Continuous replay: use correct replay duration
[flightgear.git] / src / Model / model_panel.cxx
index 732e0691a534ab293781ce0e37c57f0a33ec206c..a316243c1cf2ea22c376cdeea6a4fdf26535e7ef 100644 (file)
@@ -9,33 +9,32 @@
 
 #include <simgear/compiler.h>
 
-#include <plib/ssg.h>
+#include <osg/Geode>
 
 #include <simgear/props/props.hxx>
-#include <simgear/scene/model/model.hxx>
+#include <simgear/scene/model/modellib.hxx>
+#include <simgear/scene/util/SGNodeMasks.hxx>
+#include <simgear/math/SGMath.hxx>
 
 #include "panelnode.hxx"
-
 #include "model_panel.hxx"
 
-SG_USING_STD(vector);
+using std::vector;
 
-static
-ssgEntity *load_panel(SGPropertyNode *n)
-{
-  return new FGPanelNode(n);
-}
+using namespace simgear;
 \f
 ////////////////////////////////////////////////////////////////////////
 // Global functions.
 ////////////////////////////////////////////////////////////////////////
 
-ssgBranch *
-fgLoad3DModelPanel( const string &fg_root, const string &path,
-                    SGPropertyNode *prop_root,
-                    double sim_time_sec )
+osg::Node *
+fgLoad3DModelPanel(const std::string &path, SGPropertyNode *prop_root)
 {
-  return sgLoad3DModel( fg_root, path, prop_root, sim_time_sec, load_panel );
+    bool loadPanels = true;
+    osg::Node* node = SGModelLib::loadModel(path, prop_root, NULL, loadPanels);
+    if (node)
+        node->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
+    return node;
 }