diff --git a/MeshGeoToolsLib/MeshNodeSearcher.cpp b/MeshGeoToolsLib/MeshNodeSearcher.cpp index bca2ddeba8adb83b8fb1536894d5e4cf31f0f890..79c8e05396d4b04b0b1b6f95514cab5835b31e14 100644 --- a/MeshGeoToolsLib/MeshNodeSearcher.cpp +++ b/MeshGeoToolsLib/MeshNodeSearcher.cpp @@ -137,8 +137,9 @@ MeshNodesAlongSurface& MeshNodeSearcher::getMeshNodesAlongSurface(GeoLib::Surfac return *_mesh_nodes_along_surfaces.back(); } -MeshNodeSearcher& -MeshNodeSearcher::getMeshNodeSearcher(MeshLib::Mesh const& mesh) +MeshNodeSearcher& MeshNodeSearcher::getMeshNodeSearcher( + MeshLib::Mesh const& mesh, + MeshGeoToolsLib::SearchLength const& search_length_algorithm) { std::size_t const mesh_id = mesh.getID(); if (_mesh_node_searchers.size() < mesh_id+1) @@ -146,7 +147,8 @@ MeshNodeSearcher::getMeshNodeSearcher(MeshLib::Mesh const& mesh) if (!_mesh_node_searchers[mesh_id]) _mesh_node_searchers[mesh_id].reset( - new MeshGeoToolsLib::MeshNodeSearcher(mesh)); + new MeshGeoToolsLib::MeshNodeSearcher(mesh, + search_length_algorithm)); return *_mesh_node_searchers[mesh_id]; } diff --git a/MeshGeoToolsLib/MeshNodeSearcher.h b/MeshGeoToolsLib/MeshNodeSearcher.h index fdd432e4039a0c4c755be33de9bfb6596d67cbcd..a0093aaca7f1d35621ab476cad975b0f4d2a2aed 100644 --- a/MeshGeoToolsLib/MeshNodeSearcher.h +++ b/MeshGeoToolsLib/MeshNodeSearcher.h @@ -59,9 +59,9 @@ public: * @param search_all_nodes switch between searching all mesh nodes and * searching the base nodes. */ - explicit MeshNodeSearcher(MeshLib::Mesh const& mesh, - MeshGeoToolsLib::SearchLength const& search_length_algorithm - = MeshGeoToolsLib::SearchLength(), + MeshNodeSearcher( + MeshLib::Mesh const& mesh, + MeshGeoToolsLib::SearchLength const& search_length_algorithm, bool search_all_nodes = true); virtual ~MeshNodeSearcher(); @@ -133,7 +133,10 @@ public: * Returns a (possibly new) mesh node searcher for the mesh. * A new one will be created, if it does not already exists. */ - static MeshNodeSearcher& getMeshNodeSearcher(MeshLib::Mesh const& mesh); + static MeshNodeSearcher& getMeshNodeSearcher( + MeshLib::Mesh const& mesh, + MeshGeoToolsLib::SearchLength const& search_length_algorithm = + MeshGeoToolsLib::SearchLength()); private: MeshLib::Mesh const& _mesh; diff --git a/ProcessLib/BoundaryCondition/BoundaryCondition.cpp b/ProcessLib/BoundaryCondition/BoundaryCondition.cpp index f239698e7c94b8b3fe696c9ebec930f9f69e21d0..99caf1eed1fa346ae1baab289302feded966d1c5 100644 --- a/ProcessLib/BoundaryCondition/BoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/BoundaryCondition.cpp @@ -25,8 +25,11 @@ std::unique_ptr<BoundaryCondition> BoundaryConditionBuilder::createBoundaryCondi const unsigned shapefunction_order, const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters) { + MeshGeoToolsLib::SearchLength search_length_algorithm; + MeshGeoToolsLib::MeshNodeSearcher& mesh_node_searcher = - MeshGeoToolsLib::MeshNodeSearcher::getMeshNodeSearcher(mesh); + MeshGeoToolsLib::MeshNodeSearcher::getMeshNodeSearcher( + mesh, search_length_algorithm); MeshGeoToolsLib::BoundaryElementsSearcher boundary_element_searcher( mesh, mesh_node_searcher);