From a5b42c7201ad2036bfd357f22f3a6ef9fedf9bc0 Mon Sep 17 00:00:00 2001 From: mfranz Date: Thu, 30 Mar 2006 14:34:16 +0000 Subject: [PATCH] add shadows to FGModelMgr managed models --- src/Model/modelmgr.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Model/modelmgr.cxx b/src/Model/modelmgr.cxx index 1b66a2b58..bc69ad7a0 100644 --- a/src/Model/modelmgr.cxx +++ b/src/Model/modelmgr.cxx @@ -15,6 +15,7 @@ #include #include +#include #include #include
@@ -25,6 +26,8 @@ SG_USING_STD(vector); +extern SGShadowVolume *shadows; + FGModelMgr::FGModelMgr () : _models(fgGetNode("/models", true)), @@ -78,6 +81,7 @@ FGModelMgr::add_model (SGPropertyNode * node) globals->get_sim_time_sec(), /*cache_object=*/false); model->init( object ); + shadows->addOccluder((ssgBranch *)object, SGShadowVolume::occluderTypeTileObject); // Set position and orientation either // indirectly through property refs @@ -253,8 +257,9 @@ FGModelMgr::Listener::childRemoved(SGPropertyNode * parent, SGPropertyNode * chi continue; _mgr->_instances.erase(it); - globals->get_scenery()->get_scene_graph() - ->removeKid(instance->model->getSceneGraph()); + ssgBranch *branch = (ssgBranch *)instance->model->getSceneGraph(); + shadows->deleteOccluder(branch); + globals->get_scenery()->get_scene_graph()->removeKid(branch); delete instance; break; -- 2.39.5