FGAircraftModel::~FGAircraftModel ()
{
- // Unregister that one at the scenery manager
- if (_aircraft)
- globals->get_scenery()->unregister_placement_transform(_aircraft->getTransform());
-
delete _aircraft;
// SSG will delete it
globals->get_scenery()->get_aircraft_branch()->removeChild(_selector.get());
liveryPath);
_aircraft->init( model );
} catch (const sg_exception &ex) {
- SG_LOG(SG_GENERAL, SG_ALERT, "Failed to load aircraft from " << path);
+ SG_LOG(SG_GENERAL, SG_ALERT, "Failed to load aircraft from " << path << ':');
+ SG_LOG(SG_GENERAL, SG_ALERT, " " << ex.getFormattedMessage());
SG_LOG(SG_GENERAL, SG_ALERT, "(Falling back to glider.ac.)");
osg::Node *model = fgLoad3DModelPanel( globals->get_fg_root(),
"Models/Geometry/glider.ac",
liveryPath);
_aircraft->init( model );
}
- _selector->addChild(_aircraft->getSceneGraph());
+ _selector->addChild(_aircraft->getSceneGraph(), true);
// Do not do altitude computations with that model
_selector->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
globals->get_scenery()->get_aircraft_branch()->addChild(_selector.get());
-
- // Register that one at the scenery manager
- globals->get_scenery()->register_placement_transform(_aircraft->getTransform());
}
void