OGS
|
A borehole as a geometric object.
A borehole inherits Station but has some additional information such as a date, a borehole profile, etc.
Definition at line 31 of file StationBorehole.h.
#include <StationBorehole.h>
Public Member Functions | |
StationBorehole (double x, double y, double z, double const depth, const std::string &name, int date) | |
~StationBorehole () override | |
double | getDepth () const |
double | getDate () const |
Returns the date entry for the borehole. | |
const std::vector< Point * > & | getProfile () const |
const std::vector< std::string > & | getSoilNames () const |
void | setDepth (double depth) |
Sets the depth of the borehole. | |
void | addSoilLayer (double thickness, const std::string &soil_name) |
Add a soil layer to the boreholes stratigraphy. | |
void | addSoilLayer (double x, double y, double z, const std::string &soil_name) |
Public Member Functions inherited from GeoLib::Station | |
Station (double x=0.0, double y=0.0, double z=0.0, std::string name="") | |
Constructor. | |
Station (Point const *coords, std::string name="") | |
Station (Station const &src) | |
std::string const & | getName () const |
Returns the name of the station. | |
void | setName (std::string const &name) |
double | getStationValue () const |
Returns the specific value for this station. | |
void | setStationValue (double station_value) |
void | addSensorDataFromCSV (const std::string &file_name) |
Allows to add sensor data from a CSV file to the observation site. | |
const SensorData * | getSensorData () const |
Returns all the sensor data for this observation site. | |
Public Member Functions inherited from GeoLib::Point | |
Point ()=default | |
Point (double x1, double x2, double x3, std::size_t id=std::numeric_limits< std::size_t >::max()) | |
Point (MathLib::Point3d const &x, std::size_t id) | |
Point (std::array< double, 3 > const &x, std::size_t id=std::numeric_limits< std::size_t >::max()) | |
GEOTYPE | getGeoType () const override |
return a geometry type | |
Public Member Functions inherited from MathLib::Point3dWithID | |
Point3dWithID (double x0, double x1, double x2, std::size_t id=std::numeric_limits< std::size_t >::max()) | |
Point3dWithID (std::array< double, 3 > const &coords, std::size_t id=std::numeric_limits< std::size_t >::max()) | |
Point3dWithID (MathLib::Point3d const &pnt, std::size_t id=std::numeric_limits< std::size_t >::max()) | |
Point3dWithID () | |
std::size_t | getID () const |
Public Member Functions inherited from MathLib::Point3d | |
Point3d () | |
Point3d (std::array< double, 3 > x) | |
virtual | ~Point3d ()=default |
Point3d (Point3d const &)=default | |
Point3d & | operator= (Point3d const &)=default |
const double & | operator[] (std::size_t idx) const |
const access operator The access to the point coordinates is like the access to a field. Code example: | |
double & | operator[] (std::size_t idx) |
access operator (see book Effektiv C++ programmieren - subsection 1.3.2 ). | |
const double * | data () const |
double * | data () |
Eigen::Vector3d const & | asEigenVector3d () const |
Eigen::Vector3d & | asEigenVector3d () |
Public Member Functions inherited from GeoLib::GeoObject | |
virtual | ~GeoObject ()=default |
Static Public Member Functions | |
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. | |
Static Public Member Functions inherited from GeoLib::Station | |
static Station * | createStation (const std::string &line) |
static Station * | createStation (const std::string &name, double x, double y, double z) |
Creates a new station object based on the given parameters. | |
Private Attributes | |
double | _depth {0} |
int | _date {0} |
std::vector< std::string > | _soilName |
Contains the names for all the soil layers. | |
std::vector< Point * > | _profilePntVec |
Contains the points for the lower boundaries of all layers. | |
Additional Inherited Members | |
Protected Member Functions inherited from MathLib::Point3dWithID | |
void | setID (std::size_t id) |
Sets the ID of a node to the given value. | |
Protected Attributes inherited from GeoLib::Point | |
friend | PointVec |
|
explicit |
constructor initialises the borehole with the given coordinates
Definition at line 32 of file StationBorehole.cpp.
References _profilePntVec, and _soilName.
Referenced by createStation().
|
override |
Definition at line 42 of file StationBorehole.cpp.
References _profilePntVec.
void GeoLib::StationBorehole::addSoilLayer | ( | double | thickness, |
const std::string & | soil_name ) |
Add a soil layer to the boreholes stratigraphy.
Definition at line 67 of file StationBorehole.cpp.
References _profilePntVec, and addSoilLayer().
Referenced by addSoilLayer(), FileIO::GMSInterface::readBoreholesFromGMS(), and GeoLib::IO::XmlStnInterface::readStratigraphy().
void GeoLib::StationBorehole::addSoilLayer | ( | double | x, |
double | y, | ||
double | z, | ||
const std::string & | soil_name ) |
Add a soil layer to the boreholes stratigraphy. Note: The given coordinates always mark THE END of the soil layer. The reason behind this is that the beginning of the first layer is identical with the position of the borehole. For each layer following the beginning is already given by the end of the last layer. This also saves a separate entry in the profile vector for the end of the borehole which in the given notation is just the coordinate given for the last soil layer (i.e. the end of that layer).
Definition at line 97 of file StationBorehole.cpp.
References GeoLib::Point::Point(), _profilePntVec, and _soilName.
|
static |
Creates a new borehole object based on the given parameters.
Definition at line 52 of file StationBorehole.cpp.
References StationBorehole(), and BaseLib::xmlDate2int().
Referenced by FileIO::GMSInterface::readBoreholesFromGMS(), and GeoLib::IO::XmlStnInterface::readStations().
|
inline |
Returns the date entry for the borehole.
Definition at line 55 of file StationBorehole.h.
References _date.
Referenced by GeoLib::IO::XmlStnInterface::writeBoreholeData().
|
inline |
Definition at line 52 of file StationBorehole.h.
References _depth.
Referenced by StratScene::StratScene(), and GeoLib::IO::XmlStnInterface::writeBoreholeData().
|
inline |
Returns a reference to a vector of Points representing the stratigraphy of the borehole (incl. the station-point itself)
Definition at line 59 of file StationBorehole.h.
References _profilePntVec.
Referenced by StratScene::StratScene(), StratBar::paint(), StratBar::totalLogHeight(), GeoLib::IO::XmlStnInterface::writeBoreholeData(), and FileIO::GMSInterface::writeBoreholesToGMS().
|
inline |
Returns a reference to a vector of soil names for the stratigraphy of the borehole
Definition at line 63 of file StationBorehole.h.
References _soilName.
Referenced by StratScene::StratScene(), StratBar::paint(), and GeoLib::IO::XmlStnInterface::writeBoreholeData().
|
inline |
Sets the depth of the borehole.
Definition at line 66 of file StationBorehole.h.
References _depth.
Referenced by FileIO::GMSInterface::readBoreholesFromGMS().
|
private |
Definition at line 88 of file StationBorehole.h.
Referenced by getDate().
|
private |
Definition at line 87 of file StationBorehole.h.
Referenced by getDepth(), and setDepth().
|
private |
Contains the points for the lower boundaries of all layers.
Definition at line 94 of file StationBorehole.h.
Referenced by StationBorehole(), ~StationBorehole(), addSoilLayer(), addSoilLayer(), and getProfile().
|
private |
Contains the names for all the soil layers.
Definition at line 91 of file StationBorehole.h.
Referenced by StationBorehole(), addSoilLayer(), and getSoilNames().