FlightGear next
mk_viii.cxx File Reference
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <cmath>
#include <string>
#include <sstream>
#include <simgear/constants.h>
#include <simgear/sg_inlines.h>
#include <simgear/debug/logstream.hxx>
#include <simgear/math/SGMathFwd.hxx>
#include <simgear/math/SGLimits.hxx>
#include <simgear/math/SGGeometryFwd.hxx>
#include <simgear/math/SGGeodesy.hxx>
#include <simgear/math/sg_random.hxx>
#include <simgear/math/SGLineSegment.hxx>
#include <simgear/math/SGIntersect.hxx>
#include <simgear/misc/sg_path.hxx>
#include <simgear/sound/soundmgr.hxx>
#include <simgear/sound/sample_group.hxx>
#include <simgear/structure/exception.hxx>
#include <Airports/runways.hxx>
#include <Airports/airport.hxx>
#include <Main/fg_props.hxx>
#include <Main/globals.hxx>
#include "instrument_mgr.hxx"
#include "mk_viii.hxx"

Go to the source code of this file.

Macros

#define GLIDESLOPE_DOTS_TO_DDM   0.0875
 
#define GLIDESLOPE_DDM_TO_DOTS   (1 / GLIDESLOPE_DOTS_TO_DDM)
 
#define LOCALIZER_DOTS_TO_DDM   0.0775
 
#define LOCALIZER_DDM_TO_DOTS   (1 / LOCALIZER_DOTS_TO_DDM)
 
#define assert_not_reached()
 
#define n_elements(_array)
 
#define test_bits(_bits, _test)
 
#define mk_node(_name)
 
#define mk_dinput_feed(_name)
 
#define mk_dinput(_name)
 
#define mk_ainput_feed(_name)
 
#define mk_ainput(_name)
 
#define mk_doutput(_name)
 
#define mk_aoutput(_name)
 
#define mk_data(_name)
 
#define mk_voice(_name)
 
#define mk_altitude_voice(_i)
 
#define mk_alert(_name)
 
#define mk_alert_flag(_name)
 
#define mk_set_alerts   (mk->alert_handler.set_alerts)
 
#define mk_unset_alerts   (mk->alert_handler.unset_alerts)
 
#define mk_repeat_alert   (mk->alert_handler.repeat_alert)
 
#define mk_test_alert(_name)
 
#define mk_test_alerts(_test)
 
#define STDPAUSE   0.75
 
#define was_here()
 
#define was_here_offset(offset)
 

Functions

static double modify_amplitude (double amplitude, double dB)
 
static double get_heading_difference (double h1, double h2)
 
static double m1_t1_min_agl1 (double vs)
 
static double m1_t1_min_agl2 (double vs)
 
static double m1_t4_min_agl1 (double vs)
 
static double m1_t4_min_agl2 (double vs)
 
static int m3_t1_max_agl (bool flap_override)
 
static double m3_t1_max_alt_loss (bool flap_override, double agl)
 
static int m3_t2_max_agl (bool flap_override)
 
static double m3_t2_max_alt_loss (bool flap_override, double agl)
 
static double m4_t1_min_agl2 (double airspeed)
 
static double m4_t568_a_min_agl2 (double airspeed)
 
static double m4_t79_a_min_agl2 (double airspeed)
 
static double m4_t568_b_min_agl2 (double airspeed)
 
static double m4_t79_b_min_agl2 (double airspeed)
 

Macro Definition Documentation

◆ assert_not_reached

#define assert_not_reached ( )
Value:
assert(false)

Definition at line 102 of file mk_viii.cxx.

◆ GLIDESLOPE_DDM_TO_DOTS

#define GLIDESLOPE_DDM_TO_DOTS   (1 / GLIDESLOPE_DOTS_TO_DDM)

Definition at line 93 of file mk_viii.cxx.

◆ GLIDESLOPE_DOTS_TO_DDM

#define GLIDESLOPE_DOTS_TO_DDM   0.0875

Definition at line 92 of file mk_viii.cxx.

◆ LOCALIZER_DDM_TO_DOTS

#define LOCALIZER_DDM_TO_DOTS   (1 / LOCALIZER_DOTS_TO_DDM)

Definition at line 96 of file mk_viii.cxx.

◆ LOCALIZER_DOTS_TO_DDM

#define LOCALIZER_DOTS_TO_DDM   0.0775

Definition at line 95 of file mk_viii.cxx.

◆ mk_ainput

#define mk_ainput ( _name)
Value:
(mk->io_handler.inputs.arinc429._name)

Definition at line 111 of file mk_viii.cxx.

◆ mk_ainput_feed

#define mk_ainput_feed ( _name)
Value:
(mk->io_handler.input_feeders.arinc429._name)

Definition at line 110 of file mk_viii.cxx.

◆ mk_alert

#define mk_alert ( _name)
Value:
(AlertHandler::ALERT_ ## _name)

Definition at line 119 of file mk_viii.cxx.

◆ mk_alert_flag

#define mk_alert_flag ( _name)
Value:
(AlertHandler::ALERT_FLAG_ ## _name)

Definition at line 120 of file mk_viii.cxx.

◆ mk_altitude_voice

#define mk_altitude_voice ( _i)
Value:
(mk->voice_player.voices.altitude_callouts[(_i)])

Definition at line 117 of file mk_viii.cxx.

◆ mk_aoutput

#define mk_aoutput ( _name)
Value:
(mk->io_handler.outputs.arinc429._name)

Definition at line 113 of file mk_viii.cxx.

◆ mk_data

#define mk_data ( _name)
Value:
(mk->io_handler.data._name)

Definition at line 114 of file mk_viii.cxx.

◆ mk_dinput

#define mk_dinput ( _name)
Value:
(mk->io_handler.inputs.discretes._name)

Definition at line 109 of file mk_viii.cxx.

◆ mk_dinput_feed

#define mk_dinput_feed ( _name)
Value:
(mk->io_handler.input_feeders.discretes._name)

Definition at line 108 of file mk_viii.cxx.

◆ mk_doutput

#define mk_doutput ( _name)
Value:
(mk->io_handler.outputs.discretes._name)

Definition at line 112 of file mk_viii.cxx.

◆ mk_node

#define mk_node ( _name)
Value:
(mk->properties_handler.external_properties._name)

Definition at line 106 of file mk_viii.cxx.

◆ mk_repeat_alert

#define mk_repeat_alert   (mk->alert_handler.repeat_alert)

Definition at line 123 of file mk_viii.cxx.

◆ mk_set_alerts

#define mk_set_alerts   (mk->alert_handler.set_alerts)

Definition at line 121 of file mk_viii.cxx.

◆ mk_test_alert

#define mk_test_alert ( _name)
Value:
#define mk_test_alerts(_test)
Definition mk_viii.cxx:125
#define mk_alert(_name)
Definition mk_viii.cxx:119

Definition at line 124 of file mk_viii.cxx.

◆ mk_test_alerts

#define mk_test_alerts ( _test)
Value:
(test_bits(mk->alert_handler.alerts, (_test)))
#define test_bits(_bits, _test)
Definition mk_viii.cxx:104

Definition at line 125 of file mk_viii.cxx.

◆ mk_unset_alerts

#define mk_unset_alerts   (mk->alert_handler.unset_alerts)

Definition at line 122 of file mk_viii.cxx.

◆ mk_voice

#define mk_voice ( _name)
Value:
(mk->voice_player.voices._name)

Definition at line 116 of file mk_viii.cxx.

◆ n_elements

#define n_elements ( _array)
Value:
(sizeof(_array) / sizeof((_array)[0]))

Definition at line 103 of file mk_viii.cxx.

◆ STDPAUSE

#define STDPAUSE   0.75

◆ test_bits

#define test_bits ( _bits,
_test )
Value:
(((_bits) & (_test)) != 0)

Definition at line 104 of file mk_viii.cxx.

◆ was_here

#define was_here ( )
Value:
#define was_here_offset(offset)

◆ was_here_offset

#define was_here_offset ( offset)
Value:
_was_here(__LINE__ * 20 + (offset))

Function Documentation

◆ get_heading_difference()

static double get_heading_difference ( double h1,
double h2 )
static

Definition at line 136 of file mk_viii.cxx.

◆ m1_t1_min_agl1()

static double m1_t1_min_agl1 ( double vs)
static

Definition at line 377 of file mk_viii.cxx.

◆ m1_t1_min_agl2()

static double m1_t1_min_agl2 ( double vs)
static

Definition at line 378 of file mk_viii.cxx.

◆ m1_t4_min_agl1()

static double m1_t4_min_agl1 ( double vs)
static

Definition at line 379 of file mk_viii.cxx.

◆ m1_t4_min_agl2()

static double m1_t4_min_agl2 ( double vs)
static

Definition at line 380 of file mk_viii.cxx.

◆ m3_t1_max_agl()

static int m3_t1_max_agl ( bool flap_override)
static

Definition at line 382 of file mk_viii.cxx.

◆ m3_t1_max_alt_loss()

static double m3_t1_max_alt_loss ( bool flap_override,
double agl )
static

Definition at line 383 of file mk_viii.cxx.

◆ m3_t2_max_agl()

static int m3_t2_max_agl ( bool flap_override)
static

Definition at line 384 of file mk_viii.cxx.

◆ m3_t2_max_alt_loss()

static double m3_t2_max_alt_loss ( bool flap_override,
double agl )
static

Definition at line 385 of file mk_viii.cxx.

◆ m4_t1_min_agl2()

static double m4_t1_min_agl2 ( double airspeed)
static

Definition at line 395 of file mk_viii.cxx.

◆ m4_t568_a_min_agl2()

static double m4_t568_a_min_agl2 ( double airspeed)
static

Definition at line 396 of file mk_viii.cxx.

◆ m4_t568_b_min_agl2()

static double m4_t568_b_min_agl2 ( double airspeed)
static

Definition at line 398 of file mk_viii.cxx.

◆ m4_t79_a_min_agl2()

static double m4_t79_a_min_agl2 ( double airspeed)
static

Definition at line 397 of file mk_viii.cxx.

◆ m4_t79_b_min_agl2()

static double m4_t79_b_min_agl2 ( double airspeed)
static

Definition at line 399 of file mk_viii.cxx.

◆ modify_amplitude()

static double modify_amplitude ( double amplitude,
double dB )
static

Definition at line 130 of file mk_viii.cxx.