Aria: ArPose Class Reference

- Main Page
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# ArPose Class Reference

`#include <ariaUtil.h>`

Inheritance diagram for ArPose:

List of all members.

## Detailed Description

The class which represents an x/y position along with a heading.

This class represents a robot position with heading. The heading is automatically adjusted to be in the range -180 to 180. It also defaults to 0, and so does not need to be used. (This avoids having 2 types of positions.) Everything in the class is inline so it should be fast.

## Public Member Functions
| ArPose (const ArPose &pose)
| Copy Constructor.
| ArPose (double x=0, double y=0, double th=0)
| Constructor, with optional initial values.
virtual double | findAngleTo (ArPose position) const
| Finds the angle between this position and the given position.
virtual double | findDistanceTo (ArPose position) const
| Finds the distance from this position to the given position.
void | getPose (double *x, double *y, double *th=NULL) const
| Gets the whole position in one function call.
double | getTh (void) const
| Gets the heading.
double | getThRad (void) const
| Gets the heading, in radians.
double | getX (void) const
| Gets the x position.
double | getY (void) const
| Gets the y position.
virtual void | log (void) const
| Logs the coordinates using ArLog.
virtual bool | operator!= (const ArPose &other) const
virtual ArPose | operator+ (const ArPose &other) const
| Add the other pose's X, Y and theta to this pose's X, Y, and theta (sum in theta will be normalized to (-180,180)), and return the result.
ArPose & | operator+= (const ArPose &other)
virtual ArPose | operator- (const ArPose &other) const
| Substract the other pose's X, Y, and theta from this pose's X, Y, and theta (difference in theta will be normalized to (-180,180)), and return the result.
ArPose & | operator-= (const ArPose &other)
virtual bool | operator< (const ArPose &other) const
| Less than operator (for sets).
virtual bool | operator== (const ArPose &other) const
| Equality operator (for sets).
virtual void | setPose (ArPose position)
| Sets the position equal to the given position.
virtual void | setPose (double x, double y, double th=0)
| Sets the position to the given values.
void | setTh (double th)
| Sets the heading.
void | setThRad (double th)
| Sets the heading, using radians.
void | setX (double x)
| Sets the x position.
void | setY (double y)
| Sets the y position.
virtual double | squaredFindDistanceTo (ArPose position) const
| Finds the square distance from this position to the given position.
virtual | ~ArPose ()
| Destructor.
## Protected Attributes
double | myTh
double | myX
double | myY

## Constructor & Destructor Documentation

ArPose::ArPose | ( | double | x = `0`,
|  | double | y = `0`,
|  | double | th = `0` |
| ) |  |  | `[inline]`

Constructor, with optional initial values.

Sets the pose to the given values. The constructor can be called with no parameters, with just x and y, or with x, y, and th. The given heading (th) is automatically adjusted to be in the range -180 to 180.

Parameters:

  | x | the double to set the x position to, default of 0
  | y | the double to set the y position to, default of 0
  | th | the double value for the pose's heading (or th), default of 0

## Member Function Documentation

virtual double ArPose::findAngleTo | ( | ArPose | position | ) | const`[inline, virtual]`

Finds the angle between this position and the given position.

Parameters:

  | position | the position to find the angle to

Returns:
  the angle to the given position from this instance, in degrees

virtual double ArPose::findDistanceTo | ( | ArPose | position | ) | const`[inline, virtual]`

Finds the distance from this position to the given position.

Parameters:

  | position | the position to find the distance to

Returns:
  the distance to the position from this instance

void ArPose::getPose | ( | double * | x,
|  | double * | y,
|  | double * | th = `NULL` |
| ) |  |  | const`[inline]`

Gets the whole position in one function call.

Gets the whole position at once, by giving it 2 or 3 pointers to doubles. If you give the function a null pointer for a value it won't try to use the null pointer, so you can pass in a NULL if you don't care about that value. Also note that th defaults to NULL so you can use this with just x and y.

Parameters:

  | x | a pointer to a double to set the x position to
  | y | a pointer to a double to set the y position to
  | th | a pointer to a double to set the heading to, defaults to NULL

ArPose& ArPose::operator+= | ( | const ArPose & | other | ) | `[inline]`

Adds the given pose to this one.

Java and Python Wrappers: Not available in Java or Python wrapper libraries.

ArPose& ArPose::operator-= | ( | const ArPose & | other | ) | `[inline]`

Subtracts the given pose from this one.

Java and Python Wrappers: Not available in Java or Python wrapper libraries.

virtual void ArPose::setPose | ( | ArPose | position | ) | `[inline, virtual]`

Sets the position equal to the given position.

Parameters:

  | position | the position value this instance should be set to

virtual void ArPose::setPose | ( | double | x,
|  | double | y,
|  | double | th = `0` |
| ) |  |  | `[inline, virtual]`

Sets the position to the given values.

Sets the position with the given three values, but the theta does not need to be given as it defaults to 0.

Parameters:

  | x | the position to set the x position to
  | y | the position to set the y position to
  | th | the position to set the th position to, default of 0

virtual double ArPose::squaredFindDistanceTo | ( | ArPose | position | ) | const`[inline, virtual]`

Finds the square distance from this position to the given position.

This is only here for speed, if you aren't doing this thousands of times a second don't use this one use findDistanceTo

Parameters:

  | position | the position to find the distance to

Returns:
  the distance to the position from this instance

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

- ariaUtil.h