#pragma once #include "fesa/core/status.h" #include "fesa/model/model_types.hpp" #include #include #include namespace fesa { enum class ShellGeometryPointKind { center, stiffness, tying, recovery }; struct ShellGeometryValidationPoint { ShellGeometryPointKind kind; std::size_t locationIndex; std::array naturalCoordinates; }; struct ShellElementGeometryData { EntityIndex elementIndex; std::array normalCandidate; double surfaceAreaWeight; }; struct ShellGeometry { std::vector nodalFrames; std::vector elementData; }; const std::array& shellGeometryValidationPoints() noexcept; Result preprocessShellGeometry( const std::vector& nodes, const std::vector& elements, const std::vector& sections); } // namespace fesa