33#ifndef LOCATION_DEFINITIONS_H
34#define LOCATION_DEFINITIONS_H
45 static constexpr inline double LOCATION_COMPARISON_DISTANCE = (0.0);
70 Location(
double latitude,
double longitude,
double depth = 0,
double dist = LOCATION_COMPARISON_DISTANCE );
90 virtual std::unique_ptr<Location>
create(
double latitude,
double longitude,
double depth = 0,
double dist = LOCATION_COMPARISON_DISTANCE )
const {
91 return std::make_unique<Location>(latitude, longitude, depth, dist); }
99 virtual std::unique_ptr<Location>
create(
const CoordZ& coordz =
CoordZ(),
double dist = LOCATION_COMPARISON_DISTANCE )
const {
100 return std::make_unique<Location>(coordz,dist); }
106 virtual std::unique_ptr<Location>
clone()
const {
return std::make_unique<Location>(*
this); }
143 virtual void setDepth(
double depth );
187 virtual double getX();
193 virtual double getY();
199 virtual double getZ();
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:384
constexpr bool isValid() const
Definition coordinates-definitions.h:616
constexpr double getDepth() const
Definition coordinates-definitions.h:498
constexpr double getLongitude() const
Definition coordinates-definitions.h:167
constexpr double getLatitude() const
Definition coordinates-definitions.h:161
Class that stores the coordinates of moving entity.
Definition location-definitions.h:52
double bearing
Definition location-definitions.h:260
virtual void setVerticalOrientation(double angle)
Definition location-definitions.cpp:83
virtual void setLocation(const CoordZ &coordz)
Definition location-definitions.cpp:63
virtual std::unique_ptr< Location > clone() const
Definition location-definitions.h:106
virtual double getLongitude()
Definition location-definitions.cpp:104
double comparison_distance
Definition location-definitions.h:238
virtual double getY()
Definition location-definitions.cpp:122
virtual double getVerticalOrientation()
Definition location-definitions.cpp:134
virtual double getLatitude()
Definition location-definitions.cpp:98
virtual void setLatitude(double lat)
Definition location-definitions.cpp:68
virtual void setHorizontalOrientation(double angle)
Definition location-definitions.cpp:88
virtual double getX()
Definition location-definitions.cpp:116
virtual double getZ()
Definition location-definitions.cpp:128
virtual ~Location()=default
virtual bool isValid() const
Definition location-definitions.h:112
virtual void setLongitude(double lon)
Definition location-definitions.cpp:73
Location(Location &&tmp)=default
virtual std::unique_ptr< Location > create(const CoordZ &coordz=CoordZ(), double dist=LOCATION_COMPARISON_DISTANCE) const
Definition location-definitions.h:99
virtual double getHorizontalOrientation()
Definition location-definitions.cpp:139
virtual CoordZ getLocation()
Definition location-definitions.cpp:93
virtual double getBearing()
Definition location-definitions.cpp:144
double vertical_orientation
Definition location-definitions.h:249
friend std::ostream & operator<<(std::ostream &os, const Location &instance)
Definition location-definitions.h:227
virtual double getDepth()
Definition location-definitions.cpp:110
Location & operator=(const Location ©)=default
virtual bool isEquivalentTo(const woss::CoordZ &coordz)
Definition location-definitions.cpp:56
double horizontal_orientation
Definition location-definitions.h:255
virtual void setDepth(double depth)
Definition location-definitions.cpp:78
Location & operator=(Location &&tmp)=default
virtual std::unique_ptr< Location > create(double latitude, double longitude, double depth=0, double dist=LOCATION_COMPARISON_DISTANCE) const
Definition location-definitions.h:90
CoordZ curr_coordz
Definition location-definitions.h:243
Location(const Location ©)=default
Provides the interface for the woss::Coord and woss::CoordZ classes.
Definition ac-toolbox-arr-asc-reader.h:44