OpenMining  0.01
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
Points3DSqlQuery.h
Go to the documentation of this file.
1 #ifndef ThreeDPoints_h
2 #define ThreeDPoints_h
3 
4 // standard library includes
5 #include <string>
6 #include <vector>
7 
8 // boost #includes
9 #include <boost/archive/text_oarchive.hpp>
10 #include <boost/archive/text_iarchive.hpp>
11 #include <boost/serialization/map.hpp>
12 
13 // Qt includes
14 #include <QString>
15 #include <QStringList>
16 #include <QSqlQuery>
17 #include <QVariant>
18 
19 //my includes
20 #include "mytypes.h"
21 #include "Point3D.h"
22 #include "Points3D.h"
23 #include "Cube.h"
24 #include "utils/Rectangle.h"
25 
26 class Points3DSqlQuery : public Points3D
27 {
28 public:
29  Points3DSqlQuery(const QStringList& args);
31  //Points3DSqlQuery(const std::string& sqlQuery);
32  bool getZ(const utils::Rectangle_t& rectangle, z_t& elevation) ;
33  bool getZ(const utils::Rectangle_t& rectangle, z_t& elevation, bool& retval) ;
34  void init(const QStringList& args);
35  void build(QString& query);
36  void build(QSqlQuery& query);
38 
39 private:
41  //std::vector<Point3D> m_locations;
42  longitudes_t m_sqlQueryPoints; // interpolated subset of m_sqlQueryPoints. Much smaller. Gets built once and then cached.
44 
45  // When the class Archive corresponds to an output archive, the
46  // & operator is defined similar to <<. Likewise, when the class Archive
47  // is a type of input archive the & operator is defined similar to >>.
48  template<class Archive>
49  void serialize(Archive& ar, const unsigned int version)
50  {
51  ar & m_sqlQueryPoints;
52  Q_UNUSED(version);
53  }
54 };
55 
56 #endif
57 
longitudes_t m_sqlQueryPoints
Definition: Points3DSqlQuery.h:42
Cube m_boundary
Definition: Points3DSqlQuery.h:40
uint32_t m_dbRowCount
Definition: Points3DSqlQuery.h:43
bool getZ(const utils::Rectangle_t &rectangle, z_t &elevation)
Definition: Points3DSqlQuery.cpp:37
std::map< longitude_t, latitudes_t > longitudes_t
Definition: mytypes.h:22
friend class boost::serialization::access
Definition: Points3DSqlQuery.h:37
Points3DSqlQuery()
Definition: Points3DSqlQuery.cpp:20
uint32_t m_dbNumRows
Definition: Points3DSqlQuery.h:43
Definition: Points3DSqlQuery.h:26
void build(QString &query)
Definition: Points3DSqlQuery.cpp:94
Definition: Rectangle.h:36
Definition: Cube.h:38
int32_t z_t
Definition: mytypes.h:15
void init(const QStringList &args)
Definition: Points3DSqlQuery.cpp:60
void serialize(Archive &ar, const unsigned int version)
Definition: Points3DSqlQuery.h:49
uint32_t m_numInvalidLocations
Definition: Points3DSqlQuery.h:43
Definition: Points3D.h:7