57 std::vector<GeoLib::Raster const*>
const& rasters,
58 double minimum_thickness,
59 double noDataReplacementValue = 0.0)
final;
79 std::vector<GeoLib::Raster const*>
const& rasters,
80 double minimum_thickness,
81 double noDataReplacementValue) = 0;
84 std::unique_ptr<MeshLib::Mesh>
getMesh(std::string
const& mesh_name)
const;
110 std::size_t new_node_id)
const;
Class Raster is used for managing raster data.
Base class for creation of 3D subsurface meshes based on raster data.
virtual bool createLayers(MeshLib::Mesh const &mesh, std::vector< GeoLib::Raster const * > const &rasters, double minimum_thickness, double noDataReplacementValue=0.0) final
virtual ~LayeredMeshGenerator()=default
double _minimum_thickness
virtual void addLayerToMesh(MeshLib::Mesh const &mesh_layer, unsigned layer_id, GeoLib::Raster const &raster)=0
Adds another layer to the subsurface mesh.
std::vector< int > _materials
double _elevation_epsilon
static double calcEpsilon(GeoLib::Raster const &low, GeoLib::Raster const &high)
Calculates a data-dependent epsilon value.
MeshLib::Node * getNewLayerNode(MeshLib::Node const &dem_node, MeshLib::Node const &last_layer_node, GeoLib::Raster const &raster, std::size_t new_node_id) const
std::vector< MeshLib::Node * > _nodes
LayeredMeshGenerator()=default
virtual bool createRasterLayers(MeshLib::Mesh const &mesh, std::vector< GeoLib::Raster const * > const &rasters, double minimum_thickness, double noDataReplacementValue)=0
std::unique_ptr< MeshLib::Mesh > getMesh(std::string const &mesh_name) const
Returns a mesh of the subsurface representation.
std::vector< MeshLib::Element * > _elements