OGS
StationBorehole.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 <list>
7#include <string>
8#include <vector>
9
10#include "Station.h"
11
12namespace GeoLib
13{
21{
22public:
24 explicit StationBorehole(double x,
25 double y,
26 double z,
27 double const depth,
28 const std::string& name,
29 int date);
30 ~StationBorehole() override;
31
33 static StationBorehole* createStation(const std::string& name,
34 double x,
35 double y,
36 double z,
37 double depth,
38 const std::string& date = "");
39
40 // Returns the depth of the borehole
41 double getDepth() const { return _depth; }
42
44 double getDate() const { return _date; }
45
48 const std::vector<Point*>& getProfile() const { return _profilePntVec; }
49
52 const std::vector<std::string>& getSoilNames() const { return _soilName; }
53
55 void setDepth(double depth) { _depth = depth; }
56
58 void addSoilLayer(double thickness, const std::string& soil_name);
59
70 void addSoilLayer(double x,
71 double y,
72 double z,
73 const std::string& soil_name);
74
75private:
76 double _depth{0}; // depth of the borehole
77 int _date{0}; // date when the borehole has been drilled
78
80 std::vector<std::string> _soilName;
81
83 std::vector<Point*> _profilePntVec;
84};
85
86bool isBorehole(GeoLib::Point const* pnt);
87
88} // namespace GeoLib
const std::vector< std::string > & getSoilNames() const
double getDate() const
Returns the date entry for the borehole.
static StationBorehole * createStation(const std::string &name, double x, double y, double z, double depth, const std::string &date="")
Creates a new borehole object based on the given parameters.
void addSoilLayer(double thickness, const std::string &soil_name)
Add a soil layer to the boreholes stratigraphy.
const std::vector< Point * > & getProfile() const
std::vector< Point * > _profilePntVec
Contains the points for the lower boundaries of all layers.
StationBorehole(double x, double y, double z, double const depth, const std::string &name, int date)
std::vector< std::string > _soilName
Contains the names for all the soil layers.
void setDepth(double depth)
Sets the depth of the borehole.
Station(double x=0.0, double y=0.0, double z=0.0, std::string name="")
Constructor.
Definition Station.cpp:14
bool isBorehole(GeoLib::Point const *pnt)