#pragma once

#include <vector>

struct Node {
    unsigned int ID;
    double x, y, z;
    bool isVertex;

    Node() = default;

    Node(int p_ID, double p_x, double p_y, double p_z, bool p_isVertex) : ID(p_ID), x(p_x), y(p_y), z(p_z),
                                                                          isVertex(p_isVertex) {}
};

struct FiniteElement {
    unsigned int ID;
    unsigned int areaID;
    std::vector<unsigned int> nodesID;
};

struct BoundaryElement {
    unsigned int ID;
    unsigned int boundaryID;
    std::vector<unsigned int> nodesID;
};