#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;
}