https://gitlab.opengeosys.org/ogs/ogs.git
Tip revision: fd4a698f3a915d403ab8740d1ab993355beb8d8c authored by Norbert Grunwald on 12 November 2020, 14:45:58 UTC
wip
wip
Tip revision: fd4a698
MeshNodesOnPoint.cpp
/**
* \file
* \copyright
* Copyright (c) 2012-2020, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*/
#include "MeshNodesOnPoint.h"
#include "MeshLib/Mesh.h"
namespace MeshGeoToolsLib
{
MeshNodesOnPoint::MeshNodesOnPoint(MeshLib::Mesh const& mesh,
GeoLib::Grid<MeshLib::Node> const& mesh_grid,
GeoLib::Point const& pnt,
double epsilon_radius,
SearchAllNodes search_all_nodes)
: _mesh(mesh), _pnt(pnt)
{
std::vector<std::size_t> vec_ids(
mesh_grid.getPointsInEpsilonEnvironment(pnt, epsilon_radius));
if (search_all_nodes == SearchAllNodes::Yes)
{
_msh_node_ids = vec_ids;
}
else
{
for (auto id : vec_ids)
{
if (mesh.isBaseNode(id))
{
_msh_node_ids.push_back(id);
}
}
}
}
} // end namespace MeshGeoToolsLib