Revision 25dce784c7a2ed7ceaa6c3bff1859deb8aced674 authored by Dmitri Naumov on 27 April 2023, 16:25:34 UTC, committed by Dmitri Naumov on 04 May 2023, 07:20:35 UTC
The default is not sufficient to distinguish two
time points.

Fixes #3404.
1 parent 1e8d6cb
Raw File
SearchLength.h
/**
 * \file
 * \date 2014-09-19
 * \brief Base class for different search length strategies.
 *
 * \copyright
 * Copyright (c) 2012-2023, 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
back to top