owlps/owlps-positioning/treatment.hh

58 lines
1.6 KiB
C++
Raw Normal View History

Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
#ifndef _TREATMENT_HH_
#define _TREATMENT_HH_
#include <iostream>
#include <vector>
#include <cmath>
#include <cstdio>
#include "point.hh"
#include "measurement.hh"
#include "accesspoint.hh"
#include "referencepoint.hh"
#define LIGHT_SPEED 300000000
#define MINMAX_STEP 0.5
#define MINMAX_X_START 0.5
#define MINMAX_Y_START 0.5
#define MINMAX_Z_START 0
#define MINMAX_X_STOP 10
#define MINMAX_Y_STOP 31.5
#define MINMAX_Z_STOP 6
using namespace std;
class Treatment
{
private:
vector<AccessPoint> access_point_list;
vector<ReferencePoint> reference_point_list;
public:
Treatment(vector<AccessPoint> access_point, vector<ReferencePoint> reference_point)
{
access_point_list = access_point;
reference_point_list = reference_point;
};
~Treatment()
{
access_point_list.clear();
};
bool apExists(const string &)const;
unsigned int apIndex(const string &)const;
vector<Point> getkClosestInSs(const vector<Measurement> &m, const unsigned int &k, const Point *point_ignored)const;
Point kPointsAverage(const vector<Point> &vp)const;
Point fbcm(const vector<Measurement> &m, const int &client_idx)const;
Point fbcm_friis( const vector<Measurement> &m, const vector<float> friis_idx_list, const float &z)const;
Point interlink(const vector<Measurement> &m, const int &client_idx)const;
vector<float> computeFriisFromRefList(const Point &p, const vector<Measurement> &m);
Point getkWeightedInSs(const vector<Measurement> &m, const unsigned int &k, const Point *point_ignored)const ;
};
#endif