OGS
MeshLayerMapper.h
Go to the documentation of this file.
1
15#pragma once
16
18
19namespace MeshToolsLib
20{
21
26{
27public:
28 ~MeshLayerMapper() override = default;
29
43 MeshLib::Mesh const& mesh,
44 std::vector<float> const& layer_thickness_vector,
45 std::string const& mesh_name = "SubsurfaceMesh");
46
63 bool createRasterLayers(MeshLib::Mesh const& mesh,
64 std::vector<GeoLib::Raster const*> const& rasters,
65 double minimum_thickness,
66 double noDataReplacementValue = 0.0) override;
67
73 static bool layerMapping(MeshLib::Mesh const& mesh,
74 const GeoLib::Raster& raster,
75 double nodata_replacement = 0.0,
76 bool const ignore_nodata = false);
77
79 static bool mapToStaticValue(MeshLib::Mesh const& mesh, double value);
80
81private:
83 void addLayerToMesh(const MeshLib::Mesh& dem_mesh,
84 unsigned layer_id,
85 GeoLib::Raster const& raster) override;
86};
87
88} // namespace MeshToolsLib
Definition of the SubsurfaceMapper class.
Class Raster is used for managing raster data.
Definition Raster.h:49
Base class for creation of 3D subsurface meshes based on raster data.
Manipulating and adding prism element layers to an existing 2D mesh.
bool createRasterLayers(MeshLib::Mesh const &mesh, std::vector< GeoLib::Raster const * > const &rasters, double minimum_thickness, double noDataReplacementValue=0.0) override
static MeshLib::Mesh * createStaticLayers(MeshLib::Mesh const &mesh, std::vector< float > const &layer_thickness_vector, std::string const &mesh_name="SubsurfaceMesh")
~MeshLayerMapper() override=default
void addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned layer_id, GeoLib::Raster const &raster) override
Adds another layer to a subsurface mesh.
static bool layerMapping(MeshLib::Mesh const &mesh, const GeoLib::Raster &raster, double nodata_replacement=0.0, bool const ignore_nodata=false)
static bool mapToStaticValue(MeshLib::Mesh const &mesh, double value)
Maps the elevation of all mesh nodes to the specified static value.