#pragma once

#include <array>
#include <string>
#include <vector>

#include <fesa/core/vec3.hpp>
#include <fesa/model/ids.hpp>

namespace fesa {

enum class ShearPropertySource { input, phase1_default };

struct BeamSection final {
    SectionId id;
    std::string name;
    double area;
    double iy;
    double iz;
    double torsion_j;
    double shear_area_y;
    double shear_area_z;
    ShearPropertySource shear_source;
    Vec3 orientation;
    std::vector<std::array<double, 2>> recovery_points;
};

}  // namespace fesa
