Initial Commit
[HECS.git] / DwellingDimensions.h
blob16a8a698c919fdf9b480527bf53251c205d132ef
2 /***************************************************************************
3 * *
4 * DwellingDimensions.h Copyright (C) 2008 by Jon Rumble *
5 * j.w.rumble@reading.ac.uk *
6 * *
7 * This file is part of HECS, *
8 * HECS is free software: you can redistribute it and/or modify *
9 * it under the terms of the GNU General Public License as published by *
10 * the Free Software Foundation, either version 2 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * HECS is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
20 ***************************************************************************/
22 #ifndef DWELLINGDIMENSIONS_H
23 #define DWELLINGDIMENSIONS_H
25 #include "ConfigParser.h"
26 #include <QDate>
27 class DwellingDimensions {
29 public:
31 //Constructors
32 DwellingDimensions ();
33 DwellingDimensions (const ConfigParser& config);
34 ~DwellingDimensions();
36 //Getter/Setters
37 double get_groundFloorArea();
38 double get_groundFloorHeight();
39 double get_groundFloorVolume();
40 double get_firstFloorArea();
41 double get_firstFloorHeight();
42 double get_firstFloorVolume();
43 double get_secondFloorArea();
44 double get_secondFloorHeight();
45 double get_secondFloorVolume();
46 double get_thirdFloorArea();
47 double get_thirdFloorHeight();
48 double get_thirdFloorVolume();
49 double get_totalFloorArea();
50 double get_dwellingVolume();
51 double get_avgStoreyHeight();
52 double get_livingRoomArea();
54 QString get_houseNumber();
55 QString get_address();
56 QString get_town();
57 QString get_postcode();
58 QString get_county();
59 int get_region();
60 int get_ageBand();
61 int get_propertyType();
62 int get_archType();
63 int get_habitableRooms();
66 void set_groundFloorArea(double val_in);
67 void set_groundFloorHeight(double val_in);
68 void set_groundFloorVolume(double val_in);
69 void set_firstFloorArea (double val_in);
70 void set_firstFloorHeight (double val_in);
71 void set_firstFloorVolume (double val_in);
72 void set_secondFloorArea(double val_in);
73 void set_secondFloorHeight(double val_in);
74 void set_secondFloorVolume(double val_in);
75 void set_thirdFloorArea (double val_in);
76 void set_thirdFloorHeight (double val_in);
77 void set_thirdFloorVolume (double val_in);
78 void set_totalFloorArea (double val_in);
79 void set_dwellingVolume (double val_in);
80 void set_avgStoreyHeight(double val_in);
81 void set_livingRoomArea(double val_in);
82 void set_houseNumber (QString val_in);
83 void set_address(QString val_in);
84 void set_town(QString val_in);
85 void set_postcode(QString val_in);
86 void set_county(QString val_in);
87 void set_region(int val_in);
88 void set_ageBand(int val_in);
89 void set_propertyType(int val_in);
90 void set_archType(int val_in);
91 void set_habitableRooms(int val_in);
94 void calcAll();
95 void clearAll();
96 protected:
97 //None
99 private:
101 //Private Methods
102 void initVars();
105 //Members
107 // First Floor Area (m2)
108 double m_firstFloorArea;
109 double m_firstFloorHeight;
110 double m_firstFloorVolume;
111 // Second Floor Area (m2)
112 double m_secondFloorArea;
113 double m_secondFloorHeight;
114 double m_secondFloorVolume;
115 // Third and other Floor Area (m2)
116 double m_thirdFloorArea;
117 double m_thirdFloorHeight;
118 double m_thirdFloorVolume;
119 // Ground Floor Area (m2)
120 double m_groundFloorArea;
121 double m_groundFloorHeight;
122 double m_groundFloorVolume;
123 // Total Floor Area Of Dwelling (m2)
124 double m_totalFloorArea;
125 // Calculated Dwelling Volume (m3)
126 double m_dwellingVolume;
127 // Average Storey Height (M)
128 double m_avgStoreyHeight;
129 QString m_houseNumber;
130 // Address Line 1
131 QString m_address;
132 //Town
133 QString m_town;
134 // Postcode
135 QString m_postcode;
136 // County
137 QString m_county;
138 // Region
139 int m_region;
140 //Property Age Band
141 int m_ageBand;
142 //Property Type
143 int m_propertyType;
144 //Architecture Type
145 int m_archType;
146 //Habitable Rooms
147 int m_habitableRooms;
149 ConfigParser cf;
150 //Living Room Area
151 double m_livingRoomArea;
152 //Season
154 void calcTotalFloorArea();
155 void calcDwellingVol();
161 #endif