server.{hh,cc} :
* Utilisation d'une map plutôt que d'une multimap pour stocker la liste
des pièces. Conséquence : les noms des zones doivent être uniques, il
faut donc numéroter les zones des pièces composites (par exemple
« Couloir N1 A » et « Couloir N1 B »).
* Ajout de la fonction inWhichAreas() qui permet d'obtenir la liste des
zones auxquelles appartient un point.
* Modification de la fonction makeWaypointDistancesFromFile() (renommée
makeWaypointListFromFile()) de manière à ce qu'elle calcule la matrice
des distances entre points de passage (lecture d'une liste de points).
Abandon du format décrivant les points en visibilité (voir le fichier
cfg/distances.csv, supprimé à cette révision), puisque nous nous
servons des points de passage et de la description des zones pour
calculer les liens entre points. RESTE À FAIRE : prise en comppte de
la topologie dans le calcul de distance.
* Ajout de deux fonctions areaConnection() qui permettent de récupérer
la liste des points de passage d'une zone, ou faisant l'intersection
entre deux zones.
* Ajout de la fonction distanceTopology, qui calcule la distance entre
deux points en tenant compte de la topologie (zones et points de
passage entre elles).
* Ajout de la fonction makeReferencePointDistances(), qui calcule les
distances entre points de référence, en tenant compte de la
topologie.
* Ajout de la fonction point_vector_idx(), semblable à point_tab_idx()
mais pour un vector<Point>.
referencepoint.{hh,cc} :
* Ajout de l'operator de cast en Point (operator Point()).
area.{hh,cc} :
* Ajout de l'operator==(Area).
cfg/distances.csv
* Suppression de ce fichier obsolète.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@47 785a6c6c-259e-4ff1-8b91-dc31627914f0
server.{hh,cc} :
* Ajout des affichage de trace (DEBUG_T) pour les fonctions qui n'en avaient pas.
* Retouches mineures.
cfg/topo.csv :
* Ajout explications.
* Séparation couloir / palier.
cfg/waypoints.csv :
* Création. Fichier contenant la liste des points de passage.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@46 785a6c6c-259e-4ff1-8b91-dc31627914f0
server.{cc,hh} :
* Ajout d'un type "ALGORITHM" pour utiliser des noms compréhensibles
plutôt que des entiers pour désigner les différents algorithmes
utilisables dans la fonction monitorClient().
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@45 785a6c6c-259e-4ff1-8b91-dc31627914f0
Le fichier "test.cc" a été renommé en "guinumo.cc" ; l'exécutable "test"
produit par la compilation devient "guinumo".
server.{hh,cc} :
* Séparation de la fonction fastViterbiLike(), déplacement d'une partie
du code dans la nouvelle fonction monitorClient(), comme expliqué à la
révision 41.
* Implémentation de createClient().
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@42 785a6c6c-259e-4ff1-8b91-dc31627914f0
Préparation à la séparation de Server::fastViterbiLike() en deux
fonctions : monitorClient() qui contiendra tous les traitements
génériques aux algorithmes de calcul de la position, et
fastViterbiLike() qui ne contiendra que le calcul en lui-même. Ceci afin
de permettre l'ajout aisé d'autres algorithmes.
guinumo.hh : fichier d'en-tête global avec les #define de débogage.
clientinfo.{hh,cc} :
* Ajout d'un constructeur par copie.
* Ajout des opérateurs = et ==.
* Ajout de viterbi_iteration et son accesseur getRef_viterbi_iteration().
* Ajout de print_viterbi_V().
* Changement du type de viterbi_V : passage d'un tableau classique à un
multi_array de la bibliothèque Boost.
* Ajout d'informations de débogage (trace).
server.{hh,cc} :
* Adaptation pour viterbi_V.
* Ajout de createClient() pour ajouter un client à client_list.
* Ajout d'informations de débogage (trace).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@41 785a6c6c-259e-4ff1-8b91-dc31627914f0
point.{hh,cc} :
* Ajout d'un constructeur à partir d'un tableau de 3 float.
* Ajout de operator<(), obligatoire pour le bon fonctionnement des map
avec un Point comme clef. Ajout de operator>(), tant qu'on y est.
server.{hh,cc} :
* Ajout de point_tab_idx(), qui renvoie l'indice d'un Point au sein d'un
tableau.
* Ajout de makeTopologyFromFile(), qui lit le fichier contenant la
description des pièces.
* Ajout de makeWaypointDistancesFromFile(), qui lit le fichier contenant
la description des liens entre les points de référence. TODO :
possibilité d'optimiser en construisant la matrice d'un seul coup (?).
area.{hh,cc} :
* Correction pour intégration (classe non utilisée jusqu'à présent).
* Utilisation de références constantes pour les passages de paramètres.
* Ajout de &operator<<() pour l'affichage.
Fichiers de config :
* cfg/distances.csv : complément et complément d'explication.
* cfg/topo.csv : syntaxe + ajout des coordonnées Z2.
Makefile :
* Légère amélioration au niveau de la généricité.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@40 785a6c6c-259e-4ff1-8b91-dc31627914f0
code/GuiNuMo-server/server.cc
* Ajout de la sélection du point à renvoyer, à chaque étape de
l'algorithme dans fastViterbi().
* Correction d'un bogue causé par les #ifdef de débogage.
code/GuiNuMo-server/cfg/
Ajout de deux fichiers de configuration :
* topo.csv, donnant la liste et les coordonnées des pièces (pour
l'instant seulement du premier étage).
* distances.csv, décrivant les distances entre les points de référence
clefs pour utiliser avec FRBHM.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@36 785a6c6c-259e-4ff1-8b91-dc31627914f0
server.cc : Ajout d'infos de débogage et correction erreur de syntaxe
(de Fred le mauvais muhaha).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@34 785a6c6c-259e-4ff1-8b91-dc31627914f0
server.{cc,hh} :
* Mutualisation du code des deux fonctions pointExists().
* Idem avec les deux fonctions pointIndex().
* makePointListFromFile() : correction pour la généricité de la fonction
(lecture pour la liste des points de référence / lecture pour la liste
de pérégrination).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@31 785a6c6c-259e-4ff1-8b91-dc31627914f0
/!\ Cette révision est présente uniquement pour sauvegarde de
modifications. Certains des changements apportés seront annulés à la
prochaine révision.
/!\ Bogue connu de cette révision : la lecture du fichier de
pérégrination est faite grâce à la fonction makePointListFromFile(),
donc tous les points vont dans la même entrée de la liste. Nécessité
de créer une fonction adaptée.
server.cc/hh :
* Modifications pour lire un fichier de pérégrination et effectuer les
calculs de position.
* getkClosestInSs() : correction du sens de la comparaison pour
récupérer la distance maximale.
* makeReferencePointListFromFile(const string &filename) : remplacement
par un appel à la nouvelle fonction générique :
makePointListFromFile(vector<ReferencePoint> &dest_point_list, const
string &filename).
* makePointListFromFile() : suppression de variables inutiles.
printReferencePointList() : remplacement par un appel à la nouvelle
fonction générique : printPointList(vector<ReferencePoint>
&point_list).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@30 785a6c6c-259e-4ff1-8b91-dc31627914f0
Partout où cela était possible :
* Utilisation du passage de paramètre aux fonctions par référence
constante plutôt que par valeur.
server.cc/hh :
* Suppression de l'ancienne ébauche de Fred viterbiLike().
* Création de la fonction fastViterbiLike() (Viterbi-like optimisé).
* Fonctions getkWeightedInSs() et getkClosestInSs() : simplification du
traitement des points ignorés (suppression du booléen et passage du
point à ignorer en pointeur, de manière à permettre une valeur NULL).
Création de surcharges pour un appel sans point à ignorer.
* Lecture de trois coordonnées (X;Y;Z) au lieu de deux (X;Y) depuis le
fichier des points de référence (fonctions
makeReferencePointListFromFile() et
extractReferencePointInfoFromBuffer()).
* Lecture des fichiers au format « Matteo » (une ligne par agrégation).
Le format « Fred » (une ligne par AP par agrégation) est toujours
supporté (via #define FRED_CSV_FORMAT).
* Ajout d'affichages supplémentaires pour le déboguage.
clientinfo.cc/hh :
* Modifications des attributs pour l'algorithme Viterbi-like.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@29 785a6c6c-259e-4ff1-8b91-dc31627914f0
Partout où cela était possible :
* Indentation "Emacs" du code, aération.
* Utilisation de #define pour les valeurs par défaut.
* Utilisation des valeurs par défaut dans les constructeurs.
server.cc/hh :
* Gestion d'erreur basique pour les ouvertures de fichiers.
Ajout du TODO, d'après celui fait par Fred sous format papier.
Création des répertoires :
* cfg : fichiers de configuration.
* csv : fichiers d'entrée.
* log : fichiers de sortie.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@28 785a6c6c-259e-4ff1-8b91-dc31627914f0
Projet d'origine, plein de bugs et pas fini.
Avant import du serveur GuiNuMo.
Plein de choses à faire.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@26 785a6c6c-259e-4ff1-8b91-dc31627914f0