World Ocean Simulation System (WOSS) library
WossWpPosition Class Reference

#include <uw-woss-waypoint-position.h>

Inheritance diagram for WossWpPosition:
Inheritance graph
Collaboration diagram for WossWpPosition:
Collaboration graph

Classes

class  WayPoint

Public Member Functions

 WossWpPosition ()
virtual ~WossWpPosition () override=default
virtual int command (int argc, const char *const *argv) override
virtual bool isEquivalentTo (const woss::CoordZ &coordz) override
virtual woss::CoordZ getLocation () override
virtual double getVerticalOrientation () override
virtual double getBearing () override
virtual double getSpeed ()
Public Member Functions inherited from WossPosition
 WossPosition (double latitude, double longitude, double depth=0, double dist=woss::LOCATION_COMPARISON_DISTANCE)
 WossPosition (const woss::CoordZ &coordz=woss::CoordZ(), double dist=woss::LOCATION_COMPARISON_DISTANCE)
virtual ~WossPosition () override=default
virtual std::unique_ptr< Locationcreate (double latitude, double longitude, double depth=0, double dist=woss::LOCATION_COMPARISON_DISTANCE) const
virtual std::unique_ptr< Locationcreate (const woss::CoordZ &coordz=woss::CoordZ(), double dist=woss::LOCATION_COMPARISON_DISTANCE) const
virtual std::unique_ptr< Locationclone () const
virtual void setLatitude (double val)
virtual void setLongitude (double val)
virtual void setDepth (double val)
virtual void setAltitude (double val)
virtual void setMinVerticalOrientation (double val)
virtual void setMaxVerticalOrientation (double val)
virtual void setX (double val)
virtual void setY (double val)
virtual void setZ (double val)
virtual double getX ()
virtual double getY ()
virtual double getZ ()
virtual double getLatitude ()
virtual double getLongitude ()
virtual double getDepth ()
virtual double getAltitude ()
virtual double getMinVerticalOrientation ()
virtual double getMaxVerticalOrientation ()
Public Member Functions inherited from woss::Location
 Location (const CoordZ &coordz=CoordZ(), double dist=LOCATION_COMPARISON_DISTANCE)
 Location (double latitude, double longitude, double depth=0, double dist=LOCATION_COMPARISON_DISTANCE)
 Location (const Location &copy)=default
 Location (Location &&tmp)=default
virtual ~Location ()=default
Locationoperator= (const Location &copy)=default
Locationoperator= (Location &&tmp)=default
virtual bool isValid () const
virtual void setLocation (const CoordZ &coordz)
virtual void setVerticalOrientation (double angle)
virtual void setHorizontalOrientation (double angle)
virtual double getHorizontalOrientation ()

Protected Types

using WayPointVect = std::vector< WayPoint >
using TimeIdMap = std::map< double, int >
using TIMIter = TimeIdMap::iterator
using TIMRIter = TimeIdMap::reverse_iterator

Protected Member Functions

virtual void update (double now)
virtual void updateVerticalOrientation (const woss::CoordZ &prev, const woss::CoordZ &curr)
virtual void updateBearing (const woss::CoordZ &prev, const woss::CoordZ &curr)
virtual double addWayPoint (const WayPoint &waypoint)
virtual double addLoopPoint (const WayPoint &waypoint)

Protected Attributes

double time_threshold
double last_time_update
double current_speed
WayPointVect waypoint_vect
TimeIdMap timeid_map
Protected Attributes inherited from WossPosition
double min_vertical_orientation
double max_vertical_orientation
Protected Attributes inherited from woss::Location
double comparison_distance
CoordZ curr_coordz
double vertical_orientation
double horizontal_orientation
double bearing

Member Typedef Documentation

◆ TimeIdMap

using WossWpPosition::TimeIdMap = std::map< double, int >
protected

◆ TIMIter

using WossWpPosition::TIMIter = TimeIdMap::iterator
protected

◆ TIMRIter

using WossWpPosition::TIMRIter = TimeIdMap::reverse_iterator
protected

◆ WayPointVect

using WossWpPosition::WayPointVect = std::vector< WayPoint >
protected

Constructor & Destructor Documentation

◆ WossWpPosition()

WossWpPosition::WossWpPosition ( )

◆ ~WossWpPosition()

virtual WossWpPosition::~WossWpPosition ( )
overridevirtualdefault

Member Function Documentation

◆ addLoopPoint()

double WossWpPosition::addLoopPoint ( const WayPoint & waypoint)
protectedvirtual

◆ addWayPoint()

double WossWpPosition::addWayPoint ( const WayPoint & waypoint)
protectedvirtual

References timeid_map, and waypoint_vect.

Referenced by addLoopPoint(), and command().

◆ command()

int WossWpPosition::command ( int argc,
const char *const * argv )
overridevirtual

◆ getBearing()

double WossWpPosition::getBearing ( )
overridevirtual

Gets current bearing in [-pi,pi]

Returns
bearing [dec degrees]

Reimplemented from woss::Location.

References woss::Location::bearing, last_time_update, time_threshold, and update().

Here is the call graph for this function:

◆ getLocation()

woss::CoordZ WossWpPosition::getLocation ( )
overridevirtual

Gets current coordinates

Returns
valid woss::CoordZ

Reimplemented from woss::Location.

References woss::Location::getLocation(), last_time_update, time_threshold, and update().

Here is the call graph for this function:

◆ getSpeed()

double WossWpPosition::getSpeed ( )
virtual

References current_speed, last_time_update, time_threshold, and update().

Here is the call graph for this function:

◆ getVerticalOrientation()

double WossWpPosition::getVerticalOrientation ( )
overridevirtual

Gets current vertical orientation from reference line (0 degrees = parallel to sea surface / bottom ). Negative values are towards the surface, while positive ones are towards sea bottom

Returns
difference angle [dec degrees]

Reimplemented from woss::Location.

References last_time_update, time_threshold, update(), and woss::Location::vertical_orientation.

Here is the call graph for this function:

◆ isEquivalentTo()

bool WossWpPosition::isEquivalentTo ( const woss::CoordZ & coordz)
overridevirtual

Checks if the woss::CoordZ given is equivalent to this Location

Parameters
coordzvalid woss::CoordZ to check
Returns
true if assumption is valid, false otherwise

Reimplemented from woss::Location.

References woss::Location::comparison_distance, and woss::Location::curr_coordz.

◆ update()

void WossWpPosition::update ( double now)
protectedvirtual

◆ updateBearing()

void WossWpPosition::updateBearing ( const woss::CoordZ & prev,
const woss::CoordZ & curr )
protectedvirtual

References woss::Location::bearing, and woss::Coord::getInitialBearing().

Referenced by update().

Here is the call graph for this function:

◆ updateVerticalOrientation()

void WossWpPosition::updateVerticalOrientation ( const woss::CoordZ & prev,
const woss::CoordZ & curr )
protectedvirtual

Member Data Documentation

◆ current_speed

double WossWpPosition::current_speed
protected

Referenced by getSpeed(), update(), and WossWpPosition().

◆ last_time_update

double WossWpPosition::last_time_update
protected

◆ time_threshold

double WossWpPosition::time_threshold
protected

◆ timeid_map

TimeIdMap WossWpPosition::timeid_map
protected

Referenced by addWayPoint(), update(), and WossWpPosition().

◆ waypoint_vect

WayPointVect WossWpPosition::waypoint_vect
protected

The documentation for this class was generated from the following files: