-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBuilding.h
70 lines (56 loc) · 1.61 KB
/
Building.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
* File: Building.h
* Author: saikrishna
*
* Created on January 24, 2014, 9:29 PM
*/
#ifndef BUILDING_H
#define BUILDING_H
#include <QSharedPointer>
#include <QMap>
#include <QDateTime>
#include <geos/geom/Polygon.h>
class BuildingPrivate;
class Building {
public:
Building();
Building(const Building& orig);
enum AddressMergeLevel {
Within = 0,
TaxParcel,
Nearby,
Unmerged = 99
};
uint id() const;
int version() const;
int year() const;
QString featureID() const;
QSharedPointer<geos::geom::Polygon> building() const;
QList<uint> nodeIndices() const;
QMap<QString, QString> tags() const;
QString user() const;
uint uid() const;
uint changesetID() const;
QDateTime timestamp() const;
AddressMergeLevel mergeLevel() const;
void setId(uint id);
void setVersion(int version);
void setYear (int year);
void setFeatureID(QString featureID);
void setBuilding(QSharedPointer<geos::geom::Polygon> building);
void setNodeIndices(QList<uint> nodeIndices);
void setTags(QMap<QString, QString> tags);
void setUser(QString user);
void setUid(uint uid);
void setChangesetID(uint changesetID);
void setTimestamp(QDateTime timestamp);
void setMergeLevel(AddressMergeLevel mergeLevel);
Building& operator=(const Building& other);
virtual ~Building();
private:
QExplicitlySharedDataPointer<BuildingPrivate> d;
};
uint qHash(const Building& key);
bool operator==(const Building& building1, const Building& building2);
Q_DECLARE_TYPEINFO(Building, Q_MOVABLE_TYPE);
#endif /* BUILDING_H */