OGS
MeshLayerMapper.h
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include "LayeredMeshGenerator.h"
18 
19 namespace MeshLib
20 {
21 
26 {
27 public:
28  ~MeshLayerMapper() override = default;
29 
40  static MeshLib::Mesh* createStaticLayers(MeshLib::Mesh const& mesh, std::vector<float> const& layer_thickness_vector, std::string const& mesh_name = "SubsurfaceMesh");
41 
52  bool createRasterLayers(MeshLib::Mesh const& mesh,
53  std::vector<GeoLib::Raster const*> const& rasters,
54  double minimum_thickness,
55  double noDataReplacementValue = 0.0) override;
56 
62  static bool layerMapping(MeshLib::Mesh const& mesh,
63  const GeoLib::Raster& raster,
64  double nodata_replacement = 0.0,
65  bool const ignore_nodata = false);
66 
68  static bool mapToStaticValue(MeshLib::Mesh const& mesh, double value);
69 
70 private:
72  void addLayerToMesh(const MeshLib::Mesh& dem_mesh,
73  unsigned layer_id,
74  GeoLib::Raster const& raster) override;
75 };
76 
77 } // end namespace MeshLib
Definition of the SubsurfaceMapper class.
Class Raster is used for managing raster data.
Definition: Raster.h:42
Base class for creation of 3D subsurface meshes based on raster data.
Manipulating and adding prism element layers to an existing 2D mesh.
void addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned layer_id, GeoLib::Raster const &raster) override
Adds another layer to a subsurface mesh.
static MeshLib::Mesh * createStaticLayers(MeshLib::Mesh const &mesh, std::vector< float > const &layer_thickness_vector, std::string const &mesh_name="SubsurfaceMesh")
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.
~MeshLayerMapper() override=default
bool createRasterLayers(MeshLib::Mesh const &mesh, std::vector< GeoLib::Raster const * > const &rasters, double minimum_thickness, double noDataReplacementValue=0.0) override