NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_ObjectList.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_ObjectListH
23 #define NANDRAD_ObjectListH
24 
25 #include <string>
26 
27 #include "NANDRAD_ModelInputReference.h"
28 #include "NANDRAD_IDGroup.h"
29 #include "NANDRAD_CodeGenMacros.h"
30 
31 namespace NANDRAD {
32 
33 /*! An ObjectList is used to select model instances based on reference type and ids.
34  That may be zones, interfaces, construction instances, embedded objects etc.
35  It uses an id group to filter the model instances that should be selected.
36 
37  The object list name can be referenced from other structures.
38  Use the object list name reference for the definition of outputs and model references.
39 */
40 class ObjectList {
41  NANDRAD_READWRITE_PRIVATE
42 public:
43 
44  // *** PUBLIC MEMBER FUNCTIONS ***
45 
46  NANDRAD_READWRITE
47  NANDRAD_COMPARE_WITH_NAME
48 
49  // *** PUBLIC MEMBER VARIABLES ***
50 
51  /*! Unique ID-Name of the object list. */
52  std::string m_name; // XML:A:required
53 
54  /*! The type of model that we reference data from. */
56 
57  /*! Encodes the referenced model IDs. */
59 };
60 
61 } // namespace NANDRAD
62 
63 #endif // NANDRAD_ObjectListH
IDGroup m_filterID
Encodes the referenced model IDs.
referenceType_t
Types used to identify either models generated implicitly from parametrization blocks, or other generic models (MRT_MODEL).
NANDRAD_READWRITE NANDRAD_COMPARE_WITH_NAME std::string m_name
Unique ID-Name of the object list.
An IDGroup references one or more IDs and handles the encoding/decoding of an IDGroup-string.
ModelInputReference::referenceType_t m_referenceType
The type of model that we reference data from.
An ObjectList is used to select model instances based on reference type and ids.
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...