NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_ConstructionType.h
1 /* The NANDRAD data model library.
2 
3  Copyright (c) 2012-today, Institut für Bauklimatik, TU Dresden, Germany
4 
5  Primary authors:
6  Andreas Nicolai <andreas.nicolai -[at]- tu-dresden.de>
7  Anne Paepcke <anne.paepcke -[at]- tu-dresden.de>
8 
9  This library is part of SIM-VICUS (https://github.com/ghorwin/SIM-VICUS)
10 
11  This library is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 */
21 
22 #ifndef NANDRAD_ConstructionTypeH
23 #define NANDRAD_ConstructionTypeH
24 
25 #include <vector>
26 #include <string>
27 
28 #include "NANDRAD_CodeGenMacros.h"
29 #include "NANDRAD_MaterialLayer.h"
30 #include "NANDRAD_Constants.h"
31 
32 namespace NANDRAD {
33 
34 /*! Defines a multi-layered construction (without the boundary conditions). */
36 public:
37 
38  // *** PUBLIC MEMBER FUNCTIONS ***
39 
40  NANDRAD_READWRITE
41  NANDRAD_COMP(ConstructionType)
42  NANDRAD_COMPARE_WITH_ID
43 
44  /*! Checks for valid parameters in all material layers of the construction and
45  also creates quick-access pointers to materials.
46  */
47  void checkParameters(const std::vector<Material> & materials);
48 
49 
50  // *** PUBLIC MEMBER VARIABLES ***
51 
52  /*! Unique id number. */
53  unsigned int m_id; // XML:A:required
54 
55  /*! Optional active layer index (use INVALID_ID to disable). */
56  unsigned int m_activeLayerIndex = INVALID_ID; // XML:E
57  /*! IBK-language encoded name of construction. */
58  std::string m_displayName; // XML:A
59 
60  /*! List of material layers. */
61  std::vector<MaterialLayer> m_materialLayers; // XML:E
62 };
63 
64 } // namespace NANDRAD
65 
66 #endif // NANDRAD_ConstructionTypeH
unsigned int m_activeLayerIndex
Optional active layer index (use INVALID_ID to disable).
Contains global constants for the Nandrad data model.
Defines a multi-layered construction (without the boundary conditions).
NANDRAD_READWRITE NANDRAD_COMPARE_WITH_ID void checkParameters(const std::vector< Material > &materials)
Checks for valid parameters in all material layers of the construction and also creates quick-access ...
std::string m_displayName
IBK-language encoded name of construction.
unsigned int INVALID_ID
defines an invalid id
unsigned int m_id
Unique id number.
std::vector< MaterialLayer > m_materialLayers
List of material layers.
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...