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 ( )

References time_threshold.

◆ ~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, woss::Location::curr_coordz, and woss::CoordZ::getCartDistance().

Here is the call graph for this function:

◆ 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(), and update().

◆ 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(), and update().

◆ waypoint_vect

WayPointVect WossWpPosition::waypoint_vect
protected

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