OGS
StationBorehole.h
Go to the documentation of this file.
1
15#pragma once
16
17#include "Station.h"
18
19#include <list>
20#include <string>
21#include <vector>
22
23namespace GeoLib
24{
32{
33public:
35 explicit StationBorehole(double x,
36 double y,
37 double z,
38 double const depth,
39 const std::string& name,
40 int date);
41 ~StationBorehole() override;
42
44 static StationBorehole* createStation(const std::string& name,
45 double x,
46 double y,
47 double z,
48 double depth,
49 const std::string& date = "");
50
51 // Returns the depth of the borehole
52 double getDepth() const { return _depth; }
53
55 double getDate() const { return _date; }
56
59 const std::vector<Point*>& getProfile() const { return _profilePntVec; }
60
63 const std::vector<std::string>& getSoilNames() const { return _soilName; }
64
66 void setDepth(double depth) { _depth = depth; }
67
69 void addSoilLayer(double thickness, const std::string& soil_name);
70
81 void addSoilLayer(double x,
82 double y,
83 double z,
84 const std::string& soil_name);
85
86private:
87 double _depth{0}; // depth of the borehole
88 int _date{0}; // date when the borehole has been drilled
89
91 std::vector<std::string> _soilName;
92
94 std::vector<Point*> _profilePntVec;
95};
96
97bool isBorehole(GeoLib::Point const* pnt);
98
99} // namespace GeoLib
Definition of the Station class.
A borehole as a geometric object.
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.
std::vector< std::string > _soilName
Contains the names for all the soil layers.
void setDepth(double depth)
Sets the depth of the borehole.
A Station (observation site) is basically a Point with some additional information.
Definition: Station.h:37
bool isBorehole(GeoLib::Point const *pnt)