preCICE
Loading...
Searching...
No Matches
ReceivedMeshContext.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "MeshContext.hpp"
4#include "logging/Logger.hpp"
6#include "mesh/Vertex.hpp"
8#include "precice/span.hpp"
9
10#include <functional>
11#include <memory>
12#include <string>
13#include <string_view>
14#include <vector>
15
16namespace precice::impl {
17
21
24 bool allowDirectAccess = false;
25
31 std::shared_ptr<mesh::BoundingBox> userDefinedAccessRegion;
32
34 std::string receiveMeshFrom;
35
37 double safetyFactor = -1;
38
39 std::shared_ptr<precice::partition::ReceivedPartition> partition;
40
43
47 void checkVerticesInsideAccessRegion(precice::span<const double> coordinates, int meshDim, std::string_view functionName) const;
48
50 std::vector<std::reference_wrapper<const mesh::Vertex>> filterVerticesToLocalAccessRegion(bool requiresBB) const;
51
52 mutable logging::Logger _log{"impl::ReceivedMeshContext"};
53};
54
55} // namespace precice::impl
This class provides a lightweight logger.
Definition Logger.hpp:17
GeometricFilter
Defines the type of geometric filter used.
A C++ 11 implementation of the non-owning C++20 std::span type.
Definition span.hpp:284
Context for a mesh received from another participant.
bool allowDirectAccess
Members that only exist for received meshes (moved from MeshContext)
std::shared_ptr< precice::partition::ReceivedPartition > partition
partition::ReceivedPartition::GeometricFilter geoFilter
type of geometric filter
void checkVerticesInsideAccessRegion(precice::span< const double > coordinates, int meshDim, std::string_view functionName) const
std::shared_ptr< mesh::BoundingBox > userDefinedAccessRegion
std::vector< std::reference_wrapper< const mesh::Vertex > > filterVerticesToLocalAccessRegion(bool requiresBB) const
Filters vertices to those within the local access region.
std::string receiveMeshFrom
Name of participant that provides the mesh.
double safetyFactor
bounding box to speed up decomposition of received mesh is increased by this safety factor