89 lines
3.8 KiB
C
89 lines
3.8 KiB
C
#pragma once
|
|
|
|
#include <stdlib.h>
|
|
#include <unac.h>
|
|
|
|
#include "../Controleur/controleur.h"
|
|
|
|
|
|
/**
|
|
* @brief Renvoie simplement un ration nécessaire aux calculs effectués sur la carte.
|
|
*
|
|
* @param echelle Échelle de la carte adoptée !
|
|
* @return Procédure.
|
|
*/
|
|
double getRatio(const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit un point de longitude / latitude vers des coordonnées cartésiennes.
|
|
*
|
|
* @param destinationPix Pointeur sur le vecteur qui contiendra les coordonnées converties.
|
|
* @param sourceGPS Pointeur sur la structure qui contient les coordonnées à convertir.
|
|
* @param pointCentral Pointeur sur les coordonnées du point central de la carte.
|
|
* @param echelle Échelle de la carte adoptée !
|
|
* @return Procédure.
|
|
*/
|
|
void conversionCoordonneesPixels(sfVector2f *const destinationPix, const Coordonnees *const sourceGPS, const Coordonnees *const pointCentral, const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit un point des coordonnées cartésiennes vers longitude / latitude.
|
|
*
|
|
* @param sourceGPS Pointeur sur la structure qui contiendra les coordonnées converties.
|
|
* @param destinationPix Pointeur sur le vecteur qui contient la position à convertir.
|
|
* @param pointCentral Pointeur sur les coordonnées du point central de la carte.
|
|
* @param echelle Échelle de la carte adoptée !
|
|
* @return Procédure.
|
|
*/
|
|
void conversionPixelsCoordonnees(Coordonnees *const destinationGPS, const sfVector2f *const sourcePix, const Coordonnees *const pointCentral, const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit des points de longitude / latitude vers des coordonnées cartésiennes.
|
|
*
|
|
* @param tabInitial Tableau de pointeurs sur structure 'Point', à convertir.
|
|
* @param nbElements Nombre de points à convertir.
|
|
* @param pointCentral Coordonnées du points central de la carte affichee a l'ecran
|
|
* @param echelle Échelle de la carte adoptée !
|
|
* @return Un tableau de points convertis.
|
|
*/
|
|
void conversionPoints(Point *tabPoint, uint32_t nbElements, const Coordonnees *const pointCentral, const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit les positions de rec en coordonnées latitude longitude.
|
|
*
|
|
* @param rec Le rectangle dont on convertit les champs positionHG/BD en coordonnées longitudinales.
|
|
* @param hg Coordonnée qui contiendra la latitude/longitude correspondant à la positionHG de rec.
|
|
* @param bd Coordonnée qui contiendra la latitude/longitude correspondant à la positionBD de rec.
|
|
* @param pointCentral Point central de la carte en latitude/longitude. Sert de repère pour la conversion.
|
|
* @echelle Échelle de la carte nécessaire pour la conversion.
|
|
* @return Procédure.
|
|
*/
|
|
void conversionRec(const Rectangle *const rec, Coordonnees *const hg, Coordonnees *const bd,const Coordonnees *const pointCentral, const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit des points d'agglos de longitude / latitude vers des coordonnees cartesiennes.
|
|
*
|
|
* @param aggloInital Tableau des agglos a convertir.
|
|
* @param nbAgglos Nombre d'agglos a convertir.
|
|
* @param pointCentral Coordonnées du points central de la carte affichee a l'ecran
|
|
* @param echelle Échelle de la carte adoptée
|
|
*@return Un tableau d'agglos de coordonnees cartesiennes
|
|
*/
|
|
void conversionAgglos(Agglomerat *aggloInitial, uint32_t nbAgglos, const Coordonnees *const pointCentral, const double echelle);
|
|
|
|
/**
|
|
* @brief Convertit les dates codées (en nombre de secondes depuis 'Epoch') en chaînes de caractères lisibles.
|
|
*
|
|
* @param tabInitial Tableau de pointeurs sur structure 'Point', à convertir.
|
|
* @param nbElements Nombre de points à convertir.
|
|
* @return Un tableau de chaînes de caractères.
|
|
*/
|
|
char** conversionDates(Point *tabInitial, uint32_t nbElements);
|
|
|
|
/**
|
|
* @brief Supprime les accents d'une chaîne (allouée dynamiquement) en entrée.
|
|
*
|
|
* @param input Chaîne de caractère à convertir.
|
|
* @return Une chaîne de caractères sans accent.
|
|
*/
|
|
char* getRidOfAccents(char *const input);
|