using std::deque;
using std::map;
-#include "Airports/runways.hxx"
-#include "Airports/simple.hxx"
-#include "Main/globals.hxx"
+#include <Airports/runways.hxx>
+#include <Airports/simple.hxx>
+#include <Main/globals.hxx>
+
+#ifdef _MSC_VER
+# pragma warning( push )
+# pragma warning( disable: 4355 )
+#endif
///////////////////////////////////////////////////////////////////////////////
// MK_VIII ////////////////////////////////////////////////////////////////////
class MK_VIII : public SGSubsystem
{
// keep in sync with Mode6Handler::altitude_callout_definitions[]
- static const int n_altitude_callouts = 11;
+ static const unsigned n_altitude_callouts = 11;
/////////////////////////////////////////////////////////////////////////////
// MK_VIII::RawValueMethodsData /////////////////////////////////////////////
if (_getter)
return (_obj.*_getter)(_data);
else
- return SGRawValue<VT>::DefaultValue;
+ return SGRawValue<VT>::DefaultValue();
}
virtual bool setValue (VT value)
{
Element *element;
inline Voice (VoicePlayer *_player)
- : player(_player), volume(1.0), element(NULL) {}
+ : element(NULL), player(_player), volume(1.0) {}
~Voice ();
} voices;
inline VoicePlayer (MK_VIII *device)
- : mk(device), speaker(this), voice(NULL), next_voice(NULL) {}
+ : voice(NULL), next_voice(NULL), mk(device), speaker(this) {}
~VoicePlayer ();
inline Speaker (VoicePlayer *_player)
: player(_player),
- volume(1),
pitch(1),
inner_cone(360),
outer_cone(360),
outer_gain(0),
reference_dist(3),
- max_dist(10)
+ max_dist(10),
+ volume(1)
{
position[0] = 0; position[1] = 0; position[2] = 0;
orientation[0] = 0; orientation[1] = 0; orientation[2] = 0;
State state;
inline SelfTestHandler (MK_VIII *device)
- : mk(device), state(STATE_NONE), button_pressed(false) {}
+ : mk(device), button_pressed(false), state(STATE_NONE) {}
inline void power_off () { stop(); }
inline void set_inop () { stop(); }
bool is_high_bank_angle ();
unsigned int get_bank_angle_alerts ();
void update_bank_angle ();
+
+ class AirportFilter : public FGAirport::AirportFilter
+ {
+ public:
+ AirportFilter(Mode6Handler *s)
+ : self(s) {}
+
+ virtual bool passAirport(FGAirport *a) const;
+
+ virtual FGPositioned::Type maxType() const {
+ return FGPositioned::AIRPORT;
+ }
+
+ private:
+ Mode6Handler* self;
+ };
};
/////////////////////////////////////////////////////////////////////////////
double to_heading);
double get_azimuth_difference (const FGRunway *_runway);
- void select_runway (const FGAirport *airport, FGRunway *_runway);
- bool test_airport (const FGAirport *airport);
+ FGRunway* select_runway (const FGAirport *airport);
void update_runway ();
void get_bias_area_edges (Position *edge,
bool is_tcf ();
bool is_rfcf ();
+ class AirportFilter : public FGAirport::AirportFilter
+ {
+ public:
+ AirportFilter(MK_VIII *device)
+ : mk(device) {}
+
+ virtual bool passAirport(FGAirport *a) const;
+
+ virtual FGPositioned::Type maxType() const {
+ return FGPositioned::AIRPORT;
+ }
+ private:
+ MK_VIII* mk;
+ };
public:
struct
{
virtual void update (double dt);
};
+#ifdef _MSC_VER
+# pragma warning( pop )
+#endif
+
#endif // __INSTRUMENTS_MK_VIII_HXX