001: /*
002: * Waypoint.java
003: *
004: * Created on 10 November 2006, 09:53
005: *
006: * To change this template, choose Tools | Template Manager
007: * and open the template in the editor.
008: */
009:
010: package com.xoetrope.svg;
011:
012: import java.util.ArrayList;
013:
014: /**
015: *
016: *
017: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
018: * the GNU Public License (GPL), please see license.txt for more details. If
019: * you make commercial use of this software you must purchase a commercial
020: * license from Xoetrope.</p>
021: * <p> $Revision: 1.2 $</p>
022: */
023: public class XWaypoint {
024: protected String name;
025: protected XWaypoint parent;
026: protected ArrayList neighbours;
027: protected double x, y;
028: protected boolean visited;
029:
030: /**
031: * Creates a new instance of Waypoint
032: * @param name a <CODE>String</CODE> specifying the name of the waypoint.
033: */
034: public XWaypoint(String name) {
035: this .name = name;
036: neighbours = new ArrayList();
037: visited = false;
038: }
039:
040: /**
041: * Creates a new instance of Waypoint
042: * @param name a <CODE>String</CODE> specifying the name of the waypoint.
043: * @param x <CODE>double</CODE> specifying the x coordinate of the waypoint.
044: * @param y <CODE>double</CODE> specifying the y coordinate of the waypoint.
045: */
046: public XWaypoint(String name, double x, double y) {
047: this .name = name;
048: this .x = x;
049: this .y = y;
050: neighbours = new ArrayList();
051: visited = false;
052: }
053:
054: /**
055: * Set the location of the waypoint.
056: * x <code>double</code> specifying the x co-ordinate of the waypoint.
057: * y <code>double</code> specifying the y co-ordinate of the waypoint.
058: */
059: public void setLocation(double x, double y) {
060: this .x = x;
061: this .y = y;
062: }
063:
064: /**
065: * Return the name assigned to this waypoint.
066: */
067: public String getName() {
068: return name;
069: }
070:
071: /**
072: * Return the x co-ordinate of this waypoint.
073: */
074: public double getX() {
075: return x;
076: }
077:
078: /**
079: * Return the y co-ordinate of this waypoint.
080: */
081: public double getY() {
082: return y;
083: }
084:
085: /**
086: * Add a neighbour waypoint to this waypoint.
087: * w <code>Waypoint</code> object specifying the neighbouring waypoint.
088: */
089: public void addNeighbour(XWaypoint w) {
090: neighbours.add(w);
091: }
092:
093: /**
094: * Set the parent waypoint of the waypoint i.e a waypoint that hasa link to this waypoint.
095: * w <CODE>Waypoint</CODE> object specifying the parent waypoint.
096: */
097: public void setParent(XWaypoint w) {
098: this .parent = w;
099: }
100:
101: /**
102: * Returns an ArrayList of all the neighbouring waypoints of this waypoint.
103: */
104: public ArrayList getNeighbours() {
105: return neighbours;
106: }
107:
108: /**
109: * Returns the parent of this waypoint.
110: */
111: public XWaypoint getParent() {
112: return parent;
113: }
114: }
|