World Ocean Simulation System (WOSS) library
uw-woss-position.h
Go to the documentation of this file.
1/* WOSS - World Ocean Simulation System -
2 *
3 * Copyright (C) 2009 2025 Federico Guerra
4 * and regents of the SIGNET lab, University of Padova
5 *
6 * Author: Federico Guerra - WOSS@guerra-tlc.com
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation;
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22
33#ifndef UNDERWATER_WOSS_POSITION_H
34#define UNDERWATER_WOSS_POSITION_H
35
36
38#include <node-core.h>
39
40
41class WossPosition : public Position, public woss::Location {
42
43
44 public:
45
46 WossPosition( double latitude, double longitude, double depth = 0, double dist = woss::LOCATION_COMPARISON_DISTANCE );
47
48 WossPosition( const woss::CoordZ& coordz = woss::CoordZ(), double dist = woss::LOCATION_COMPARISON_DISTANCE );
49
50 virtual ~WossPosition() override = default;
51
52 virtual std::unique_ptr<Location> create( double latitude, double longitude, double depth = 0, double dist = woss::LOCATION_COMPARISON_DISTANCE ) const {
53 return std::make_unique<WossPosition>(latitude, longitude, depth); }
54
55 virtual std::unique_ptr<Location> create( const woss::CoordZ& coordz = woss::CoordZ(), double dist = woss::LOCATION_COMPARISON_DISTANCE ) const {
56 return std::make_unique<WossPosition>( coordz, dist ); }
57
58 virtual std::unique_ptr<Location> clone() const { return std::make_unique<WossPosition>(*this); }
59
60 virtual int command(int argc, const char*const* argv) override;
61
62 virtual void setLatitude( double val );
63
64 virtual void setLongitude( double val );
65
66 virtual void setDepth( double val );
67
68 virtual void setAltitude( double val );
69
70
71 virtual void setMinVerticalOrientation( double val );
72
73 virtual void setMaxVerticalOrientation( double val );
74
75
76 virtual void setX( double val );
77
78 virtual void setY( double val );
79
80 virtual void setZ( double val );
81
82
83 virtual double getX();
84
85 virtual double getY();
86
87 virtual double getZ();
88
89
90 virtual double getLatitude();
91
92 virtual double getLongitude();
93
94 virtual double getDepth();
95
96 virtual double getAltitude();
97
98
99 virtual double getMinVerticalOrientation();
100
101 virtual double getMaxVerticalOrientation();
102
103
104 protected:
105
106
108
110
111};
112
113#endif // UNDERWATER_WOSS_POSITION_H
Definition uw-woss-position.h:41
virtual void setX(double val)
Definition uw-woss-position.cpp:108
virtual double getLongitude()
Definition uw-woss-position.cpp:156
virtual double getX()
Definition uw-woss-position.cpp:136
virtual double getZ()
Definition uw-woss-position.cpp:146
virtual void setLatitude(double val)
Definition uw-woss-position.cpp:84
virtual double getLatitude()
Definition uw-woss-position.cpp:151
virtual double getY()
Definition uw-woss-position.cpp:141
virtual std::unique_ptr< Location > create(const woss::CoordZ &coordz=woss::CoordZ(), double dist=woss::LOCATION_COMPARISON_DISTANCE) const
Definition uw-woss-position.h:55
virtual void setZ(double val)
Definition uw-woss-position.cpp:120
virtual double getAltitude()
Definition uw-woss-position.cpp:166
virtual void setMinVerticalOrientation(double val)
Definition uw-woss-position.cpp:126
virtual void setDepth(double val)
Definition uw-woss-position.cpp:96
virtual double getDepth()
Definition uw-woss-position.cpp:161
virtual std::unique_ptr< Location > create(double latitude, double longitude, double depth=0, double dist=woss::LOCATION_COMPARISON_DISTANCE) const
Definition uw-woss-position.h:52
virtual double getMaxVerticalOrientation()
Definition uw-woss-position.cpp:176
virtual void setAltitude(double val)
Definition uw-woss-position.cpp:102
double max_vertical_orientation
Definition uw-woss-position.h:109
virtual std::unique_ptr< Location > clone() const
Definition uw-woss-position.h:58
virtual void setMaxVerticalOrientation(double val)
Definition uw-woss-position.cpp:131
virtual void setY(double val)
Definition uw-woss-position.cpp:114
virtual int command(int argc, const char *const *argv) override
Definition uw-woss-position.cpp:181
virtual double getMinVerticalOrientation()
Definition uw-woss-position.cpp:171
double min_vertical_orientation
Definition uw-woss-position.h:107
virtual void setLongitude(double val)
Definition uw-woss-position.cpp:90
virtual ~WossPosition() override=default
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:384
Class that stores the coordinates of moving entity.
Definition location-definitions.h:52
Implementation of woss::Location class.