GAMS  1.4.0
gams::utility::GPSPosition Class Reference

A position in the global positioning system reference frame. More...

#include <GPSPosition.h>

Inheritance diagram for gams::utility::GPSPosition:
gams::utility::Position

Public Member Functions

 GPSPosition (const GPSPosition &position)
 Constructor. More...
 
 GPSPosition (const pose::Position &pos)
 
 GPSPosition (const Position &position)
 Constructor. More...
 
 GPSPosition (double init_lat=0.0, double init_lon=0.0, double init_alt=0.0)
 Constructor. More...
 
virtual ~GPSPosition ()
 Destructor. More...
 
double altitude () const
 Returns the altitude of the GPS coordinate. More...
 
void altitude (double input)
 Sets the altitude to the input. More...
 
bool approximately_equal (const GPSPosition &rhs, const double &epsilon) const
 Approximate equality. More...
 
bool approximately_equal (const Position &rhs, const double &epsilon) const
 Approximate equality. More...
 
bool approximately_equal_2d (const Position &rhs, const double &epsilon) const
 Approximate equality. More...
 
void direction_to (const GPSPosition &rhs, double &phi) const
 Get spherical direction to position. More...
 
void direction_to (const Position &rhs, double &phi, double &theta) const
 Get spherical direction to position. More...
 
double distance_to (const GPSPosition &rhs) const
 Get distance between two positions. More...
 
double distance_to (const Position &rhs) const
 Get distance between two positions. More...
 
virtual double distance_to_2d (const Position &end, const Position &check) const
 Get distance between a point and a line segment. More...
 
virtual double distance_to_2d (const Position &rhs) const
 
virtual double dot (const Position &p_2) const
 Dot product of two positions treated as vectors. More...
 
virtual void from_container (madara::knowledge::containers::DoubleArray &source)
 Helper function for copying values to a MADARA double array. More...
 
virtual void from_container (madara::knowledge::containers::NativeDoubleArray &source)
 Helper function for copying values to a MADARA double array. More...
 
virtual bool is_between_2d (const Position &end, const Position &check) const
 Deterime if a third point is inline and between another two points. More...
 
double latitude () const
 Returns the latitude of the GPS coordinate. More...
 
void latitude (double input)
 Sets the latitude to the input. More...
 
double longitude () const
 Returns the longitude of the GPS coordinate. More...
 
void longitude (double input)
 Sets the longitude to the input. More...
 
bool operator!= (const GPSPosition &rhs) const
 Inequality operator. More...
 
bool operator!= (const madara::knowledge::containers::DoubleArray &rhs) const
 Inequality operator. More...
 
bool operator!= (const madara::knowledge::containers::NativeDoubleArray &rhs) const
 Inequality operator. More...
 
bool operator!= (const Position &rhs) const
 Inequality operator. More...
 
bool operator< (const GPSPosition &rhs) const
 Ordering operator for sets. More...
 
bool operator< (const Position &rhs) const
 Less than used for ordering in stl containers. More...
 
void operator= (const GPSPosition &rhs)
 Assignment operator. More...
 
bool operator== (const GPSPosition &rhs) const
 Equality operator. More...
 
bool operator== (const madara::knowledge::containers::DoubleArray &rhs) const
 Equality operator. More...
 
bool operator== (const madara::knowledge::containers::NativeDoubleArray &rhs) const
 Equality operator. More...
 
bool operator== (const Position &rhs) const
 Equality operator. More...
 
virtual bool slope_2d (const Position &p, double &slope) const
 Get slope between two points. More...
 
virtual void to_container (madara::knowledge::containers::DoubleArray &target) const
 Helper function for copying values to a MADARA double array. More...
 
virtual void to_container (madara::knowledge::containers::NativeDoubleArray &target) const
 Helper function for copying values to a MADARA double array. More...
 
pose::Position to_gps_pos () const
 
pose::Position to_pos (const pose::ReferenceFrame &frame) const
 
virtual Position to_position (const GPSPosition &ref) const
 Convert to position using reference location. More...
 
std::string to_string (const std::string &delimiter=",") const
 Helper function for converting the position to a string. More...
 
std::string to_string (const std::string &delimiter=",", const unsigned int precision=8) const
 Helper function for converting the position to a string. More...
 

Static Public Member Functions

static Position from_record (const madara::knowledge::KnowledgeRecord &record)
 Helper function for creating a Position from a KnowledgeRecord. More...
 
static GPSPosition from_string (const std::string &delimiter=",")
 Helper function for creating a GPSPosition from a string. More...
 
static GPSPosition to_gps_position (const Position &source, const GPSPosition &ref)
 Convert source to a GPSPosition. More...
 

Public Attributes

double x
 the x coordinate(e.g. latitude) More...
 
double y
 the y coordinate(e.g. longitude) More...
 
double z
 the z coordinate(e.g. altitude) More...
 

Protected Member Functions

Position operator* (const double &scale) const
 Scale the position. More...
 
Position operator+ (const Position &rhs) const
 Addition operator performs element-wise addition. More...
 
Position operator- (const Position &rhs) const
 Subtraction operator performs element-wise subtraction. More...
 

Detailed Description

A position in the global positioning system reference frame.

DEPRECATED: use pose::Position instead. Will be removed in GAMS v2

Definition at line 77 of file GPSPosition.h.

Constructor & Destructor Documentation

◆ GPSPosition() [1/4]

gams::utility::GPSPosition::GPSPosition ( double  init_lat = 0.0,
double  init_lon = 0.0,
double  init_alt = 0.0 
)

Constructor.

Parameters
init_latthe initial latitude
init_lonthe initial longitude
init_altthe initial altitude

◆ GPSPosition() [2/4]

gams::utility::GPSPosition::GPSPosition ( const GPSPosition position)

Constructor.

◆ GPSPosition() [3/4]

gams::utility::GPSPosition::GPSPosition ( const Position position)

Constructor.

◆ GPSPosition() [4/4]

gams::utility::GPSPosition::GPSPosition ( const pose::Position pos)
inline

Definition at line 99 of file GPSPosition.h.

◆ ~GPSPosition()

virtual gams::utility::GPSPosition::~GPSPosition ( )
virtual

Destructor.

Member Function Documentation

◆ altitude() [1/2]

double gams::utility::GPSPosition::altitude ( ) const
inline

Returns the altitude of the GPS coordinate.

Definition at line 264 of file GPSPosition.h.

◆ altitude() [2/2]

void gams::utility::GPSPosition::altitude ( double  input)
inline

Sets the altitude to the input.

Definition at line 279 of file GPSPosition.h.

◆ approximately_equal() [1/2]

bool gams::utility::GPSPosition::approximately_equal ( const GPSPosition rhs,
const double &  epsilon 
) const

Approximate equality.

Parameters
rhsvalue to compare
epsilonapproximation value in meters
Returns
true if position is within distance epsilon of *this

◆ approximately_equal() [2/2]

bool gams::utility::Position::approximately_equal ( const Position rhs,
const double &  epsilon 
) const
inherited

Approximate equality.

Parameters
rhsvalue to compare
epsilonapproximation value
Returns
true if position is within epsilon in each direction of this

◆ approximately_equal_2d()

bool gams::utility::Position::approximately_equal_2d ( const Position rhs,
const double &  epsilon 
) const
inherited

Approximate equality.

Parameters
rhsvalue to compare
epsilonapproximation value
Returns
true if position is within epsilon in each direction of this

◆ direction_to() [1/2]

void gams::utility::GPSPosition::direction_to ( const GPSPosition rhs,
double &  phi 
) const

Get spherical direction to position.

Parameters
rhsother position
phidirection to rhs

◆ direction_to() [2/2]

void gams::utility::Position::direction_to ( const Position rhs,
double &  phi,
double &  theta 
) const
inherited

Get spherical direction to position.

Parameters
rhsother position
phidirection in x/y plane
thetadirection in z plane

◆ distance_to() [1/2]

double gams::utility::GPSPosition::distance_to ( const GPSPosition rhs) const

Get distance between two positions.

Parameters
rhssecond position
Returns
euclidean distance between the two points in meters

◆ distance_to() [2/2]

double gams::utility::Position::distance_to ( const Position rhs) const
inherited

Get distance between two positions.

Parameters
rhssecond position
Returns
euclidean distance between the two points

◆ distance_to_2d() [1/2]

virtual double gams::utility::Position::distance_to_2d ( const Position end,
const Position check 
) const
virtualinherited

Get distance between a point and a line segment.

Parameters
endend of line segment including *this
checkpoint to find distance for
Returns
distance from check to line including *this and end

◆ distance_to_2d() [2/2]

virtual double gams::utility::Position::distance_to_2d ( const Position rhs) const
virtualinherited
Parameters
rhssecond position
Returns
euclidean distance between the two points with just x and y

◆ dot()

virtual double gams::utility::Position::dot ( const Position p_2) const
virtualinherited

Dot product of two positions treated as vectors.

Parameters
p_2other position
Returns
dot product of the two positions

◆ from_container() [1/2]

virtual void gams::utility::GPSPosition::from_container ( madara::knowledge::containers::DoubleArray &  source)
virtual

Helper function for copying values to a MADARA double array.

Parameters
sourcesource container to copy values from

Reimplemented from gams::utility::Position.

◆ from_container() [2/2]

virtual void gams::utility::GPSPosition::from_container ( madara::knowledge::containers::NativeDoubleArray &  source)
virtual

Helper function for copying values to a MADARA double array.

Parameters
sourcesource container to copy values from

Reimplemented from gams::utility::Position.

◆ from_record()

static Position gams::utility::Position::from_record ( const madara::knowledge::KnowledgeRecord &  record)
staticinherited

Helper function for creating a Position from a KnowledgeRecord.

Parameters
recorda record containing a double array
Returns
the Position equivalent of the record

◆ from_string()

static GPSPosition gams::utility::GPSPosition::from_string ( const std::string &  delimiter = ",")
static

Helper function for creating a GPSPosition from a string.

Parameters
delimitercharacters to insert between position components

◆ is_between_2d()

virtual bool gams::utility::Position::is_between_2d ( const Position end,
const Position check 
) const
virtualinherited

Deterime if a third point is inline and between another two points.

Parameters
endsecond endpoint
checkpoint to check
Returns
true if check is inline and between *this and end

◆ latitude() [1/2]

double gams::utility::GPSPosition::latitude ( ) const
inline

Returns the latitude of the GPS coordinate.

Definition at line 254 of file GPSPosition.h.

◆ latitude() [2/2]

void gams::utility::GPSPosition::latitude ( double  input)
inline

Sets the latitude to the input.

Definition at line 269 of file GPSPosition.h.

◆ longitude() [1/2]

double gams::utility::GPSPosition::longitude ( ) const
inline

Returns the longitude of the GPS coordinate.

Definition at line 259 of file GPSPosition.h.

◆ longitude() [2/2]

void gams::utility::GPSPosition::longitude ( double  input)
inline

Sets the longitude to the input.

Definition at line 274 of file GPSPosition.h.

◆ operator!=() [1/4]

bool gams::utility::GPSPosition::operator!= ( const GPSPosition rhs) const

Inequality operator.

Parameters
rhsvalue to compare
Returns
true if any members are not equal in both objects, false otherwise

◆ operator!=() [2/4]

bool gams::utility::GPSPosition::operator!= ( const madara::knowledge::containers::DoubleArray &  rhs) const

Inequality operator.

Parameters
rhsvalue to compare
Returns
true if any members are not equal in both objects, false otherwise

◆ operator!=() [3/4]

bool gams::utility::GPSPosition::operator!= ( const madara::knowledge::containers::NativeDoubleArray &  rhs) const

Inequality operator.

Parameters
rhsvalue to compare
Returns
true if any members are not equal in both objects, false otherwise

◆ operator!=() [4/4]

bool gams::utility::Position::operator!= ( const Position rhs) const
inherited

Inequality operator.

Parameters
rhsvalue to compare
Returns
true if x, y, z are equal in both objects, false otherwise

◆ operator*()

Position gams::utility::Position::operator* ( const double &  scale) const
protectedinherited

Scale the position.

Parameters
scalefactor to scale by
Returns
scaled version of *this

◆ operator+()

Position gams::utility::Position::operator+ ( const Position rhs) const
protectedinherited

Addition operator performs element-wise addition.

Parameters
rhsvalue to add to *this
Returns
element-wise addition of *this and rhs

◆ operator-()

Position gams::utility::Position::operator- ( const Position rhs) const
protectedinherited

Subtraction operator performs element-wise subtraction.

Parameters
rhsvalue to subtract from *this
Returns
element-wise subtraction of rhs from *this

◆ operator<() [1/2]

bool gams::utility::GPSPosition::operator< ( const GPSPosition rhs) const

Ordering operator for sets.

◆ operator<() [2/2]

bool gams::utility::Position::operator< ( const Position rhs) const
inherited

Less than used for ordering in stl containers.

Parameters
rhscomparing position
Returns
true if *this is less than rhs

◆ operator=()

void gams::utility::GPSPosition::operator= ( const GPSPosition rhs)

Assignment operator.

Parameters
rhsvalues to copy

◆ operator==() [1/4]

bool gams::utility::GPSPosition::operator== ( const GPSPosition rhs) const

Equality operator.

Parameters
rhsvalue to compare
Returns
true if all members are equal in both objects, false otherwise

◆ operator==() [2/4]

bool gams::utility::GPSPosition::operator== ( const madara::knowledge::containers::DoubleArray &  rhs) const

Equality operator.

Parameters
rhsvalue to compare
Returns
true if all members are equal in both objects, false otherwise

◆ operator==() [3/4]

bool gams::utility::GPSPosition::operator== ( const madara::knowledge::containers::NativeDoubleArray &  rhs) const

Equality operator.

Parameters
rhsvalue to compare
Returns
true if all members are equal in both objects, false otherwise

◆ operator==() [4/4]

bool gams::utility::Position::operator== ( const Position rhs) const
inherited

Equality operator.

Parameters
rhsvalue to compare
Returns
true if x, y, z are equal in both objects, false otherwise

◆ slope_2d()

virtual bool gams::utility::Position::slope_2d ( const Position p,
double &  slope 
) const
virtualinherited

Get slope between two points.

Parameters
pother point
slopelocation to store slope between two points
Returns
true if slope exists

◆ to_container() [1/2]

virtual void gams::utility::GPSPosition::to_container ( madara::knowledge::containers::DoubleArray &  target) const
virtual

Helper function for copying values to a MADARA double array.

Parameters
targettarget container to copy values to

Reimplemented from gams::utility::Position.

◆ to_container() [2/2]

virtual void gams::utility::GPSPosition::to_container ( madara::knowledge::containers::NativeDoubleArray &  target) const
virtual

Helper function for copying values to a MADARA double array.

Parameters
targettarget container to copy values to

Reimplemented from gams::utility::Position.

◆ to_gps_pos()

pose::Position gams::utility::GPSPosition::to_gps_pos ( ) const
inline

Definition at line 102 of file GPSPosition.h.

◆ to_gps_position()

static GPSPosition gams::utility::GPSPosition::to_gps_position ( const Position source,
const GPSPosition ref 
)
static

Convert source to a GPSPosition.

Parameters
sourcesource position to convert
reforigin GPSPosition
Returns
GPSPosition corresponding to source

◆ to_pos()

pose::Position gams::utility::Position::to_pos ( const pose::ReferenceFrame frame) const
inlineinherited

Definition at line 98 of file Position.h.

◆ to_position()

virtual Position gams::utility::GPSPosition::to_position ( const GPSPosition ref) const
virtual

Convert to position using reference location.

Parameters
refReference location
Returns
Position object relative to ref

◆ to_string() [1/2]

std::string gams::utility::Position::to_string ( const std::string &  delimiter = ",") const
inherited

Helper function for converting the position to a string.

Parameters
delimitercharacters to insert between position components

◆ to_string() [2/2]

std::string gams::utility::GPSPosition::to_string ( const std::string &  delimiter = ",",
const unsigned int  precision = 8 
) const

Helper function for converting the position to a string.

Parameters
delimitercharacters to insert between position components
precisionprecision of doubles when printing coordinates

Member Data Documentation

◆ x

double gams::utility::Position::x
inherited

the x coordinate(e.g. latitude)

Definition at line 288 of file Position.h.

◆ y

double gams::utility::Position::y
inherited

the y coordinate(e.g. longitude)

Definition at line 291 of file Position.h.

◆ z

double gams::utility::Position::z
inherited

the z coordinate(e.g. altitude)

Definition at line 294 of file Position.h.


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