5 #include "LineElement.h" 28 bool readNodes(std::ifstream& in, std::vector<Node> *nodes);
29 void readInt(std::ifstream& in,
int *number);
30 void readDouble(std::ifstream& in,
double* number);
33 void createTwoNodeLineElement(std::ifstream& in, std::vector<LineElement*> *elements,
int type, std::vector<Node>& nodes);
46 LineParser(std::string fileName, std::vector<LineElement*>& elements, std::vector<Node>& nodes,
Material mat);
55 void load_msh(std::ifstream&, std::vector<LineElement*>& elements, std::vector<Node>& nodes);
64 bool readElements(std::ifstream&, std::vector<LineElement*> *, std::vector<Node>& nodes);
bool filePosEqualsLine(std::ifstream &, std::string)
Verifies that the line from the file matches with .msh format version.
Definition: LineParser.cpp:77
int regularCount
Counter for regular elements (no material properties specified in mesh file. Base material is used) ...
Definition: LineParser.h:21
void createTwoNodeSpecificLineElement(std::ifstream &in, std::vector< LineElement * > *elements, int type, std::vector< Node > &nodes)
Creates a two-node LineElement with specific material properties as defined by .msh file...
Definition: LineParser.cpp:114
void readDouble(std::ifstream &in, double *number)
Assigns a double value from the .msh file to the number argument.
Definition: LineParser.cpp:71
LineParser(std::string fileName, std::vector< LineElement * > &elements, std::vector< Node > &nodes, Material mat)
Constructor.
Definition: LineParser.cpp:12
bool readMeshFormat(std::ifstream &, double *)
Verifies the mesh format of the file.
Definition: LineParser.cpp:150
Material mat
Base material, passed from LineMesh. Regular elements properties is set according to the base materia...
Definition: LineParser.h:20
Contains material data such as Young's Modulus, Shear Modulus and Poisson's ratio, and if needed could include additional material properties.
Definition: Material.h:3
Interprets thin-wall meshes structured in the ".msh" format.
Definition: LineParser.h:12
void createTwoNodeLineElement(std::ifstream &in, std::vector< LineElement * > *elements, int type, std::vector< Node > &nodes)
Creates a two-node LineElement with material properties according to base material. Default thickness is 5.
Definition: LineParser.cpp:83
std::string line
Data on line in current position in file.
Definition: LineParser.h:23
void load_msh(std::ifstream &, std::vector< LineElement * > &elements, std::vector< Node > &nodes)
Loads the .msh file data into the elements and nodes vectors.
Definition: LineParser.cpp:30
void readInt(std::ifstream &in, int *number)
Assigns an integer value from the .msh file to the number argument.
Definition: LineParser.cpp:66
int specificCount
Counter for specific elements (uses material properties specific in mesh file)
Definition: LineParser.h:22
bool readNodes(std::ifstream &in, std::vector< Node > *nodes)
Reads the nodes from the .msh file.
Definition: LineParser.cpp:167
static const int TWO_NODED_LINE_SPECIFIC
Integer for "custom" two-node line element, with material properties set according to ...
Definition: LineParser.h:19
static const int TWO_NODED_LINE_REGULAR
Integer for regular two-node line element, with material properties identical to base material...
Definition: LineParser.h:18
bool readElements(std::ifstream &, std::vector< LineElement * > *, std::vector< Node > &nodes)
Reads the elements from .msh file.
Definition: LineParser.cpp:191