X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fscene%2Fmodel%2Fplacement.cxx;h=c1a7d83badf1a4000dcad9e6df4f1b450949f1f4;hb=32a6bd78d8bf143f40922f1a0bc7a88ea7706a7d;hp=8d2ab9f2b1f7e38c2171bfb006153a8ba7af17e2;hpb=3104898c7cfbaa593846abfa433ec53623d2e162;p=simgear.git diff --git a/simgear/scene/model/placement.cxx b/simgear/scene/model/placement.cxx index 8d2ab9f2..c1a7d83b 100644 --- a/simgear/scene/model/placement.cxx +++ b/simgear/scene/model/placement.cxx @@ -10,6 +10,7 @@ #include "placement.hxx" #include +#include #include @@ -35,14 +36,28 @@ SGModelPlacement::~SGModelPlacement () void SGModelPlacement::init( osg::Node * model ) { - // remove previous model (in case of reinit) - _transform->removeChild(0,1); + // remove previous models (in case of reinit) + _transform->removeChild(0, _transform->getNumChildren()); if (model != 0) { _transform->addChild(model); } _selector->setValue(0, 1); } +void +SGModelPlacement::add( osg::Node* model ) +{ + if (model != 0) { + _transform->addChild(model); + } +} + +void SGModelPlacement::clear() +{ + _selector = NULL; + _transform = NULL; +} + void SGModelPlacement::update() { @@ -73,30 +88,6 @@ SGModelPlacement::setVisible (bool visible) _selector->setValue(0, visible); } -void -SGModelPlacement::setLongitudeDeg (double lon_deg) -{ - _position.setLongitudeDeg(lon_deg); -} - -void -SGModelPlacement::setLatitudeDeg (double lat_deg) -{ - _position.setLatitudeDeg(lat_deg); -} - -void -SGModelPlacement::setElevationFt (double elev_ft) -{ - _position.setElevationFt(elev_ft); -} - -void -SGModelPlacement::setPosition (double lon_deg, double lat_deg, double elev_ft) -{ - _position = SGGeod::fromDegFt(lon_deg, lat_deg, elev_ft); -} - void SGModelPlacement::setPosition(const SGGeod& position) {