package aima.core.robotics.impl.datatypes; import aima.core.robotics.datatypes.IMclMove; import aima.core.robotics.datatypes.IMclPose; /** * This interface describes functionality for a pose in a two-dimensional Cartesian plot. * * @author Arno von Borries * @author Jan Phillip Kretzschmar * @author Andreas Walscheid * * @param <P> the pose implementing {@code IPose2D}. * @param <M> a movement (or sequence of movements) of the robot, implementing {@link IMclMove}. */ public interface IPose2D<P extends IPose2D<P,M>,M extends IMclMove<M>> extends IMclPose<P,Angle,M> { /** * @return the X coordinate of the pose. */ double getX(); /** * @return the Y coordinate of the pose. */ double getY(); /** * @return the heading of the pose in radians. */ double getHeading(); }