]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIManager.cxx
commradio: improvements for atis speech
[flightgear.git] / src / AIModel / AIManager.cxx
index aa80b26c5d032a600bca8b10b0e83d56f9fcc79d..27582d9ca708a2fb52a236acce96d99989006886 100644 (file)
@@ -134,6 +134,7 @@ FGAIManager::init() {
     
     globals->get_commands()->addCommand("load-scenario", this, &FGAIManager::loadScenarioCommand);
     globals->get_commands()->addCommand("unload-scenario", this, &FGAIManager::unloadScenarioCommand);
+    _environmentVisiblity = fgGetNode("/environment/visibility-m");
 }
 
 void
@@ -184,6 +185,7 @@ FGAIManager::shutdown()
     }
     
     ai_list.clear();
+    _environmentVisiblity.clear();
     
     globals->get_commands()->removeCommand("load-scenario");
     globals->get_commands()->removeCommand("unload-scenario");
@@ -298,6 +300,12 @@ FGAIManager::attach(FGAIBase *model)
     p->setBoolValue("valid", true);
 }
 
+bool FGAIManager::isVisible(const SGGeod& pos) const
+{
+  double visibility_meters = _environmentVisiblity->getDoubleValue();
+  return ( dist(globals->get_view_position_cart(), SGVec3d::fromGeod(pos)) ) <= visibility_meters;
+}
+
 int
 FGAIManager::getNumAiObjects() const
 {