From a3c3e7599df9a4748c30aab108ef414b1e12cba0 Mon Sep 17 00:00:00 2001 From: gaillaro Date: Thu, 6 May 2004 20:11:03 +0000 Subject: ajout du fichier dist et des points dans adjust --- 2004/i/nono/src/ovision/oconfig.cc | 43 +++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 17 deletions(-) (limited to '2004/i/nono/src/ovision/oconfig.cc') diff --git a/2004/i/nono/src/ovision/oconfig.cc b/2004/i/nono/src/ovision/oconfig.cc index bdc4c5a..d4799a5 100644 --- a/2004/i/nono/src/ovision/oconfig.cc +++ b/2004/i/nono/src/ovision/oconfig.cc @@ -104,6 +104,7 @@ OConfig::OConfig(char *filename) { node = NULL; index = NULL; LoadNNFile("rc/poids"); + LoadDistFile("rc/dist"); } @@ -295,44 +296,52 @@ void OConfig::LoadThFile() { -/// Chargement de la table des distances -void OConfig::LoadDistFile(char *filename, int **tab, int &height, int &width) { +/// Chargement de la tabPointle des distances +void OConfig::LoadDistFile(char *filename) { FILE *file; + char buf[50]; // Ouverture du fichier de distance - file = fopen(filename, "rb"); + file = fopen(filename, "r"); if (!file) { cerr << "OConfig::LoadDistFile : Error during poids file opening" << endl; return; } - - fwrite(&height, 1, sizeof(int), file); - fwrite(&width, 1, sizeof(int), file); - if (*tab) delete[] *tab; - *tab = new int[height*width]; + int i=0; + while (i<3) + { + fgets(buf, 50, file); + if (buf[0] != '#') + { + sscanf(buf, "%i\t%i\t%i\t%i\n", &tabPoint[i][0], &tabPoint[i][1], &tabPoint[i][2], &tabPoint[i][3]); + i++; + } + } - fwrite(*tab, height*width, sizeof(int), file); fclose(file); } -/// Creation d'un fichier pour la table des distances -void OConfig::CreateDistFile(char *filename, int *tab, int height, int width) { +/// Creation d'un fichier pour la tabPointle des distances +void OConfig::CreateDistFile(char *filename) { - if (!tab) { - cerr << "OConfig::CreateDistFile : tab vide\n"; + if (!tabPoint) { + cerr << "OConfig::CreateDistFile : tabPoint vide\n"; return; } // Ecriture dans un fichier FILE *file; - file = fopen(filename, "wb+"); + file = fopen(filename, "w+"); + - fwrite(&height, 1, sizeof(int), file); - fwrite(&width, 1, sizeof(int), file); - fwrite(tab, height*width, sizeof(int), file); + fprintf(file, "#imgX\timgY\tdistX\tdistY\n"); + + for (int i=0; i<3; i++) + fprintf(file, "%i\t%i\t%i\t%i\n", tabPoint[i][0], tabPoint[i][1], tabPoint[i][2], tabPoint[i][3]); + fclose(file); } -- cgit v1.2.3