diff --git a/src/language/modules/MeshModule.cpp b/src/language/modules/MeshModule.cpp index 1bb96c9ac41d1b1fd2bcb85c248fb66aac39d1bf..bf2f0f0af34ce3d370137d79133804ef5eb51b37 100644 --- a/src/language/modules/MeshModule.cpp +++ b/src/language/modules/MeshModule.cpp @@ -168,36 +168,37 @@ MeshModule::MeshModule() )); - this->_addBuiltinFunction("dual", std::make_shared<BuiltinFunctionEmbedder<std::shared_ptr<const IMesh>( - const std::shared_ptr<const IMesh>&)>>( - - [](const std::shared_ptr<const IMesh>& i_mesh) -> std::shared_ptr<const IMesh> { - switch (i_mesh->dimension()) { - case 1: { - using MeshType = Mesh<Connectivity<1>>; - - std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); - return DualMeshManager::instance().getDualMesh(p_mesh); - } - case 2: { - using MeshType = Mesh<Connectivity<2>>; - - std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); - return DualMeshManager::instance().getDualMesh(p_mesh); - } - case 3: { - using MeshType = Mesh<Connectivity<3>>; - - std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); - return DualMeshManager::instance().getDualMesh(p_mesh); - } - default: { - throw UnexpectedError("invalid dimension"); - } - } - } - - )); + this->_addBuiltinFunction("medianDual", + std::make_shared<BuiltinFunctionEmbedder<std::shared_ptr<const IMesh>( + const std::shared_ptr<const IMesh>&)>>( + + [](const std::shared_ptr<const IMesh>& i_mesh) -> std::shared_ptr<const IMesh> { + switch (i_mesh->dimension()) { + case 1: { + using MeshType = Mesh<Connectivity<1>>; + + std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); + return DualMeshManager::instance().getMedianDualMesh(p_mesh); + } + case 2: { + using MeshType = Mesh<Connectivity<2>>; + + std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); + return DualMeshManager::instance().getMedianDualMesh(p_mesh); + } + case 3: { + using MeshType = Mesh<Connectivity<3>>; + + std::shared_ptr p_mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh); + return DualMeshManager::instance().getMedianDualMesh(p_mesh); + } + default: { + throw UnexpectedError("invalid dimension"); + } + } + } + + )); } void diff --git a/src/mesh/ConnectivityToMedianDualConnectivityDataMapper.hpp b/src/mesh/ConnectivityToMedianDualConnectivityDataMapper.hpp index 02e5eb4b2dbbdea4fe2638c58e9e6db27e640b63..ae9288be2bade41f77bffdc0d476d7869fa1c0d4 100644 --- a/src/mesh/ConnectivityToMedianDualConnectivityDataMapper.hpp +++ b/src/mesh/ConnectivityToMedianDualConnectivityDataMapper.hpp @@ -1,5 +1,5 @@ -#ifndef CONNECTIVITY_TO_DUAL_CONNECTIVITY_DATA_MAPPER_HPP -#define CONNECTIVITY_TO_DUAL_CONNECTIVITY_DATA_MAPPER_HPP +#ifndef CONNECTIVITY_TO_MEDIAN_DUAL_CONNECTIVITY_DATA_MAPPER_HPP +#define CONNECTIVITY_TO_MEDIAN_DUAL_CONNECTIVITY_DATA_MAPPER_HPP #include <mesh/Connectivity.hpp> #include <mesh/IConnectivityToDualConnectivityDataMapper.hpp> @@ -9,7 +9,7 @@ #include <utils/PugsAssert.hpp> template <size_t Dimension> -class ConnectivityToDualConnectivityDataMapper : public IConnectivityToDualConnectivityDataMapper +class ConnectivityToMedianDualConnectivityDataMapper : public IConnectivityToDualConnectivityDataMapper { private: const IConnectivity* m_primal_connectivity; @@ -140,12 +140,12 @@ class ConnectivityToDualConnectivityDataMapper : public IConnectivityToDualConne }); } - ConnectivityToDualConnectivityDataMapper(const Connectivity<Dimension>& primal_connectivity, - const Connectivity<Dimension>& dual_connectivity, - const ConstNodeIdToNodeIdMap& primal_boundary_to_dual_node_map, - const ConstFaceIdToNodeIdMap& primal_face_to_dual_node_map, - const ConstCellIdToNodeIdMap& primal_cell_to_dual_node_map, - const ConstNodeIdToCellIdMap& primal_node_to_dual_cell_map) + ConnectivityToMedianDualConnectivityDataMapper(const Connectivity<Dimension>& primal_connectivity, + const Connectivity<Dimension>& dual_connectivity, + const ConstNodeIdToNodeIdMap& primal_boundary_to_dual_node_map, + const ConstFaceIdToNodeIdMap& primal_face_to_dual_node_map, + const ConstCellIdToNodeIdMap& primal_cell_to_dual_node_map, + const ConstNodeIdToCellIdMap& primal_node_to_dual_cell_map) : m_primal_connectivity{&primal_connectivity}, m_dual_connectivity{&dual_connectivity}, m_primal_boundary_node_to_dual_node_map{primal_boundary_to_dual_node_map}, @@ -155,4 +155,4 @@ class ConnectivityToDualConnectivityDataMapper : public IConnectivityToDualConne {} }; -#endif // CONNECTIVITY_TO_DUAL_CONNECTIVITY_DATA_MAPPER_HPP +#endif // CONNECTIVITY_TO_MEDIAN_DUAL_CONNECTIVITY_DATA_MAPPER_HPP diff --git a/src/mesh/DualConnectivityManager.cpp b/src/mesh/DualConnectivityManager.cpp index 3e5b18326788fe1bf62af3fbee977d0605adf60b..8145d4112182d775d2737f88c26991b34704a07d 100644 --- a/src/mesh/DualConnectivityManager.cpp +++ b/src/mesh/DualConnectivityManager.cpp @@ -76,8 +76,8 @@ DualConnectivityManager::_getDualConnectivityInfo(const DualMeshType& type, cons return i_connectivity->second; } else { switch (type) { - case DualMeshType::Classic: { - return this->_buildDualConnectivity<DualConnectivityBuilder>(key, connectivity); + case DualMeshType::Median: { + return this->_buildDualConnectivity<MedianDualConnectivityBuilder>(key, connectivity); } case DualMeshType::Diamond: { return this->_buildDualConnectivity<DiamondDualConnectivityBuilder>(key, connectivity); @@ -115,20 +115,20 @@ DualConnectivityManager::getConnectivityToDiamondDualConnectivityDataMapper(cons template <size_t Dimension> std::shared_ptr<const Connectivity<Dimension>> -DualConnectivityManager::getDualConnectivity(const Connectivity<Dimension>& connectivity) +DualConnectivityManager::getMedianDualConnectivity(const Connectivity<Dimension>& connectivity) { return std::dynamic_pointer_cast<const Connectivity<Dimension>>( - this->_getDualConnectivityInfo(DualMeshType::Classic, connectivity).dualConnectivity()); + this->_getDualConnectivityInfo(DualMeshType::Median, connectivity).dualConnectivity()); } template <size_t Dimension> -std::shared_ptr<const ConnectivityToDualConnectivityDataMapper<Dimension>> -DualConnectivityManager::getConnectivityToDualConnectivityDataMapper(const Connectivity<Dimension>& connectivity) +std::shared_ptr<const ConnectivityToMedianDualConnectivityDataMapper<Dimension>> +DualConnectivityManager::getConnectivityToMedianDualConnectivityDataMapper(const Connectivity<Dimension>& connectivity) { auto i_data_mapper = - this->_getDualConnectivityInfo(DualMeshType::Classic, connectivity).connectivityToDualConnectivityDataMapper(); + this->_getDualConnectivityInfo(DualMeshType::Median, connectivity).connectivityToDualConnectivityDataMapper(); auto data_mapper = - std::dynamic_pointer_cast<const ConnectivityToDualConnectivityDataMapper<Dimension>>(i_data_mapper); + std::dynamic_pointer_cast<const ConnectivityToMedianDualConnectivityDataMapper<Dimension>>(i_data_mapper); if (data_mapper.use_count() > 0) { return data_mapper; @@ -155,20 +155,20 @@ DualConnectivityManager::getConnectivityToDiamondDualConnectivityDataMapper(cons template std::shared_ptr<const ConnectivityToDiamondDualConnectivityDataMapper<3>> DualConnectivityManager::getConnectivityToDiamondDualConnectivityDataMapper(const Connectivity<3>&); -template std::shared_ptr<const Connectivity<1>> DualConnectivityManager::getDualConnectivity( +template std::shared_ptr<const Connectivity<1>> DualConnectivityManager::getMedianDualConnectivity( const Connectivity<1>& connectivity); -template std::shared_ptr<const Connectivity<2>> DualConnectivityManager::getDualConnectivity( +template std::shared_ptr<const Connectivity<2>> DualConnectivityManager::getMedianDualConnectivity( const Connectivity<2>& connectivity); -template std::shared_ptr<const Connectivity<3>> DualConnectivityManager::getDualConnectivity( +template std::shared_ptr<const Connectivity<3>> DualConnectivityManager::getMedianDualConnectivity( const Connectivity<3>& connectivity); -template std::shared_ptr<const ConnectivityToDualConnectivityDataMapper<1>> -DualConnectivityManager::getConnectivityToDualConnectivityDataMapper(const Connectivity<1>&); +template std::shared_ptr<const ConnectivityToMedianDualConnectivityDataMapper<1>> +DualConnectivityManager::getConnectivityToMedianDualConnectivityDataMapper(const Connectivity<1>&); -template std::shared_ptr<const ConnectivityToDualConnectivityDataMapper<2>> -DualConnectivityManager::getConnectivityToDualConnectivityDataMapper(const Connectivity<2>&); +template std::shared_ptr<const ConnectivityToMedianDualConnectivityDataMapper<2>> +DualConnectivityManager::getConnectivityToMedianDualConnectivityDataMapper(const Connectivity<2>&); -template std::shared_ptr<const ConnectivityToDualConnectivityDataMapper<3>> -DualConnectivityManager::getConnectivityToDualConnectivityDataMapper(const Connectivity<3>&); +template std::shared_ptr<const ConnectivityToMedianDualConnectivityDataMapper<3>> +DualConnectivityManager::getConnectivityToMedianDualConnectivityDataMapper(const Connectivity<3>&); diff --git a/src/mesh/DualConnectivityManager.hpp b/src/mesh/DualConnectivityManager.hpp index 1f6819a89842be7c1973587def875f835befd9f9..2da7e26a317dbb4ccc81954396091433e9987482 100644 --- a/src/mesh/DualConnectivityManager.hpp +++ b/src/mesh/DualConnectivityManager.hpp @@ -15,7 +15,7 @@ template <size_t Dimension> class ConnectivityToDiamondDualConnectivityDataMapper; template <size_t Dimension> -class ConnectivityToDualConnectivityDataMapper; +class ConnectivityToMedianDualConnectivityDataMapper; class DualConnectivityManager { @@ -98,11 +98,11 @@ class DualConnectivityManager void deleteConnectivity(const IConnectivity*); template <size_t Dimension> - std::shared_ptr<const Connectivity<Dimension>> getDualConnectivity(const Connectivity<Dimension>&); + std::shared_ptr<const Connectivity<Dimension>> getMedianDualConnectivity(const Connectivity<Dimension>&); template <size_t Dimension> - std::shared_ptr<const ConnectivityToDualConnectivityDataMapper<Dimension>> - getConnectivityToDualConnectivityDataMapper(const Connectivity<Dimension>&); + std::shared_ptr<const ConnectivityToMedianDualConnectivityDataMapper<Dimension>> + getConnectivityToMedianDualConnectivityDataMapper(const Connectivity<Dimension>&); template <size_t Dimension> std::shared_ptr<const Connectivity<Dimension>> getDiamondDualConnectivity(const Connectivity<Dimension>&); diff --git a/src/mesh/DualMeshManager.cpp b/src/mesh/DualMeshManager.cpp index 80c03a78a284f46300c39d2017eb1e8ea9ed7afc..3917866b401590d61e312bf9338f10f7eb9f8975 100644 --- a/src/mesh/DualMeshManager.cpp +++ b/src/mesh/DualMeshManager.cpp @@ -55,15 +55,15 @@ DualMeshManager::deleteMesh(const IMesh* p_mesh) template <size_t Dimension> std::shared_ptr<const Mesh<Connectivity<Dimension>>> -DualMeshManager::getDualMesh(std::shared_ptr<const Mesh<Connectivity<Dimension>>> mesh) +DualMeshManager::getMedianDualMesh(std::shared_ptr<const Mesh<Connectivity<Dimension>>> mesh) { const IMesh* p_mesh = mesh.get(); - auto key = std::make_pair(DualMeshType::Classic, p_mesh); + auto key = std::make_pair(DualMeshType::Median, p_mesh); if (auto i_mesh_data = m_mesh_to_dual_mesh_map.find(key); i_mesh_data != m_mesh_to_dual_mesh_map.end()) { return std::dynamic_pointer_cast<const Mesh<Connectivity<Dimension>>>(i_mesh_data->second); } else { - DualMeshBuilder builder{mesh}; + MedianDualMeshBuilder builder{mesh}; m_mesh_to_dual_mesh_map[key] = builder.mesh(); return std::dynamic_pointer_cast<const Mesh<Connectivity<Dimension>>>(builder.mesh()); @@ -87,11 +87,11 @@ DualMeshManager::getDiamondDualMesh(std::shared_ptr<const Mesh<Connectivity<Dime } } -template std::shared_ptr<const Mesh<Connectivity<1>>> DualMeshManager::getDualMesh( +template std::shared_ptr<const Mesh<Connectivity<1>>> DualMeshManager::getMedianDualMesh( std::shared_ptr<const Mesh<Connectivity<1>>>); -template std::shared_ptr<const Mesh<Connectivity<2>>> DualMeshManager::getDualMesh( +template std::shared_ptr<const Mesh<Connectivity<2>>> DualMeshManager::getMedianDualMesh( std::shared_ptr<const Mesh<Connectivity<2>>>); -template std::shared_ptr<const Mesh<Connectivity<3>>> DualMeshManager::getDualMesh( +template std::shared_ptr<const Mesh<Connectivity<3>>> DualMeshManager::getMedianDualMesh( std::shared_ptr<const Mesh<Connectivity<3>>>); template std::shared_ptr<const Mesh<Connectivity<1>>> DualMeshManager::getDiamondDualMesh( diff --git a/src/mesh/DualMeshManager.hpp b/src/mesh/DualMeshManager.hpp index dd8af5890564f459034905158d886ee600811ce3..77c14d5e4c7ab7ca073f2895566410390bfc4a7d 100644 --- a/src/mesh/DualMeshManager.hpp +++ b/src/mesh/DualMeshManager.hpp @@ -57,7 +57,7 @@ class DualMeshManager std::shared_ptr<const Mesh<Connectivity<Dimension>>>); template <size_t Dimension> - std::shared_ptr<const Mesh<Connectivity<Dimension>>> getDualMesh( + std::shared_ptr<const Mesh<Connectivity<Dimension>>> getMedianDualMesh( std::shared_ptr<const Mesh<Connectivity<Dimension>>>); }; diff --git a/src/mesh/DualMeshType.hpp b/src/mesh/DualMeshType.hpp index 5e599a0004fd44a1ab9375d07315f3bd8225c797..16c370c7e9bd706e631227e329c9ca2ce2e9f73b 100644 --- a/src/mesh/DualMeshType.hpp +++ b/src/mesh/DualMeshType.hpp @@ -8,8 +8,8 @@ enum class DualMeshType { - Classic, - Diamond + Diamond, + Median }; PUGS_INLINE @@ -17,8 +17,8 @@ std::string name(DualMeshType type) { switch (type) { - case DualMeshType::Classic: { - return "classic"; + case DualMeshType::Median: { + return "median"; } case DualMeshType::Diamond: { return "diamond"; diff --git a/src/mesh/MedianDualConnectivityBuilder.cpp b/src/mesh/MedianDualConnectivityBuilder.cpp index 83b0b0ea87098e8213661d76a6af0a7121886bd7..cbda3336dd2e21c6b997bd755f66e9bcf3c93b76 100644 --- a/src/mesh/MedianDualConnectivityBuilder.cpp +++ b/src/mesh/MedianDualConnectivityBuilder.cpp @@ -14,8 +14,8 @@ template <> void -DualConnectivityBuilder::_buildConnectivityDescriptor<2>(const Connectivity<2>& primal_connectivity, - ConnectivityDescriptor& dual_descriptor) +MedianDualConnectivityBuilder::_buildConnectivityDescriptor<2>(const Connectivity<2>& primal_connectivity, + ConnectivityDescriptor& dual_descriptor) { const size_t primal_number_of_nodes = primal_connectivity.numberOfNodes(); const size_t primal_number_of_faces = primal_connectivity.numberOfFaces(); @@ -240,7 +240,7 @@ DualConnectivityBuilder::_buildConnectivityDescriptor<2>(const Connectivity<2>& template <> void -DualConnectivityBuilder::_buildConnectivityFrom<2>(const IConnectivity& i_primal_connectivity) +MedianDualConnectivityBuilder::_buildConnectivityFrom<2>(const IConnectivity& i_primal_connectivity) { using ConnectivityType = Connectivity<2>; @@ -382,16 +382,17 @@ DualConnectivityBuilder::_buildConnectivityFrom<2>(const IConnectivity& i_primal m_connectivity = ConnectivityType::build(dual_descriptor); - m_mapper = std::make_shared<ConnectivityToDualConnectivityDataMapper<2>>(primal_connectivity, - dynamic_cast<const ConnectivityType&>( - *m_connectivity), - m_primal_boundary_node_to_dual_node_map, - m_primal_face_to_dual_node_map, - m_primal_cell_to_dual_node_map, - m_primal_node_to_dual_cell_map); + m_mapper = + std::make_shared<ConnectivityToMedianDualConnectivityDataMapper<2>>(primal_connectivity, + dynamic_cast<const ConnectivityType&>( + *m_connectivity), + m_primal_boundary_node_to_dual_node_map, + m_primal_face_to_dual_node_map, + m_primal_cell_to_dual_node_map, + m_primal_node_to_dual_cell_map); } -DualConnectivityBuilder::DualConnectivityBuilder(const IConnectivity& connectivity) +MedianDualConnectivityBuilder::MedianDualConnectivityBuilder(const IConnectivity& connectivity) { if (parallel::size() > 1) { throw NotImplementedError("Construction of diamond dual mesh is not implemented in parallel"); diff --git a/src/mesh/MedianDualConnectivityBuilder.hpp b/src/mesh/MedianDualConnectivityBuilder.hpp index 2e773dad58b56f05c5b96634b79f5fa25236b4ed..6ab278b29e27ee6d7dd25b2ef6819e9c025c87d3 100644 --- a/src/mesh/MedianDualConnectivityBuilder.hpp +++ b/src/mesh/MedianDualConnectivityBuilder.hpp @@ -1,5 +1,5 @@ -#ifndef DUAL_CONNECTIVITY_BUILDER_HPP -#define DUAL_CONNECTIVITY_BUILDER_HPP +#ifndef MEDIAN_DUAL_CONNECTIVITY_BUILDER_HPP +#define MEDIAN_DUAL_CONNECTIVITY_BUILDER_HPP #include <mesh/ConnectivityBuilderBase.hpp> #include <mesh/IConnectivityToDualConnectivityDataMapper.hpp> @@ -11,7 +11,7 @@ template <size_t> class Connectivity; class ConnectivityDescriptor; -class DualConnectivityBuilder : public ConnectivityBuilderBase +class MedianDualConnectivityBuilder : public ConnectivityBuilderBase { private: FaceIdToNodeIdMap m_primal_face_to_dual_node_map; @@ -28,7 +28,7 @@ class DualConnectivityBuilder : public ConnectivityBuilderBase void _buildConnectivityFrom(const IConnectivity&); friend class DualConnectivityManager; - DualConnectivityBuilder(const IConnectivity&); + MedianDualConnectivityBuilder(const IConnectivity&); public: std::shared_ptr<IConnectivityToDualConnectivityDataMapper> @@ -37,7 +37,7 @@ class DualConnectivityBuilder : public ConnectivityBuilderBase return m_mapper; } - ~DualConnectivityBuilder() = default; + ~MedianDualConnectivityBuilder() = default; }; -#endif // DUAL_CONNECTIVITY_BUILDER_HPP +#endif // MEDIAN_DUAL_CONNECTIVITY_BUILDER_HPP diff --git a/src/mesh/MedianDualMeshBuilder.cpp b/src/mesh/MedianDualMeshBuilder.cpp index b09b1025592193fb1e849682ef75e5a7dd9b1a30..9e3a756956bed665f52c1e05725733ca28eb5f86 100644 --- a/src/mesh/MedianDualMeshBuilder.cpp +++ b/src/mesh/MedianDualMeshBuilder.cpp @@ -10,7 +10,7 @@ template <size_t Dimension> void -DualMeshBuilder::_buildDualMeshFrom(const std::shared_ptr<const IMesh>& p_i_mesh) +MedianDualMeshBuilder::_buildMedianDualMeshFrom(const std::shared_ptr<const IMesh>& p_i_mesh) { static_assert(Dimension > 1); @@ -22,7 +22,8 @@ DualMeshBuilder::_buildDualMeshFrom(const std::shared_ptr<const IMesh>& p_i_mesh DualConnectivityManager& manager = DualConnectivityManager::instance(); - std::shared_ptr<const ConnectivityType> p_dual_connectivity = manager.getDualConnectivity(primal_mesh.connectivity()); + std::shared_ptr<const ConnectivityType> p_dual_connectivity = + manager.getMedianDualConnectivity(primal_mesh.connectivity()); const ConnectivityType& dual_connectivity = *p_dual_connectivity; @@ -33,7 +34,7 @@ DualMeshBuilder::_buildDualMeshFrom(const std::shared_ptr<const IMesh>& p_i_mesh const FaceValue<const TinyVector<Dimension>> primal_xl = primal_mesh_data.xl(); std::shared_ptr connectivity_to_dual_connectivity_data_mapper = - manager.getConnectivityToDualConnectivityDataMapper(primal_mesh.connectivity()); + manager.getConnectivityToMedianDualConnectivityDataMapper(primal_mesh.connectivity()); NodeValue<TinyVector<Dimension>> dual_xr{dual_connectivity}; connectivity_to_dual_connectivity_data_mapper->toDualNode(primal_xr, primal_xl, primal_xj, dual_xr); @@ -41,7 +42,7 @@ DualMeshBuilder::_buildDualMeshFrom(const std::shared_ptr<const IMesh>& p_i_mesh m_mesh = std::make_shared<MeshType>(p_dual_connectivity, dual_xr); } -DualMeshBuilder::DualMeshBuilder(const std::shared_ptr<const IMesh>& p_mesh) +MedianDualMeshBuilder::MedianDualMeshBuilder(const std::shared_ptr<const IMesh>& p_mesh) { switch (p_mesh->dimension()) { case 1: { @@ -49,7 +50,7 @@ DualMeshBuilder::DualMeshBuilder(const std::shared_ptr<const IMesh>& p_mesh) break; } case 2: { - this->_buildDualMeshFrom<2>(p_mesh); + this->_buildMedianDualMeshFrom<2>(p_mesh); break; } case 3: { diff --git a/src/mesh/MedianDualMeshBuilder.hpp b/src/mesh/MedianDualMeshBuilder.hpp index 1756d7e92ad7e8bfc4fffb2ca2e41ac1bbcb78f1..0d649c509b3e8f0f92c4f93532372a6a7adb68c4 100644 --- a/src/mesh/MedianDualMeshBuilder.hpp +++ b/src/mesh/MedianDualMeshBuilder.hpp @@ -1,21 +1,21 @@ -#ifndef DUAL_MESH_BUILDER_HPP -#define DUAL_MESH_BUILDER_HPP +#ifndef MEDIAN_DUAL_MESH_BUILDER_HPP +#define MEDIAN_DUAL_MESH_BUILDER_HPP #include <mesh/MeshBuilderBase.hpp> #include <memory> -class DualMeshBuilder : public MeshBuilderBase +class MedianDualMeshBuilder : public MeshBuilderBase { private: template <size_t Dimension> - void _buildDualMeshFrom(const std::shared_ptr<const IMesh>&); + void _buildMedianDualMeshFrom(const std::shared_ptr<const IMesh>&); friend class DualMeshManager; - DualMeshBuilder(const std::shared_ptr<const IMesh>&); + MedianDualMeshBuilder(const std::shared_ptr<const IMesh>&); public: - ~DualMeshBuilder() = default; + ~MedianDualMeshBuilder() = default; }; -#endif // DUAL_MESH_BUILDER_HPP +#endif // MEDIAN_DUAL_MESH_BUILDER_HPP