#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);
-
-static
-osg::Node* load_panel(SGPropertyNode *n)
-{
- osg::Geode* geode = new osg::Geode;
- geode->addDrawable(new FGPanelNode(n));
- return geode;
-}
+using std::vector;
+using namespace simgear;
\f
////////////////////////////////////////////////////////////////////////
// Global functions.
////////////////////////////////////////////////////////////////////////
osg::Node *
-fgLoad3DModelPanel( const string &fg_root, const string &path,
- SGPropertyNode *prop_root,
- double sim_time_sec, const SGPath& livery )
+fgLoad3DModelPanel(const std::string &path, SGPropertyNode *prop_root)
{
- osg::Node* node = sgLoad3DModel( fg_root, path, prop_root, sim_time_sec,
- load_panel, 0, livery );
- node->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
- return node;
+ bool loadPanels = true;
+ osg::Node* node = SGModelLib::loadModel(path, prop_root, NULL, loadPanels);
+ if (node)
+ node->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
+ return node;
}