feat(linear-static-3d-euler-beam): step 10 - domain-model

This commit is contained in:
KOKO\Mimi
2026-08-09 12:07:27 +09:00
parent 4155267c45
commit 6fc320177d
8 changed files with 596 additions and 0 deletions
+1
View File
@@ -6,6 +6,7 @@ add_library(
core/status.cpp
math/matrix.cpp
math/vector.cpp
model/domain.cpp
)
target_include_directories(
+54
View File
@@ -0,0 +1,54 @@
#include "fesa/model/domain.hpp"
#include <utility>
namespace fesa {
Result<Domain> Domain::create(ModelDefinition definition) {
return Result<Domain>::success(Domain{std::move(definition)});
}
const std::vector<Node>& Domain::nodes() const noexcept {
return definition_.nodes;
}
const std::vector<EulerBeam3DDefinition>& Domain::elements() const noexcept {
return definition_.elements;
}
const std::vector<LinearElasticMaterial>& Domain::materials() const noexcept {
return definition_.materials;
}
const std::vector<GeneralBeamSection>& Domain::sections() const noexcept {
return definition_.sections;
}
const std::vector<NodeSet>& Domain::nodeSets() const noexcept {
return definition_.nodeSets;
}
const std::vector<ElementSet>& Domain::elementSets() const noexcept {
return definition_.elementSets;
}
const std::vector<StaticStepDefinition>& Domain::steps() const noexcept {
return definition_.steps;
}
const std::vector<Diagnostic>& Domain::warnings() const noexcept {
return definition_.warnings;
}
const std::filesystem::path& Domain::sourcePath() const noexcept {
return definition_.sourcePath;
}
const std::string& Domain::sourceContentIdentity() const noexcept {
return definition_.sourceContentIdentity;
}
Domain::Domain(ModelDefinition definition)
: definition_{std::move(definition)} {}
} // namespace fesa