Skip to content
Snippets Groups Projects

Add interface recovery mechanism

33 files
+ 1545
141
Compare changes
  • Side-by-side
  • Inline

Files

+ 28
8
@@ -24,8 +24,10 @@
#include <mesh/MeshRelaxer.hpp>
#include <mesh/MeshTransformer.hpp>
#include <mesh/NamedBoundaryDescriptor.hpp>
#include <mesh/NamedInterfaceDescriptor.hpp>
#include <mesh/NamedZoneDescriptor.hpp>
#include <mesh/NumberedBoundaryDescriptor.hpp>
#include <mesh/NumberedInterfaceDescriptor.hpp>
#include <mesh/NumberedZoneDescriptor.hpp>
#include <mesh/SubItemArrayPerItemVariant.hpp>
#include <mesh/SubItemValuePerItemVariant.hpp>
@@ -37,6 +39,7 @@ MeshModule::MeshModule()
{
this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IMesh>>);
this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IBoundaryDescriptor>>);
this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IInterfaceDescriptor>>);
this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IZoneDescriptor>>);
this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const ItemType>>);
@@ -96,6 +99,31 @@ MeshModule::MeshModule()
));
this->_addBuiltinFunction("boundaryTag", std::function(
[](int64_t boundary_tag) -> std::shared_ptr<const IBoundaryDescriptor> {
return std::make_shared<NumberedBoundaryDescriptor>(boundary_tag);
}
));
this->_addBuiltinFunction("interfaceName",
std::function(
[](const std::string& interface_name) -> std::shared_ptr<const IInterfaceDescriptor> {
return std::make_shared<NamedInterfaceDescriptor>(interface_name);
}
));
this->_addBuiltinFunction("interfaceTag", std::function(
[](int64_t interface_tag) -> std::shared_ptr<const IInterfaceDescriptor> {
return std::make_shared<NumberedInterfaceDescriptor>(interface_tag);
}
));
this->_addBuiltinFunction("zoneTag", std::function(
[](int64_t zone_tag) -> std::shared_ptr<const IZoneDescriptor> {
@@ -112,14 +140,6 @@ MeshModule::MeshModule()
));
this->_addBuiltinFunction("boundaryTag", std::function(
[](int64_t boundary_tag) -> std::shared_ptr<const IBoundaryDescriptor> {
return std::make_shared<NumberedBoundaryDescriptor>(boundary_tag);
}
));
this->_addBuiltinFunction("interpolate",
std::function(
Loading