#ifndef _OWLPS_POSITIONING_MULTILATERATIONMETHOD_HH_ #define _OWLPS_POSITIONING_MULTILATERATIONMETHOD_HH_ class AccessPoint ; #include "point3d.hh" #include /// Super-class of all multilateration methods /** * The source data is a list of access points associated with the * distances to the mobile. These distances are estimated using a * MultilaterationAlgorithm. */ class MultilaterationMethod { public: MultilaterationMethod(void) {} virtual ~MultilaterationMethod(void) {} /// Selects a point in 3D space virtual Point3D multilaterate( const std::tr1::unordered_map &ap_distances) = 0 ; /// Selects a point in 2D space, given its vertical coordinate (z) virtual Point3D multilaterate_2d( const std::tr1::unordered_map &ap_distances, float z) = 0 ; } ; #endif // _OWLPS_POSITIONING_MULTILATERATIONMETHOD_HH_