#include "modellib.hxx"
-#include <simgear/math/SGMath.hxx>
-
using std::string;
using namespace simgear;
static_propRoot = root;
}
+void SGModelLib::resetPropertyRoot()
+{
+ static_propRoot.clear();
+}
+
void SGModelLib::setPanelFunc(panel_func pf)
{
static_panelFunc = pf;
SGModelData *data,
bool load2DPanels)
{
- osg::ref_ptr<SGReaderWriterOptions> opt = new SGReaderWriterOptions(*(osgDB::Registry::instance()->getOptions()));
+ osg::ref_ptr<SGReaderWriterOptions> opt;
+ opt = SGReaderWriterOptions::copyOrCreate(osgDB::Registry::instance()->getOptions());
opt->setPropertyNode(prop_root ? prop_root: static_propRoot.get());
opt->setModelData(data);
proxyNode->setLoadingExternalReferenceMode(osg::ProxyNode::DEFER_LOADING_TO_DATABASE_PAGER);
proxyNode->setFileName(0, path);
- osg::ref_ptr<SGReaderWriterOptions> opt
- = new SGReaderWriterOptions(*(osgDB::Registry::instance()
- ->getOptions()));
+ osg::ref_ptr<SGReaderWriterOptions> opt;
+ opt = SGReaderWriterOptions::copyOrCreate(osgDB::Registry::instance()->getOptions());
opt->setPropertyNode(prop_root ? prop_root: static_propRoot.get());
opt->setModelData(data);
opt->setLoadPanel(static_panelFunc);
plod->setFileName(0, path);
plod->setRange(0, 0.0, 50.0*SG_NM_TO_METER);
- osg::ref_ptr<SGReaderWriterOptions> opt
- = new SGReaderWriterOptions(*(osgDB::Registry::instance()
- ->getOptions()));
+ osg::ref_ptr<SGReaderWriterOptions> opt;
+ opt = SGReaderWriterOptions::copyOrCreate(osgDB::Registry::instance()->getOptions());
opt->setPropertyNode(prop_root ? prop_root: static_propRoot.get());
opt->setModelData(data);
opt->setLoadPanel(static_panelFunc);