// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-/*****************************************************************
-*
-* WARNING - Curt has some ideas about AI traffic so anything in here
-* may get rewritten or scrapped. Contact Curt curt@flightgear.org
-* before spending any time or effort on this code!!!
-*
-******************************************************************/
-
#include <Main/globals.hxx>
#include <Main/fg_props.hxx>
-//#include <Scenery/scenery.hxx>
-//#include <simgear/constants.h>
#include <simgear/math/point3d.hxx>
-//#include <simgear/math/sg_geodesy.hxx>
-//#include <simgear/misc/sg_path.hxx>
+#include <simgear/debug/logstream.hxx>
#include <math.h>
#include <string>
SG_USING_STD(string);
#include "AIPlane.hxx"
#include "ATCdisplay.hxx"
+FGAIPlane::FGAIPlane() {
+ leg = LEG_UNKNOWN;
+}
+
FGAIPlane::~FGAIPlane() {
}
}
void FGAIPlane::Bank(double angle) {
- // This *should* bank us smoothly to any angle
- if(fabs(roll - angle) > 0.6) {
- roll -= ((roll - angle)/fabs(roll - angle));
- }
+ // This *should* bank us smoothly to any angle
+ if(fabs(roll - angle) > 0.6) {
+ roll -= ((roll - angle)/fabs(roll - angle));
+ }
}
// Duplication of Bank(0.0) really - should I cut this?
void FGAIPlane::LevelWings(void) {
- // bring the plane back to level smoothly (this should work to come out of either bank)
- if(fabs(roll) > 0.6) {
- roll -= (roll/fabs(roll));
- }
+ // bring the plane back to level smoothly (this should work to come out of either bank)
+ if(fabs(roll) > 0.6) {
+ roll -= (roll/fabs(roll));
+ }
}
void FGAIPlane::Transmit(string msg) {
- double user_freq0 = fgGetDouble("/radios/comm[0]/frequencies/selected-mhz");
- //double user_freq0 = ("/radios/comm[0]/frequencies/selected-mhz");
- //comm1 is not used yet.
-
- if(freq == user_freq0) {
- // we are on the same frequency, so check distance to the user plane
- if(1) {
- // For now (testing) assume in range !!!
- globals->get_ATC_display()->RegisterSingleMessage(msg, 0);
+ SG_LOG(SG_ATC, SG_INFO, "Transmit called, msg = " << msg);
+ double user_freq0 = fgGetDouble("/radios/comm[0]/frequencies/selected-mhz");
+ //double user_freq0 = ("/radios/comm[0]/frequencies/selected-mhz");
+ //comm1 is not used yet.
+
+ if(freq == user_freq0) {
+ //cout << "Transmitting..." << endl;
+ // we are on the same frequency, so check distance to the user plane
+ if(1) {
+ // For now (testing) assume in range !!!
+ // TODO - implement range checking
+ globals->get_ATC_display()->RegisterSingleMessage(msg, 0);
+ }
}
- }
+}
+
+void FGAIPlane::RegisterTransmission(int code) {
}