Itasca C++ Interface
Loading...
Searching...
No Matches
igenericmodellist.h
1#pragma once
2
3namespace module {
5 public:
6 // Information to describe a property in a model.
7 struct PropInfo {
8 string name_;
9 base::Property::Type type_ = base::Property::Type::Double;
10 bool multiple_ = false;
11 bool advanced_ = false;
12 bool readOnly_ = false;
13 };
14 // Information to describe a model.
15 struct ModelInfo {
16 string keyword_;
17 string fullName_;
18 bool creep_ = false;
19 bool liquefaction_ = false;
20 bool withOrietation_ = false;
21 bool withKGEv_ = false;
22 std::vector<PropInfo> properties_;
23 StringList states_;
24 };
25 // Used to return info about model/prop info and values in a region of the model.
27 double density_ = 0.0; // MOO: Generic way to handle auto-added properties?
28 string keyword_; // {} if more than one model found.
29 ModelInfo modelInfo_;
30 std::vector<base::Property> values_;
31
32 void clear() { density_ = 0.0; keyword_ = string(); modelInfo_.properties_.clear(); values_.clear(); }
33 };
34 virtual StringList getAllModelKeywords() const=0;
35 virtual ModelInfo getModelInfo(const string &keyword) const=0;
36 };
37
38} // namespace module
39// EoF
Definition basestring.h:89
Definition igenericmodellist.h:4
Definition igenericmodellist.h:15
Definition igenericmodellist.h:26
Definition igenericmodellist.h:7