package aima.gui.swing.applications.robotics.simple; import aima.core.robotics.impl.map.IPoseFactory; import aima.core.util.Util; import aima.core.util.math.geom.shapes.Point2D; /** * Implements {@link IPoseFactory} for the {@link SimplePose}.<br/> * As a specific limitation for the heading does not exist, that check always returns {@code true}. * * @author Arno von Borries * @author Jan Phillip Kretzschmar * @author Andreas Walscheid * */ public final class SimplePoseFactory implements IPoseFactory<SimplePose,SimpleMove> { @Override public SimplePose getPose(Point2D point) { return new SimplePose(point,Util.generateRandomDoubleBetween(0, 2*Math.PI)); } @Override public SimplePose getPose(Point2D point, double heading) { return new SimplePose(point,heading); } @Override public boolean isHeadingValid(SimplePose pose) { return true; } }