#include "fesa/io/abaqus/domain_mapper.h" #include #include "io/abaqus/domain_builder.h" #include "io/abaqus/domain_mapping_context.h" #include "io/abaqus/material_property_mapper.h" #include "io/abaqus/step_definition_mapper.h" #include "io/abaqus/surface_definition_mapper.h" #include "io/abaqus/topology_mapper.h" namespace fesa { Result AbaqusDomainMapper::Map(const ParsedInput& input) const { abaqus_internal::DomainMappingContext context{input}; const abaqus_internal::TopologyMapper topology_mapper; Status status = topology_mapper.Map(context); if (!status.IsOk()) { return Result::Failure(std::move(status)); } status = abaqus_internal::MaterialPropertyMapper{}.Map(context); if (!status.IsOk()) { return Result::Failure(std::move(status)); } status = topology_mapper.Finalize(context); if (!status.IsOk()) { return Result::Failure(std::move(status)); } status = abaqus_internal::SurfaceDefinitionMapper{}.Map(context); if (!status.IsOk()) { return Result::Failure(std::move(status)); } status = abaqus_internal::StepDefinitionMapper{}.Map(context); if (!status.IsOk()) { return Result::Failure(std::move(status)); } return abaqus_internal::DomainBuilder{}.Build(context); } } // namespace fesa