#pragma once #include "fesa/core/ModelTypes.hpp" #include #include namespace fesa::element { using fesa::core::ElementId; using fesa::core::ElementType; using fesa::core::NodeId; using fesa::core::PropertyId; class Element { public: virtual ~Element() = default; virtual ElementId id() const noexcept = 0; virtual ElementType type() const noexcept = 0; virtual std::size_t nodeCount() const noexcept = 0; virtual const std::array& connectivity() const noexcept = 0; virtual PropertyId propertyId() const noexcept = 0; }; } // namespace fesa::element