cartographie.ads

--
-- Accès aux informations de la carte
--

package Cartographie is

   --
   -- Le type T_Coords est formé d'une longitude (X) et d'une latitude (Y)
   --  (mesurés en degrés)
   --
   -- Voir "type article" dans l'aide-mémoire.
   --
   type T_Coords is record
      Long : Float ;
      Lat  : Float ;
   end record ;

   -- Renvoie les coodonnées actuelles de l'avion
   function Coords_Avion return T_Coords;
   -- Note technique : Coords_Avion nécessite d'interroger le récepteur GPS
   -- de l'avion, ce qui prend quelques millisecondes (4 ms environ).


   -- Renvoie le nom complet de l'aéroport
   -- Le code est le code OACI de l'aéroport (4 lettres)
   function Nom_Aeroport (Code : String) return String ;

   -- Renvoie le pays (sur deux lettres) de l'aéroport
   -- dont on donne le code OACI
   function Pays_Aeroport (Code : String) return String ;

   -- Renvoie les coordonnées de l'aéroport indiqué par son code OACI
   function Coords_Aeroport (Code : String) return T_Coords ;

   -- Renvoie le nombre d'aéroports connus
   -- Les aéroports sont numérotés de 1 à n
   function Nb_Aeroports return Integer ;

   -- Renvoie le code OACI de l'aéroport repéré par son numéro
   function Code_Aeroport (Numero : Integer) return String ;

   -- Place une marque aux coordonnées indiquées
   procedure Placer_Marque (Point : T_Coords) ;

   -- Renvoie le cap correspondant au vecteur indiqué, entre 0 et 360
   -- Par exemple, le cap du vecteur (0, 1) est 0
   -- Le cap du vecteur (1, 1) est 45
   -- Le cap du vecteur (0, -1) est 180
   function Cap_Vecteur (DX, DY : Float) return Float ;


   -- Fonction racine carrée
   function SQRT (X : Float) return Float ;

end Cartographie ;