Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages | Examples

ArPose Class Reference

#include <ariaUtil.h>

Inheritance diagram for ArPose:

ArPoseWithTime 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.

Examples:

gotoActionExample.cpp.


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.
ArPoseoperator+= (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.
ArPoseoperator-= (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:
Generated on Thu Jan 7 10:34:42 2010 for Aria by  doxygen 1.4.2