Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
geoops::Waypoint Struct Reference

This struct is used by the WaypointHandler class to store location, size, and type information about a given location of interest of waypoint. More...

#include <GeospatialOperations.hpp>

Collaboration diagram for geoops::Waypoint:

Public Member Functions

 Waypoint (const geoops::GPSCoordinate &stGPSLocation=geoops::GPSCoordinate(), const WaypointType &eType=WaypointType::eUNKNOWN, const double dRadius=0.0, const int nID=-1)
 Construct a new Waypoint object.
 
 Waypoint (const geoops::UTMCoordinate &stUTMLocation, const WaypointType &eType=WaypointType::eUNKNOWN, const double dRadius=0.0, const int nID=-1)
 Construct a new Waypoint object.
 
const geoops::GPSCoordinateGetGPSCoordinate () const
 Accessor for the geoops::GPSCoordinate member variable.
 
const geoops::UTMCoordinateGetUTMCoordinate () const
 Accessor for the geoops::UTMCoordinate member variable.
 
bool operator== (const Waypoint &stOtherWaypoint) const
 Overridden operator equals for Waypoint struct.
 
bool operator!= (const Waypoint &stOtherWaypoint) const
 Overridden operator equals for Waypoint struct.
 

Public Attributes

WaypointType eType
 
double dRadius
 
int nID
 

Private Attributes

geoops::GPSCoordinate stGPSLocation
 
geoops::UTMCoordinate stUTMLocation
 

Detailed Description

This struct is used by the WaypointHandler class to store location, size, and type information about a given location of interest of waypoint.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-02

Constructor & Destructor Documentation

◆ Waypoint() [1/2]

geoops::Waypoint::Waypoint ( const geoops::GPSCoordinate stGPSLocation = geoops::GPSCoordinate(),
const WaypointType &  eType = WaypointType::eUNKNOWN,
const double  dRadius = 0.0,
const int  nID = -1 
)
inline

Construct a new Waypoint object.

Parameters
stGPSLocation- The location of this waypoint stored in a geoops namespace GPSCoordinate struct.
eType- The waypoint type. Navigation, Intermediate, Tag, Object, etc.
dRadius- The size of the waypoint. This is mainly only useful for objects or when you want the rover to just go to a general area.
Note
This will also store the equivalent UTM coordinate.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-02
581 {
582 // Initialize member variables.
583 this->stGPSLocation = stGPSLocation;
584 this->stUTMLocation = geoops::ConvertGPSToUTM(stGPSLocation);
585 this->eType = eType;
586 this->dRadius = dRadius;
587 this->nID = nID;
588 }
UTMCoordinate ConvertGPSToUTM(const GPSCoordinate &stGPSCoord)
Given a GPS coordinate, convert to UTM and create a new UTMCoordinate object.
Definition GeospatialOperations.hpp:351
Here is the call graph for this function:

◆ Waypoint() [2/2]

geoops::Waypoint::Waypoint ( const geoops::UTMCoordinate stUTMLocation,
const WaypointType &  eType = WaypointType::eUNKNOWN,
const double  dRadius = 0.0,
const int  nID = -1 
)
inline

Construct a new Waypoint object.

Parameters
stUTMLocation- The location of this waypoint stored in a geoops namespace UTMCoordinate struct.
eType- The waypoint type. Navigation, Intermediate, Tag, Object, etc.
dRadius- The size of the waypoint. This is mainly only useful for objects or when you want the rover to just go to a general area.
Note
This will also store the equivalent GPS coordinate.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-02
605 {
606 // Initialize member variables.
607 this->stUTMLocation = stUTMLocation;
608 this->stGPSLocation = geoops::ConvertUTMToGPS(stUTMLocation);
609 this->eType = eType;
610 this->dRadius = dRadius;
611 this->nID = nID;
612 }
GPSCoordinate ConvertUTMToGPS(const UTMCoordinate &stUTMCoord)
Given a UTM coordinate, convert to GPS and create a new GPSCoordinate object.
Definition GeospatialOperations.hpp:396
Here is the call graph for this function:

Member Function Documentation

◆ GetGPSCoordinate()

const geoops::GPSCoordinate & geoops::Waypoint::GetGPSCoordinate ( ) const
inline

Accessor for the geoops::GPSCoordinate member variable.

Returns
geoops::GPSCoordinate - The location of the waypoint stored in a geoops namespace GPSCoordinate struct.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-02
623{ return stGPSLocation; }
Here is the caller graph for this function:

◆ GetUTMCoordinate()

const geoops::UTMCoordinate & geoops::Waypoint::GetUTMCoordinate ( ) const
inline

Accessor for the geoops::UTMCoordinate member variable.

Returns
geoops::UTMCoordinate - The location of the waypoint stored in a geoops namespace UTMCoordinate struct.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-02
634{ return stUTMLocation; }
Here is the caller graph for this function:

◆ operator==()

bool geoops::Waypoint::operator== ( const Waypoint stOtherWaypoint) const
inline

Overridden operator equals for Waypoint struct.

Parameters
stOtherWaypoint- The other Waypoint struct we are comparing to.
Returns
true - The two Waypoints are equal.
false - The two Waypoints are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-04
647 {
648 // Check if location, altitude, and accuracy are the same. Not going to worry about other values for now.
649 return (stGPSLocation == stOtherWaypoint.stGPSLocation && stUTMLocation == stOtherWaypoint.stUTMLocation && eType == stOtherWaypoint.eType &&
650 dRadius == stOtherWaypoint.dRadius && nID == stOtherWaypoint.nID);
651 }
Here is the caller graph for this function:

◆ operator!=()

bool geoops::Waypoint::operator!= ( const Waypoint stOtherWaypoint) const
inline

Overridden operator equals for Waypoint struct.

Parameters
stOtherWaypoint- The other Waypoint struct we are comparing to.
Returns
true - The two Waypoints are equal.
false - The two Waypoints are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-03-18
663{ return !this->operator==(stOtherWaypoint); }
bool operator==(const Waypoint &stOtherWaypoint) const
Overridden operator equals for Waypoint struct.
Definition GeospatialOperations.hpp:646
Here is the call graph for this function:

The documentation for this struct was generated from the following file: