X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2Fmodelmgr.cxx;h=f3f7cc8e4f83468743796b888063a759354fa6f0;hb=832d514d059a8248d8864f0bd317be2fcb5b59df;hp=2a0ecc5708e63bd55fede784bf3577fe9ecec222;hpb=17cfbd2a7cc386e4910ac4f713fabfc0978c52bc;p=flightgear.git diff --git a/src/Model/modelmgr.cxx b/src/Model/modelmgr.cxx index 2a0ecc570..f3f7cc8e4 100644 --- a/src/Model/modelmgr.cxx +++ b/src/Model/modelmgr.cxx @@ -6,6 +6,7 @@ #include #include
+#include #include "modelmgr.hxx" #include "model.hxx" @@ -18,8 +19,8 @@ FGModelMgr::FGModelMgr () FGModelMgr::~FGModelMgr () { - for (int i = 0; i < _instances.size(); i++) { - globals->get_models_branch() + for (unsigned int i = 0; i < _instances.size(); i++) { + globals->get_scenery()->get_models_branch() ->removeKid(_instances[i]->model->getSceneGraph()); delete _instances[i]; } @@ -28,14 +29,14 @@ FGModelMgr::~FGModelMgr () void FGModelMgr::init () { - vector model_nodes = + vector model_nodes = fgGetNode("/models", true)->getChildren("model"); - for (int i = 0; i < model_nodes.size(); i++) { + for (unsigned int i = 0; i < model_nodes.size(); i++) { SGPropertyNode * node = model_nodes[i]; SG_LOG(SG_GENERAL, SG_INFO, "Adding model " << node->getStringValue("name", "[unnamed]")); Instance * instance = new Instance; - FG3DModel * model = new FG3DModel; + FGModelPlacement * model = new FGModelPlacement; instance->model = model; model->init(node->getStringValue("path", "Models/Geometry/glider.ac")); @@ -79,7 +80,7 @@ FGModelMgr::init () model->setHeadingDeg(node->getDoubleValue("heading-deg")); // Add this model to the global scene graph - globals->get_scene_graph()->addKid(model->getSceneGraph()); + globals->get_scenery()->get_scene_graph()->addKid(model->getSceneGraph()); // Save this instance for updating _instances.push_back(instance); @@ -97,11 +98,11 @@ FGModelMgr::unbind () } void -FGModelMgr::update (int dt) +FGModelMgr::update (double dt) { - for (int i = 0; i < _instances.size(); i++) { + for (unsigned int i = 0; i < _instances.size(); i++) { Instance * instance = _instances[i]; - FG3DModel * model = instance->model; + FGModelPlacement * model = instance->model; // Optionally set position from properties if (instance->lon_deg_node != 0) @@ -119,7 +120,7 @@ FGModelMgr::update (int dt) if (instance->heading_deg_node != 0) model->setHeadingDeg(instance->heading_deg_node->getDoubleValue()); - instance->model->update(dt); + instance->model->update(); } }