YAMLParser
Identifiable.h
Go to the documentation of this file.
1 
5 #pragma once
6 #include <string>
7 #include <vector>
8 
9 /*This class is a base class for all FEM element types
10 * that has an externally user defined identification number
11 * (an 'id' attribute).
12 */
14 {
15 protected:
16  int id;
17  void setID(int id);
18 public:
19  virtual ~Identifiable();
20 
26  enum Type {
28  //Nodal data
30  //Element data
32  //Material data
34  //Cross-sectional data
37  //Load data
39  };
40 
41  //---------- Functions ----------
42  //Vector containing string values that correspond to the enums in Type:
43  std::vector<std::string> s_Types = {
44  "NULLTYPE",
45  //Nodal data
46  "NODE",
47  //Element data
48  "BEAM", "TRISHELL", "QUADSHEL", "UNITVEC", "ECCENT",
49  //Cross-sectional data
50  "PIPE", "BOX", "LSECTION", "TSECTION"
51  };
52 
53  int getID() const;
54 
57  virtual Identifiable::Type getType();
60  virtual std::string getTypeAsString();
61 
62  //---------- Data fields ----------
64 
65 };
Definition: Identifiable.h:31
int getID() const
Getter for the externally defined identification number.
Definition: Identifiable.cpp:4
Definition: Identifiable.h:31
Definition: Identifiable.h:38
This is the base class for all types with an external identifier attribute. Used when reference to an...
Definition: Identifiable.h:13
Definition: Identifiable.h:35
Definition: Identifiable.h:29
Type type
The FEM element type (see enum definition)
Definition: Identifiable.h:63
Definition: Identifiable.h:31
virtual Identifiable::Type getType()
Definition: Identifiable.cpp:16
Definition: Identifiable.h:29
Definition: Identifiable.h:36
int id
Externally defined identification number.
Definition: Identifiable.h:16
std::vector< std::string > s_Types
Definition: Identifiable.h:43
Definition: Identifiable.h:35
virtual std::string getTypeAsString()
Definition: Identifiable.cpp:20
Definition: Identifiable.h:27
void setID(int id)
Setter for the externally defined identification number.
Definition: Identifiable.cpp:8
virtual ~Identifiable()
Definition: Identifiable.cpp:12
Definition: Identifiable.h:31
Definition: Identifiable.h:33
Type
Definition: Identifiable.h:26
Definition: Identifiable.h:36
Definition: Identifiable.h:31
Definition: Identifiable.h:35
Definition: Identifiable.h:35
Definition: Identifiable.h:38
Definition: Identifiable.h:35