#ifndef FESA_ELEMENTS_ELEMENT_DOF_LAYOUT_H_ #define FESA_ELEMENTS_ELEMENT_DOF_LAYOUT_H_ #include #include #include #include "fesa/core/source_identity.h" namespace fesa { /// @brief Identifies one component in the stable six-DOF node layout. enum class DofComponent : std::uint8_t { kUx, kUy, kUz, kUrx, kUry, kUrz, }; /// @brief Describes one runtime element's stable node and component order. struct ElementDofLayout { SourceEntityId source_id; std::vector node_indices; std::vector components_per_node; }; class Element; /// @brief Provides non-owning runtime elements in stable owner order. /// @note Every referenced element must outlive this view. using ElementView = std::vector>; } // namespace fesa #endif // FESA_ELEMENTS_ELEMENT_DOF_LAYOUT_H_