YAMLParser
FEBeam.h
Go to the documentation of this file.
1 
5 #pragma once
6 #include <map>
7 #include "yaml-cpp/yaml.h"
8 #include "FETypes.h"
9 #include "GenericFE.h"
10 #include "Identifiable.h"
11 #include "GenericCrossSection.h"
12 
13 //Forward declarations
14 class GenericMaterial;
15 class FEEccentricity;
16 
17 class FEBeam :
18  public GenericFE
19 {
20 public:
24  FEBeam(int id, FENode* node1, FENode* node2, GenericMaterial* mat, GenericCrossSection* crossSection,
25  FEEccentricity* ecc1, FEEccentricity* ecc2, FEVector* vec);
26  ~FEBeam();
27 
28  //---------- Functions ----------
30  virtual std::string getTypeAsString() override;
31 
39  bool assignIndependentAttributes(YAML::Node& yamlNode) override;
40 
41  void printAttributes();
42 
43  //Data fields
44  const FENode *pNode1;
45  const FENode *pNode2;
50  const FEVector* pVec;
51 };
52 
This is the base class for all materials classes.
Definition: GenericMaterial.h:13
This class represents a (normalized) vector used to define element orientation.
Definition: FEVector.h:8
Definition: FENode.h:15
bool assignIndependentAttributes(YAML::Node &yamlNode) override
Definition: FEBeam.cpp:25
FEBeam(int id, FENode *node1, FENode *node2, GenericMaterial *mat, GenericCrossSection *crossSection, FEEccentricity *ecc1, FEEccentricity *ecc2, FEVector *vec)
Definition: FEBeam.cpp:5
This class represents a FE eccentricity element.
Definition: FEEccentricity.h:12
~FEBeam()
Definition: FEBeam.cpp:18
const FEVector * pVec
Ptr to FEVector object specifying the beam's orientation.
Definition: FEBeam.h:50
const FENode * pNode1
Ptr to FENode object defining the start point of the beam.
Definition: FEBeam.h:44
virtual std::string getTypeAsString() override
Definition: FEBeam.cpp:23
const FENode * pNode2
Ptr to FENode object defining the end point of the beam.
Definition: FEBeam.h:45
Definition: FEBeam.h:17
void printAttributes()
Definition: FEBeam.cpp:30
const GenericMaterial * pMaterial
Ptr to material object.
Definition: FEBeam.h:46
const GenericCrossSection * pCrossSection
Ptr to object holding the cross-sectional data.
Definition: FEBeam.h:47
This is the base class for all element classes.
Definition: GenericFE.h:13
const FEEccentricity * pEcc2
Ptr to eccentricity information for node 2.
Definition: FEBeam.h:49
Type
Definition: Identifiable.h:26
Identifiable::Type getType()
Definition: FEBeam.cpp:22
This is the base class for all cross-section classes.
Definition: GenericCrossSection.h:13
const FEEccentricity * pEcc1
Ptr to eccentricity information for node 1.
Definition: FEBeam.h:48