sk.robotics.rlcs.data
Class Position

java.lang.Object
  extended by sk.robotics.rlcs.data.Position
All Implemented Interfaces:
com.microstepmis.xplatform.CustomXmlMappable, java.lang.Comparable<Position>
Direct Known Subclasses:
TimedPosition

public class Position
extends java.lang.Object
implements java.lang.Comparable<Position>, com.microstepmis.xplatform.CustomXmlMappable

Robot position - [x,y] position, and heading (0..2pi). Objects of this class are immutable.


Nested Class Summary
 class Position.XmlMappable
           
 
Constructor Summary
Position(double x, double y, double h)
           
Position(java.lang.String pos)
          Contructs position from string returned by Robot.pos().
 
Method Summary
 java.awt.geom.Point2D asPoint2D()
          Get the position as Point2D (without heading).
 int compareTo(Position p)
           
 double directionTo(java.awt.geom.Point2D p)
           
static double directionTo(java.awt.geom.Point2D p1, java.awt.geom.Point2D p2)
           
 double directionTo(Position p)
          Computes direction to another point.
 double distance(java.awt.geom.Point2D p)
          Computes distance from another point.
 double distance(Position p)
           
 boolean equals(java.lang.Object o)
           
 double getHeading()
           
 double getPosX()
           
 double getPosY()
           
 double getX()
           
 Position.XmlMappable getXmlMappable()
           
 double getY()
           
 int hashCode()
           
 double headingDiff(double h)
           
static double headingDiff(double h1, double h2)
           
 double headingDiff(Position p)
          Computes heading difference between 2 positions.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Position

public Position(double x,
                double y,
                double h)

Position

public Position(java.lang.String pos)
Contructs position from string returned by Robot.pos().

Method Detail

getPosX

public double getPosX()

getPosY

public double getPosY()

getHeading

public double getHeading()

getX

public double getX()

getY

public double getY()

asPoint2D

public java.awt.geom.Point2D asPoint2D()
Get the position as Point2D (without heading).


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(Position p)
Specified by:
compareTo in interface java.lang.Comparable<Position>

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

distance

public double distance(java.awt.geom.Point2D p)
Computes distance from another point.


distance

public double distance(Position p)

directionTo

public double directionTo(Position p)
Computes direction to another point.


directionTo

public double directionTo(java.awt.geom.Point2D p)

directionTo

public static double directionTo(java.awt.geom.Point2D p1,
                                 java.awt.geom.Point2D p2)

headingDiff

public double headingDiff(Position p)
Computes heading difference between 2 positions.

Returns:
heading direction from interval [-pi,pi]

headingDiff

public double headingDiff(double h)

headingDiff

public static double headingDiff(double h1,
                                 double h2)

getXmlMappable

public Position.XmlMappable getXmlMappable()
Specified by:
getXmlMappable in interface com.microstepmis.xplatform.CustomXmlMappable