Xysto
98bf635cf4
1 : Modification du repérage des routes. La fonction identifie maintenant 2 routes distinctes et non plus une unique route avec un saut temporelle au milieu le cas échéant. 2 : Strucures. Ajout de la structure AgglomeratGlobal qui contiendra un tableau pointant vers les agglomérats se chevauchant dans l'espace. UNIQUEMENT DESTINE AU MODE GLOBAL. 3 : Changement de mon main de test. Oh les gars ! On prévient quand on change le nom des fichiers ! Ca a fait planter mon prog de test ! (mais ce point est inutile pour vous xD) 4 : Assemblage global. La fonction d'assemblage global des agglomérats est fonctionnelle. Reste peu précise pour une raison que je dois identifier. NE L'UTILISEZ PAS !
54 lines
2.2 KiB
C
54 lines
2.2 KiB
C
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
#include "calcul.h"
|
|
#include "../Headers/structures.h"
|
|
|
|
/**
|
|
* @brief Créer le tableau de route.
|
|
*
|
|
* Cette fonction traite le tableau de point pour regrouper en routes ceux qui doivent l'être.
|
|
* Marque par l'attribut ROUTE les points POINTES (pas de recopie, dépandance du tableau de points).
|
|
* Pointe les agglomérats début et fin de route. NULL si pas d'attache (fichier corrompu, saut).
|
|
*
|
|
* @param tabPoint Tableau de points général
|
|
* @param tailleP Taille du tableau de points général
|
|
* @param tabAgglo Tableau des agglomérats de points
|
|
* @param tailleA Taille du tableau d'agglomérats
|
|
* @param tabRoute Tableau de routes qui va être alloué et rempli dans cette fonction
|
|
* @param tailleR Taille du tableau de routes. Sera initialisé dans cette fonction.
|
|
* @return Retourne une valeur d'erreur définie dans 'structures.h'. SUCCESS en cas de réussite.
|
|
*/
|
|
|
|
ErrEnum repereRoute(Point *tabPoint, const uint32_t tailleP, Agglomerat *tabAgglo, const uint32_t tailleA, Route **tabRoute, uint32_t *tailleR);
|
|
|
|
|
|
/**
|
|
* @brief Fait pointer les routes sur les agglomérats associés si cela est possible.
|
|
*
|
|
* Si aucun agglomérat n'est disponible (trop éloigné donc risque de saut, ou encore route
|
|
* en début et fin de fichier), met les pointeurs à NULL.
|
|
*
|
|
* @param tmp Route sur laquelle on travaille.
|
|
* @param tabPoint Tableau de points général
|
|
* @param tailleP Taille du tableau de points général
|
|
* @param tabAgglo Tableau des agglomérats de points
|
|
* @param tailleA Taille du tableau d'agglomérats
|
|
* @param debutRoute Contient l'indice du premier point de la route dans le tabPoint
|
|
* @param finRoute Contient l'indice du dernier point de la route dans le tabPoint
|
|
* @return void
|
|
*/
|
|
void pointageSurAgglo(Route *tmp, const Point *tabPoint, const uint32_t tailleP, Agglomerat *tabAgglo, const uint32_t tailleA, const uint32_t debutRoute, const uint32_t finRoute);
|
|
|
|
|
|
/**
|
|
* @brief Libère la totalité de la mémoire du tableau de routes.
|
|
*
|
|
* @param tabRoute Tableau de route à free.
|
|
* @param tailleR Taille de tabRoute.
|
|
* @return SUCCESS
|
|
*/
|
|
ErrEnum detruireTabRoute(Route *tabRoute, uint32_t tailleR); |