/** * \file * \date 2014-09-19 * \brief Base class for different search length strategies. * * \copyright * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license */ #pragma once namespace MeshGeoToolsLib { /// Base class for all SearchLength strategy implementations. /// The default implementation is mesh independent and provides a strong /// criterion for searching mesh nodes near a geometry. The algorithm can be /// used for meshes that have nearly equi-sized elements. class SearchLength { public: /// Constructor for SearchLength object with a default search length /// of 10 angstrom (\f$10^{-9}\f$ m) explicit SearchLength(double search_length = 1e-9) : _search_length(search_length) {} SearchLength(SearchLength const&) = default; SearchLength& operator=(SearchLength const&) = default; virtual ~SearchLength() = default; virtual double getSearchLength() const { return _search_length; } protected: double _search_length; }; } // end namespace MeshGeoToolsLib