feat(cpp-object-oriented-modular-refactoring): step 13 - element-definition-domain
This commit is contained in:
@@ -10,8 +10,51 @@
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/math/vector3.h"
|
||||
#include "fesa/model/model_types.h"
|
||||
|
||||
namespace fesa {
|
||||
|
||||
EulerBeam3DDefinition::EulerBeam3DDefinition(
|
||||
SourceEntityId source_id_value,
|
||||
std::array<EntityIndex, 2> node_indices_value,
|
||||
const EntityIndex material_index_value,
|
||||
const EntityIndex section_index_value, SourceLocation location_value)
|
||||
: source_id{std::move(source_id_value)},
|
||||
node_indices{std::move(node_indices_value)},
|
||||
material_index{material_index_value},
|
||||
section_index{section_index_value},
|
||||
location{std::move(location_value)},
|
||||
node_indices_view_{node_indices.begin(), node_indices.end()} {}
|
||||
|
||||
ElementDefinitionKind EulerBeam3DDefinition::Kind() const noexcept {
|
||||
return ElementDefinitionKind::kEulerBeam3D;
|
||||
}
|
||||
|
||||
const SourceEntityId& EulerBeam3DDefinition::SourceId() const noexcept {
|
||||
return source_id;
|
||||
}
|
||||
|
||||
std::string_view EulerBeam3DDefinition::SourceElementType() const noexcept {
|
||||
return "B33";
|
||||
}
|
||||
|
||||
const std::vector<EntityIndex>& EulerBeam3DDefinition::NodeIndices()
|
||||
const noexcept {
|
||||
return node_indices_view_;
|
||||
}
|
||||
|
||||
EntityIndex EulerBeam3DDefinition::MaterialIndex() const noexcept {
|
||||
return material_index;
|
||||
}
|
||||
|
||||
EntityIndex EulerBeam3DDefinition::PropertyIndex() const noexcept {
|
||||
return section_index;
|
||||
}
|
||||
|
||||
void EulerBeam3DDefinition::SynchronizeNodeIndices() {
|
||||
node_indices_view_.assign(node_indices.begin(), node_indices.end());
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
constexpr std::size_t kElementDofCount = 12U;
|
||||
|
||||
Reference in New Issue
Block a user