Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef POINTLOCATE_H
00029 #define POINTLOCATE_H
00030
00031 #include "QGpCoreToolsDLLExport.h"
00032 #include "Point.h"
00033
00034 namespace QGpCoreTools {
00035
00036 class QGPCORETOOLS_EXPORT PointLocate
00037 {
00038 public:
00039 PointLocate();
00040 ~PointLocate();
00041
00042 void setReference(int index, const QString& s);
00043 void setDistance(int index, double d);
00044 void setAzimuth(int index, double az);
00045 void setDistance(int index);
00046 void setAzimuth(int index);
00047 void setSolutionIndex(int i) {_solutionIndex=i;}
00048
00049 QString reference(int index) const;
00050 bool isDistance(int index) const;
00051 double distance(int index) const;
00052 bool isAzimuth(int index) const;
00053 double azimuth(int index) const;
00054 int solutionIndex() const {return _solutionIndex;}
00055
00056 Point position(const QMap<QString, const Point *>& references, Point& uncertainty, int& nSolutions) const;
00057
00058 bool fromString(const QString& log);
00059 QString toString() const;
00060 private:
00061 void availableInformation(int& distCount, int& azimuthCount, int& id, int& iaz) const;
00062
00063 QString _references[3];
00064 double _distances[3];
00065 double _azimuths[3];
00066 double _isDistance[3];
00067 double _isAzimuth[3];
00068 int _solutionIndex;
00069 };
00070
00071 }
00072
00073 #endif // POINTLOCATE_H