OGS
BoundaryElementsSearcher.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <vector>
7
8namespace GeoLib
9{
10struct GeoObject;
11class Point;
12class Polyline;
13class Surface;
14}
15
16namespace MeshLib
17{
18class Mesh;
19class Element;
20}
21
22namespace MeshGeoToolsLib
23{
28
34{
35public:
42 MeshNodeSearcher const& mshNodeSearcher);
43
46
55 std::vector<MeshLib::Element*> const& getBoundaryElements(
56 GeoLib::GeoObject const& geoObj, bool const multiple_nodes_allowed);
57
59
60private:
62 std::vector<BoundaryElementsAtPoint*> _boundary_elements_at_point;
63 std::vector<BoundaryElementsAlongPolyline*> _boundary_elements_along_polylines;
64 std::vector<BoundaryElementsOnSurface*> _boundary_elements_along_surfaces;
65};
66
67} // end namespace MeshGeoToolsLib
Class Polyline consists mainly of a reference to a point vector and a vector that stores the indices ...
Definition Polyline.h:29
A Surface is represented by Triangles. It consists of a reference to a vector of (pointers to) points...
This class collects point elements located at a given point elements.
BoundaryElementsSearcher(MeshLib::Mesh const &mesh, MeshNodeSearcher const &mshNodeSearcher)
std::vector< MeshLib::Element * > const & getBoundaryElements(GeoLib::GeoObject const &geoObj, bool const multiple_nodes_allowed)
std::vector< BoundaryElementsAlongPolyline * > _boundary_elements_along_polylines
std::vector< BoundaryElementsAtPoint * > _boundary_elements_at_point
std::vector< BoundaryElementsOnSurface * > _boundary_elements_along_surfaces